]> git.joonet.de Git - adminer.git/commitdiff
Move inline event handlers to <script>
authorJakub Vrana <jakub@vrana.cz>
Fri, 12 Jan 2018 11:42:30 +0000 (12:42 +0100)
committerJakub Vrana <jakub@vrana.cz>
Fri, 12 Jan 2018 16:09:41 +0000 (17:09 +0100)
adminer/include/adminer.inc.php
adminer/include/functions.inc.php
adminer/indexes.inc.php
adminer/static/editing.js

index 20637cc0aa06f045c16f5f766b4b3cda3f4bf31b..55711c0cac231da7e5f4c19f7c5a135e263e5299 100644 (file)
@@ -346,7 +346,7 @@ focus(qs('#username'));
                for ($i = 0; $i <= count($_GET["where"]); $i++) {
                        list(, $val) = each($_GET["where"]);
                        if (!$val || ("$val[col]$val[val]" != "" && in_array($val["op"], $this->operators))) {
-                               echo "<div>" . select_input(" name='where[$i][col]' onchange='$change_next'", $columns, $val["col"], "(" . lang('anywhere') . ")");
+                               echo "<div>" . select_input(" name='where[$i][col]' onchange='$change_next'", $columns, $val["col"], "", "(" . lang('anywhere') . ")");
                                echo html_select("where[$i][op]", $this->operators, $val["op"], $change_next);
                                echo "<input type='search' name='where[$i][val]' value='" . h($val["val"]) . "' onchange='" . ($val ? "selectFieldChange(this.form)" : "selectAddRow.call(this)") . ";' onkeydown='selectSearchKeydown.call(this, event);' onsearch='selectSearchSearch.call(this);'></div>\n";
                        }
index 8afff85bf6acb623ef52ef13c6e5f57a05213119..451bd2c8a1bd48c42cab682753aa65e702ac5f5f 100644 (file)
@@ -176,13 +176,15 @@ function html_select($name, $options, $value = "", $onchange = true, $labelled_b
 * @param array
 * @param string
 * @param string
+* @param string
 * @return string
 */
-function select_input($attrs, $options, $value = "", $placeholder = "") {
-       return ($options
-               ? "<select$attrs><option value=''>$placeholder" . optionlist($options, $value, true) . "</select>"
-               : "<input$attrs size='10' value='" . h($value) . "' placeholder='$placeholder'>"
-       );
+function select_input($attrs, $options, $value = "", $onchange = "", $placeholder = "") {
+       $tag = ($options ? "select" : "input");
+       return "<$tag$attrs" . ($options
+               ? "><option value=''>$placeholder" . optionlist($options, $value, true) . "</select>"
+               : " size='10' value='" . h($value) . "' placeholder='$placeholder'>"
+       ) . ($onchange ? "<script>qsl('$tag').onchange = $onchange;</script>" : "");
 }
 
 /** Get onclick confirmation
index 1e0f4fbaf7cc31cd9dd11a5f2b2e5bb2243cb235..da82ff21b3383e8b3c7a2dc8f1852bb63789d2c3 100644 (file)
@@ -120,9 +120,10 @@ foreach ($row["indexes"] as $index) {
                $i = 1;
                foreach ($index["columns"] as $key => $column) {
                        echo "<span>" . select_input(
-                               " name='indexes[$j][columns][$i]' onchange=\"" . ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . ".call(this, '" . h(js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_")) . "');\" title='" . lang('Column') . "'",
+                               " name='indexes[$j][columns][$i]' title='" . lang('Column') . "'",
                                ($fields ? array_combine($fields, $fields) : $fields),
-                               $column
+                               $column,
+                               "partial(" . ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . ", '" . js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_") . "')"
                        );
                        echo ($jush == "sql" || $jush == "mssql" ? "<input type='number' name='indexes[$j][lengths][$i]' class='size' value='" . h($index["lengths"][$key]) . "' title='" . lang('Length') . "'>" : "");
                        echo ($jush != "sql" ? checkbox("indexes[$j][descs][$i]", 1, $index["descs"][$key], lang('descending')) : "");
index 640f18375bea6be13a2738f7829919dc16b55319..3db7820f65432ee7cee30897d873d57d54420f5d 100644 (file)
@@ -458,7 +458,6 @@ function indexesChangeColumn(prefix) {
 */
 function indexesAddColumn(prefix) {
        var field = this;
-       field.onchange = partial(indexesChangeColumn, prefix);
        var select = field.form[field.name.replace(/\].*/, '][type]')];
        if (!select.selectedIndex) {
                while (selectValue(select) != "INDEX" && select.selectedIndex < select.options.length) {
@@ -472,7 +471,11 @@ function indexesAddColumn(prefix) {
                select = selects[i];
                select.name = select.name.replace(/\]\[\d+/, '$&1');
                select.selectedIndex = 0;
+               if (!i) {
+                       select.onchange = field.onchange;
+               }
        }
+       field.onchange = partial(indexesChangeColumn, prefix);
        var inputs = qsa('input', column);
        for (var i = 0; i < inputs.length; i++) {
                var input = inputs[i];