diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 21733338..cf052a3c 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -124,7 +124,7 @@ function html_select($name, $options, $value = "", $onchange = true) { * @return null */ function textarea($name, $value, $rows = 10, $cols = 80) { - echo ""; // spellcheck - not valid before HTML5 + echo ""; // spellcheck - not valid before HTML5 } diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index 364c55d3..e13a2bfd 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -138,14 +138,14 @@ if ($_POST) { } textarea("query", $q, 20); echo ($_POST ? "" : "\n"); +echo "

" . (ini_bool("file_uploads") ? lang('File upload') . ': ' : lang('File uploads are disabled.')); + ?>

- - " . (ini_bool("file_uploads") ? lang('File upload') . ': ' : lang('File uploads are disabled.')); +echo checkbox("error_stops", 1, $_POST["error_stops"], lang('Stop on error')); print_fieldset("webfile", lang('From server'), $_POST["webfile"]); $compress = array(); diff --git a/adminer/static/functions.js b/adminer/static/functions.js index 58108d81..874e37f6 100644 --- a/adminer/static/functions.js +++ b/adminer/static/functions.js @@ -123,6 +123,32 @@ function selectAddRow(field) { +/** Handle Tab and Ctrl+Enter in textarea +* @param HTMLTextAreaElement +* @param KeyboardEvent +* @return boolean +*/ +function textareaKeydown(target, event) { + if (event.keyCode == 9 && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) { + // inspired by http://pallieter.org/Projects/insertTab/ + if (target.setSelectionRange) { + var start = target.selectionStart; + target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd); + target.setSelectionRange(start + 1, start + 1); + return false; + } else if (target.createTextRange) { + document.selection.createRange().text = '\t'; + return false; + } + } + if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed + target.form.submit(); + } + return true; +} + + + /** Display edit field * @param HTMLElement * @param MouseEvent diff --git a/changes.txt b/changes.txt index 5e8733a1..c445a6f0 100644 --- a/changes.txt +++ b/changes.txt @@ -10,6 +10,7 @@ Remember export parameters in cookie Allow semicolon as CSV separator Schemas, sequences and types support (PostgreSQL) Autofocus username in login form +Allow to insert Tab in SQL textareas and send the form by Ctrl+Enter Disable spellchecking in SQL textareas Display auto_increment value of inserted item Allow disabling auto_increment value export