]> git.joonet.de Git - adminer.git/commitdiff
Move inline event handlers to <script>
authorJakub Vrana <jakub@vrana.cz>
Sat, 13 Jan 2018 08:34:01 +0000 (09:34 +0100)
committerJakub Vrana <jakub@vrana.cz>
Sat, 13 Jan 2018 08:34:01 +0000 (09:34 +0100)
plugins/email-table.php
plugins/slugify.php
plugins/tables-filter.php

index ef2f2760e4c40cc963607e14127513e2cf0df759..9be0d30a024c6002484058510a7a32ec0e434fce 100644 (file)
@@ -28,12 +28,19 @@ class AdminerEmailTable {
        function selectEmailPrint($emailFields, $columns) {
                if ($emailFields) {
                        print_fieldset("email", ('E-mail'));
-                       echo "<div onkeydown=\"return bodyKeydown(event, 'email');\">\n";
+                       echo "<div>\n";
+                       echo script("qsl('div').onkeydown = partial(bodyKeydown, 'email');");
                        echo "<p>" . ('From') . ": <input name='email_from' value='" . h($_POST ? $_POST["email_from"] : $_COOKIE["adminer_email"]) . "'>\n";
                        echo ('Subject') . ": <select name='email_id'><option>" . optionlist(get_key_vals("SELECT $this->id, $this->title FROM $this->table ORDER BY $this->title"), $_POST["email_id"], true) . "</select>\n";
-                       echo "<p>" . ('Attachments') . ": <input type='file' name='email_files[]' onchange=\"this.onchange = function () { }; var el = this.cloneNode(true); el.value = ''; this.parentNode.appendChild(el);\">";
+                       echo "<p>" . ('Attachments') . ": <input type='file' name='email_files[]'>";
+                       echo script("qsl('input').onchange = function () {
+       this.onchange = function () { };
+       var el = this.cloneNode(true);
+       el.value = '';
+       this.parentNode.appendChild(el);
+};");
                        echo "<p>" . (count($emailFields) == 1 ? '<input type="hidden" name="email_field" value="' . h(key($emailFields)) . '">' : html_select("email_field", $emailFields));
-                       echo "<input type='submit' name='email' value='" . ('Send') . "' onclick=\"return this.form['delete'].onclick();\">\n";
+                       echo "<input type='submit' name='email' value='" . ('Send') . "'>" . confirm();
                        echo "</div>\n";
                        echo "</div></fieldset>\n";
                        return true;
index a390dcc5043eee2ce45aff0dbe3dae1511bd99e7..fa7d9f56a324b003930772a43ab4e9f80a0452ef 100644 (file)
@@ -34,7 +34,16 @@ class AdminerSlugify {
                        }
                        $slug = $slugify[$field["field"]];
                        if ($slug !== null) {
-                               return "<input value='" . h($value) . "' maxlength='$field[length]' size='40'$attrs onchange=\"var find = '$this->from'; var repl = '$this->to'; this.form['fields[$slug]'].value = this.value.toLowerCase().replace(new RegExp('[' + find + ']', 'g'), function (str) { return repl[find.indexOf(str)]; }).replace(/[^a-z0-9_]+/g, '-').replace(/^-|-\$/g, '').substr(0, $field[length]);\">";
+                               return "<input value='" . h($value) . "' maxlength='$field[length]' size='40'$attrs>"
+                                       . script("qsl('input').onchange = function () {
+       var find = '$this->from';
+       var repl = '$this->to';
+       this.form['fields[$slug]'].value = this.value.toLowerCase()
+               .replace(new RegExp('[' + find + ']', 'g'), function (str) { return repl[find.indexOf(str)]; })
+               .replace(/[^a-z0-9_]+/g, '-')
+               .replace(/^-|-\$/g, '')
+               .substr(0, $field[length]);
+};");
                        }
                }
        }
index 37cb9b199d07ad01e89f54a67c0469cb54805373..773d4d9653a71a8495c8591dc19b0574c3713746 100644 (file)
@@ -8,9 +8,10 @@
 */
 class AdminerTablesFilter {
        function tablesPrint($tables) { ?>
-<p class="jsonly"><input id="filter-field" oninput="tablesFilterInput();" autocomplete="off">
-<ul id='tables' onmouseover='menuOver.call(this, event);' onmouseout='menuOut.call(this);'>
+<p class="jsonly"><input id="filter-field" autocomplete="off"><?php echo script("qs('#filter-field').oninput = tablesFilterInput;"); ?>
+<ul id='tables'>
 <?php
+echo script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");
 foreach ($tables as $table => $status) {
        echo '<li data-table-name="' . h($table) . '"><a href="' . h(ME) . 'select=' . urlencode($table) . '"' . bold($_GET["select"] == $table || $_GET["edit"] == $table, "select") . ">" . lang('select') . "</a> ";
        $name = h($status["Name"]);