]> git.joonet.de Git - adminer.git/commitdiff
Display select SQL edit form inline
authorJakub Vrana <jakub@vrana.cz>
Tue, 26 Mar 2013 17:11:35 +0000 (10:11 -0700)
committerJakub Vrana <jakub@vrana.cz>
Tue, 26 Mar 2013 17:11:35 +0000 (10:11 -0700)
adminer/include/adminer.inc.php
adminer/static/editing.js
changes.txt

index 579521076ee10bc00047e18989107d47e312744b..f29990ba1e7cf0d29827a0e1282e8e9ecd9f16c6 100644 (file)
@@ -164,8 +164,12 @@ username.form['auth[driver]'].onchange();
        * @return string
        */
        function selectQuery($query) {
-               global $jush;
-               return "<p><a href='" . h(remove_from_uri("page")) . "&amp;page=last' title='" . lang('Last page') . "'>&gt;&gt;</a> <code class='jush-$jush'>" . h(str_replace("\n", " ", $query)) . "</code> <a href='" . h(ME) . "sql=" . urlencode($query) . "'>" . lang('Edit') . "</a></p>\n"; // </p> - required for IE9 inline edit
+               global $jush, $token;
+               return "<form action='" . h(ME) . "sql=' method='post'><p>"
+                       . "<a href='" . h(remove_from_uri("page")) . "&amp;page=last' title='" . lang('Last page') . "'>&gt;&gt;</a> <span>"
+                       . "<code class='jush-$jush'>" . h(str_replace("\n", " ", $query)) . "</code>"
+                       . " <a href='" . h(ME) . "sql=" . urlencode($query) . "' onclick=\"return !selectEditSql(this.parentNode, '" . lang('Execute') . "');\">" . lang('Edit') . "</a>"
+                       . "</span><input type='hidden' name='token' value='$token'></p></form>\n"; // </p> - required for IE9 inline edit
        }
        
        /** Description of a row in a table
index e5d1271a993c1db4052e356f6fef5eefccae4592..e2abeb470dfa38dc1a23a233c286cae958b4a33e 100644 (file)
@@ -168,6 +168,26 @@ function selectFieldChange(form) {
        setHtml('noindex', (ok ? '' : '!'));
 }
 
+/** Create edit query form
+* @param HTMLSpanElement
+* @param string
+* @return boolean
+*/
+function selectEditSql(el, label) {
+       var sql = el.firstChild;
+       var input = document.createElement('input');
+       input.name = 'query';
+       input.value = sql.textContent || sql.innerText;
+       input.style.width = sql.offsetWidth + 'px';
+       el.innerHTML = '';
+       el.appendChild(input);
+       var submit = document.createElement('input');
+       submit.type = 'submit';
+       submit.value = label;
+       el.appendChild(submit);
+       return true;
+}
+
 
 
 var added = '.', rowCount;
index 551c0845a0c49f37ca50567515bb7381fea7593f..570da9eb91023ff486d2c0cb6428debb5fcd1391 100644 (file)
@@ -1,4 +1,5 @@
 Adminer 3.6.4-dev:
+Display select SQL edit form inline
 Compatibility with MySQL 5.6
 Recover original view, trigger, routine if creating fails
 Disable autocapitalize in identifiers