HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/adminer/plugins/enum-types.php
<?php

/** Use <select><option> for enum edit instead of regular input text on enum type in PostgreSQL
 * @link https://www.adminer.org/plugins/#use
 * @author Adam KuĊ›mierz, http://kusmierz.be/
 * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
 * @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
 */
class AdminerEnumTypes {
	var $_types = null;

	function editInput($table, $field, $attrs, $value) {
		// PostgreSQL only
		if (!in_array(strtolower(connection()->extension), array('pgsql', 'pdo_pgsql'))) {
			return;
		}

		// read types and "cache" it
		if (is_null($this->_types)) {
			$types = types();
			$this->_types = array();

			foreach ($types as $type) {
				$values = get_vals("SELECT unnest(enum_range(NULL::$type))::text AS value");
				if (!empty($values) && is_array($values)) {
					$this->_types[$type] = $values;
				}
			}
		}

		if (array_key_exists($field["type"], $this->_types)) {
			$options = $this->_types[$field["type"]];
			$options = array_combine($options, $options);
			$selected = $value;

			if ($field["null"]) {
				$options = array("" => array("" => "NULL")) + $options;
				if ($value === null && !isset($_GET["select"])) {
					$selected = "";
				}
			}
			if (isset($_GET["select"])) {
				$options = array("" => array(-1 => lang('original'))) + $options;
			}

			return "<select$attrs>" . optionlist($options, (string) $selected, 1) . "</select>";
		}
	}

}