From f66a31135813ccb91047a5c64aa03aecb5e51770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Cap=C3=B3?= Date: Sun, 6 Apr 2025 20:00:30 +0200 Subject: [PATCH] update adminer and adapt plugins to new version --- .../AdminerEditForeign.php | 12 +- .../AdminerEnumOption.php | 6 +- .../AdminerFasterTablesFilter.php | 8 +- .../AdminerFrames.php | 0 .../AdminerJsonColumn.php | 2 +- .../AdminerLoginSqlite.php | 2 +- .../AdminerPrism.php | 8 +- .../AdminerReadableDates.php | 2 +- .../AdminerReadableTableSize.php | 2 +- .../AdminerSerializedColumn.php | 0 .../AdminerXMLColumn.php | 2 +- adminer.php | 2902 ++++++++--------- index.php | 28 +- plugin.php | 402 --- update.sh | 10 +- 15 files changed, 1411 insertions(+), 1975 deletions(-) rename {plugins => adminer-plugins}/AdminerEditForeign.php (71%) rename {plugins => adminer-plugins}/AdminerEnumOption.php (83%) rename plugins/FasterTablesFilter.php => adminer-plugins/AdminerFasterTablesFilter.php (93%) rename {plugins => adminer-plugins}/AdminerFrames.php (100%) rename {plugins => adminer-plugins}/AdminerJsonColumn.php (98%) rename {plugins => adminer-plugins}/AdminerLoginSqlite.php (94%) rename plugins/Prism.php => adminer-plugins/AdminerPrism.php (87%) rename {plugins => adminer-plugins}/AdminerReadableDates.php (95%) rename {plugins => adminer-plugins}/AdminerReadableTableSize.php (97%) rename {plugins => adminer-plugins}/AdminerSerializedColumn.php (100%) rename {plugins => adminer-plugins}/AdminerXMLColumn.php (97%) delete mode 100644 plugin.php diff --git a/plugins/AdminerEditForeign.php b/adminer-plugins/AdminerEditForeign.php similarity index 71% rename from plugins/AdminerEditForeign.php rename to adminer-plugins/AdminerEditForeign.php index 68eb2da..9e3cbbc 100644 --- a/plugins/AdminerEditForeign.php +++ b/adminer-plugins/AdminerEditForeign.php @@ -9,8 +9,8 @@ class AdminerEditForeign { var $_limit; - function __construct($limit = 0) { - $this->_limit = $limit; + function __construct() { + $this->_limit = 1000; } function editInput($table, $field, $attrs, $value) { @@ -18,7 +18,7 @@ class AdminerEditForeign { static $values = array(); $foreignKeys = &$foreignTables[$table]; if ($foreignKeys === null) { - $foreignKeys = column_foreign_keys($table); + $foreignKeys = Adminer\column_foreign_keys($table); } foreach ((array) $foreignKeys[$field["field"]] as $foreignKey) { if (count($foreignKey["source"]) == 1) { @@ -26,16 +26,16 @@ class AdminerEditForeign { $id = $foreignKey["target"][0]; $options = &$values[$target][$id]; if (!$options) { - $column = idf_escape($id); + $column = Adminer\idf_escape($id); if (preg_match('~binary~', $field["type"])) { $column = "HEX($column)"; } - $options = array("" => "") + get_vals("SELECT $column FROM " . table($target) . " ORDER BY 1" . ($this->_limit ? " LIMIT " . ($this->_limit + 1) : "")); + $options = array("" => "") + Adminer\get_vals("SELECT $column FROM " . Adminer\table($target) . " ORDER BY 1" . ($this->_limit ? " LIMIT " . ($this->_limit + 1) : "")); if ($this->_limit && count($options) - 1 > $this->_limit) { return; } } - return "" . optionlist($options, $value) . ""; + return "" . Adminer\optionlist($options, $value) . ""; } } } diff --git a/plugins/AdminerEnumOption.php b/adminer-plugins/AdminerEnumOption.php similarity index 83% rename from plugins/AdminerEnumOption.php rename to adminer-plugins/AdminerEnumOption.php index f34a783..0f26216 100644 --- a/plugins/AdminerEnumOption.php +++ b/adminer-plugins/AdminerEnumOption.php @@ -13,7 +13,7 @@ class AdminerEnumOption { $options = array(); $selected = $value; if (isset($_GET["select"])) { - $options[-1] = lang('original'); + $options[-1] = Adminer\lang('original'); if ($selected === null) { $selected = -1; } @@ -24,7 +24,7 @@ class AdminerEnumOption { $selected = ""; } } - $options[0] = lang('empty'); + $options[0] = Adminer\lang('empty'); preg_match_all("~'((?:[^']|'')*)'~", $field["length"], $matches); foreach ($matches[1] as $i => $val) { $val = stripcslashes(str_replace("''", "'", $val)); @@ -33,7 +33,7 @@ class AdminerEnumOption { $selected = $i + 1; } } - return "" . optionlist($options, (string) $selected, 1) . ""; // 1 - use keys + return "" . Adminer\optionlist($options, (string) $selected, 1) . ""; // 1 - use keys } } diff --git a/plugins/FasterTablesFilter.php b/adminer-plugins/AdminerFasterTablesFilter.php similarity index 93% rename from plugins/FasterTablesFilter.php rename to adminer-plugins/AdminerFasterTablesFilter.php index 3284ee7..28dc644 100644 --- a/plugins/FasterTablesFilter.php +++ b/adminer-plugins/AdminerFasterTablesFilter.php @@ -9,7 +9,7 @@ * * Modified 201802 - updated for Adminer 4.6.0 compatibility */ -class FasterTablesFilter { +class AdminerFasterTablesFilter { function tablesPrint($tables) { ?>

@@ -19,7 +19,7 @@ class FasterTablesFilter { }

- > + > function readCookie(name) { name = name.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); var regex = new RegExp('(?:^|;)\\s?' + name + '=(.*?)(?:;|$)','i'), @@ -53,9 +53,9 @@ class FasterTablesFilter { } var tables = [ $type) { echo "'".urlencode($table) ."'". ",";}?>]; var tempTables = tables; - var hMe = ""; + var hMe = ""; hMe = hMe.replace(/&/g, '&'); - var langSelect = ""; + var langSelect = ""; var filterCookie = readCookie('tableFilter'); var filter = document.getElementById("filter-field"); if(filterCookie!='') { diff --git a/plugins/AdminerFrames.php b/adminer-plugins/AdminerFrames.php similarity index 100% rename from plugins/AdminerFrames.php rename to adminer-plugins/AdminerFrames.php diff --git a/plugins/AdminerJsonColumn.php b/adminer-plugins/AdminerJsonColumn.php similarity index 98% rename from plugins/AdminerJsonColumn.php rename to adminer-plugins/AdminerJsonColumn.php index b5b0b7c..5906575 100644 --- a/plugins/AdminerJsonColumn.php +++ b/adminer-plugins/AdminerJsonColumn.php @@ -31,7 +31,7 @@ class AdminerJsonColumn ?> show as table
- - - > + + > // Prism.hooks.add('before-highlight', function (env) { // env.code = env.element.innerText; // }); diff --git a/plugins/AdminerReadableDates.php b/adminer-plugins/AdminerReadableDates.php similarity index 95% rename from plugins/AdminerReadableDates.php rename to adminer-plugins/AdminerReadableDates.php index 45228ee..fa52aa6 100644 --- a/plugins/AdminerReadableDates.php +++ b/adminer-plugins/AdminerReadableDates.php @@ -32,6 +32,6 @@ EOT; function head() { - echo script($this->prepend); + echo Adminer\script($this->prepend); } } \ No newline at end of file diff --git a/plugins/AdminerReadableTableSize.php b/adminer-plugins/AdminerReadableTableSize.php similarity index 97% rename from plugins/AdminerReadableTableSize.php rename to adminer-plugins/AdminerReadableTableSize.php index e7e204b..c381161 100644 --- a/plugins/AdminerReadableTableSize.php +++ b/adminer-plugins/AdminerReadableTableSize.php @@ -44,7 +44,7 @@ EOT; function head() { - echo script($this->prepend); + echo Adminer\script($this->prepend); } } diff --git a/plugins/AdminerSerializedColumn.php b/adminer-plugins/AdminerSerializedColumn.php similarity index 100% rename from plugins/AdminerSerializedColumn.php rename to adminer-plugins/AdminerSerializedColumn.php diff --git a/plugins/AdminerXMLColumn.php b/adminer-plugins/AdminerXMLColumn.php similarity index 97% rename from plugins/AdminerXMLColumn.php rename to adminer-plugins/AdminerXMLColumn.php index 523b457..2c08171 100644 --- a/plugins/AdminerXMLColumn.php +++ b/adminer-plugins/AdminerXMLColumn.php @@ -36,7 +36,7 @@ class AdminerXMLColumn ?> show as table
- $wi";}function -script_src($Qi){return"\n";}function -nonce(){return' nonce="'.get_nonce().'"';}function -target_blank(){return' target="_blank" rel="noreferrer noopener"';}function -h($P){return -str_replace("\0","�",htmlspecialchars($P,ENT_QUOTES,'utf-8'));}function -nl_br($P){return -str_replace("\n","
",$P);}function -checkbox($D,$Y,$eb,$oe="",$wf="",$ib="",$pe=""){$I="".($wf?script("qsl('input').onclick = function () { $wf };",""):"");return($oe!=""||$ib?"$I".h($oe)."":$I);}function -optionlist($Cf,$jh=null,$Ui=false){$I="";foreach($Cf -as$je=>$W){$Df=array($je=>$W);if(is_array($W)){$I.='';$Df=$W;}foreach($Df -as$y=>$X)$I.=''.h($X);if(is_array($W))$I.='';}return$I;}function -html_select($D,$Cf,$Y="",$vf=true,$pe=""){if($vf)return"".(is_string($vf)?script("qsl('select').onchange = function () { $vf };",""):"");$I="";foreach($Cf -as$y=>$X)$I.="";return$I;}function -select_input($Ja,$Cf,$Y="",$vf="",$ig=""){$bi=($Cf?"select":"input");return"<$bi$Ja".($Cf?">