diff --git a/ChangeLog b/ChangeLog index caef030a4..0f714061a 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,13 @@ phpMyAdmin - Changelog $Id$ $Source$ +2005-01-07 Michal Čihař + * Documentation.html, tbl_change.php, tbl_properties.inc.php, + libraries/functions.js, libraries/tbl_change.js, + libraries/keyhandler.js: Use Option key for Safari for moving (bug + #1094137), move key handler function to separate file so we have only + one, make movement work correctly in vertical display of properties. + 2005-01-06 Marc Delisle * tbl_change.php: removed old PHP3-workaround that caused problems with field names like '000' @@ -22,7 +29,7 @@ $Source$ * export.php: Use standardised mime types and use content encoding for gzip/bzip2. I hope this will fix double gzip compression as in bug #1094649. - + 2005-01-01 Michal Čihař * tbl_alter.php: Don't try to set collation for non text fields (bug #1094109). diff --git a/Documentation.html b/Documentation.html index 8c43c6324..cbaf61063 100755 --- a/Documentation.html +++ b/Documentation.html @@ -65,7 +65,7 @@ PHP
  • You need PHP 4.1.0 or newer (*)
  • -
  • If you want to display inline thumbnails of JPEGs with the +
  • If you want to display inline thumbnails of JPEGs with the original aspect ratio, you also need GD2 support in PHP
  • Starting with phpMyAdmin 2.6.1, MIME-based transformations that use an external program need PHP 4.3.0 or newer
  • @@ -79,7 +79,7 @@ if you are using the "cookie" authentication method, having the mcrypt PHP extension on your web server accelerates not only the login - phase but every other action that you do in phpMyAdmin. + phase but every other action that you do in phpMyAdmin.
  • a web-browser (doh!). @@ -241,7 +241,7 @@ in the configuration file.

  • HTTP and cookie authentication modes are more secure: the MySQL - login information does not need to be set in the phpMyAdmin + login information does not need to be set in the phpMyAdmin configuration file (except possibly for the controluser).
    @@ -254,7 +254,7 @@
  • Note: starting with phpMyAdmin 2.6.1, configuring the controluser - to enable HTTP and cookie authentication applies only + to enable HTTP and cookie authentication applies only to MySQL servers older than 4.1.2.

    For 'HTTP' and 'cookie' modes, phpMyAdmin needs a controluser that has @@ -346,7 +346,7 @@ GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost'; with the same username.
  • If you want to login to arbitrary server see $cfg['AllowArbitraryServer'] directive.
  • -
  • See also the requirements section for a way +
  • See also the requirements section for a way to improve the interface speed while using this mode.
@@ -521,13 +521,13 @@ GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
Note: starting with phpMyAdmin 2.6.1, configuring the controluser - to enable HTTP and cookie authentication applies only + to enable HTTP and cookie authentication applies only to MySQL servers older than 4.1.2.

This special account is used for 2 distinct purposes: to make possible - all relational features - (see $cfg['Servers'][$i]['pmadb']) and, for a - MySQL server older than 4.1.2, to enable a multi-user installation + all relational features + (see $cfg['Servers'][$i]['pmadb']) and, for a + MySQL server older than 4.1.2, to enable a multi-user installation (http or cookie authentication mode).

When using HTTP or cookie authentication modes (or 'config' @@ -1540,7 +1540,7 @@ Defaults to FALSE (drop-down).
$cfg['CtrlArrowsMoving'] boolean
- Enable Ctrl+Arrows moving between fields when editing? + Enable Ctrl+Arrows (Option+Arrows in Safari) moving between fields when editing?

@@ -2987,8 +2987,8 @@ To create a new, empty mimetype please see libraries/transformations/template_ge

phpMyAdmin uses a quick method to get the row count, and this method - only returns an approximate count in the case of InnoDB tables. See - $cfg['MaxExactCount'] for a way to modify those results, but + only returns an approximate count in the case of InnoDB tables. See + $cfg['MaxExactCount'] for a way to modify those results, but this could have a serious impact on performance.

@@ -3572,7 +3572,7 @@ To create a new, empty mimetype please see libraries/transformations/template_ge [6.16] How can I simply move in page with plenty editing fields?

- You can use Ctrl+arrows for moving on most pages with plenty editing + You can use Ctrl+arrows (Option+Arrows in Safari) for moving on most pages with plenty editing fields (table structure changes, row editing, etc.) (must be enabled in configuration - see. $cfg['CtrlArrowsMoving']). You can also have a look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if this diff --git a/libraries/functions.js b/libraries/functions.js index a4d105870..4e3cb2b6a 100644 --- a/libraries/functions.js +++ b/libraries/functions.js @@ -745,48 +745,6 @@ function setSelectOptions(the_form, the_select, do_check) return true; } // end of the 'setSelectOptions()' function -/** - * Allows moving around inputs/select by Ctrl+arrows - * - * @param object event data - */ -function onKeyDownArrowsHandler(e) { - e = e||window.event; - var o = (e.srcElement||e.target); - if (!o) return; - if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") return; - if (!e.ctrlKey) return; - if (!o.id) return; - - var pos = o.id.split("_"); - if (pos[0] != "field" || typeof pos[2] == "undefined") return; - - var x = pos[2], y=pos[1]; - - // skip non existent fields - for (i=0; i<10; i++) - { - switch(e.keyCode) { - case 38: y--; break; // up - case 40: y++; break; // down - case 37: x--; break; // left - case 39: x++; break; // right - default: return; - } - - var id = "field_" + y + "_" + x; - var nO = document.getElementById(id); - if (nO) break; - } - - if (!nO) return; - nO.focus(); - if (nO.tagName != 'SELECT') { - nO.select(); - } - e.returnValue = false; -} - /** * Inserts multiple fields. * diff --git a/libraries/keyhandler.js b/libraries/keyhandler.js new file mode 100644 index 000000000..ab71be9cc --- /dev/null +++ b/libraries/keyhandler.js @@ -0,0 +1,59 @@ +/** + * Allows moving around inputs/select by Ctrl+arrows + * + * @param object event data + */ +function onKeyDownArrowsHandler(e) { + e = e||window.event; + var o = (e.srcElement||e.target); + if (!o) return; + if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") return; + if (navigator.userAgent.toLowerCase().indexOf('aplewebkit/') != -1) { + if (e.ctrlKey || e.shiftKey || !e.altKey) return; + } else { + if (!e.ctrlKey || e.shiftKey || e.altKey) return; + } + if (!o.id) return; + + var pos = o.id.split("_"); + if (pos[0] != "field" || typeof pos[2] == "undefined") return; + + var x = pos[2], y=pos[1]; + + // skip non existent fields + for (i=0; i<10; i++) + { + if (switch_movement) { + switch(e.keyCode) { + case 38: x--; break; // up + case 40: x++; break; // down + case 37: y--; break; // left + case 39: y++; break; // right + default: return; + } + } else { + switch(e.keyCode) { + case 38: y--; break; // up + case 40: y++; break; // down + case 37: x--; break; // left + case 39: x++; break; // right + default: return; + } + } + + var id = "field_" + y + "_" + x; + var nO = document.getElementById(id); + if (!nO) { + var id = "field_" + y + "_" + x + "_0"; + var nO = document.getElementById(id); + } + if (nO) break; + } + + if (!nO) return; + nO.focus(); + if (nO.tagName != 'SELECT') { + nO.select(); + } + e.returnValue = false; +} diff --git a/libraries/tbl_change.js b/libraries/tbl_change.js index d974a33d5..14d5dd02d 100644 --- a/libraries/tbl_change.js +++ b/libraries/tbl_change.js @@ -69,53 +69,6 @@ function unNullify(urlField, multi_edit) return true; } // end of the 'unNullify()' function -/** - * Allows moving around inputs/select by Ctrl+arrows - * - * @param object event data - */ -function onKeyDownArrowsHandler(e) { - e = e||window.event; - var o = (e.srcElement||e.target); - if (!o) return; - if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") return; - if (!e.ctrlKey || e.shiftKey || e.altKey) return; - if (!o.id) return; - - var pos = o.id.split("_"); - if (pos[0] != "field" || typeof pos[2] == "undefined") return; - - var x = pos[2], y=pos[1]; - - // skip non existent fields - for (i=0; i<10; i++) - { - switch(e.keyCode) { - case 38: y--; break; // up - case 40: y++; break; // down - case 37: x--; break; // left - case 39: x++; break; // right - default: return; - } - - var id = "field_" + y + "_" + x; - var nO = document.getElementById(id); - if (!nO) { - var id = "field_" + y + "_" + x + "_0"; - var nO = document.getElementById(id); - } - if (nO) break; - } - - if (!nO) return; - nO.focus(); - if (nO.tagName != 'SELECT') { - nO.select(); - } - e.returnValue = false; -} - - var day; var month; var year; diff --git a/tbl_change.php b/tbl_change.php index 33ec32557..3047234db 100644 --- a/tbl_change.php +++ b/tbl_change.php @@ -148,8 +148,10 @@ $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5) + @@ -867,18 +869,18 @@ if (!empty($disp_message)) {       
tabindex="" style="vertical-align: middle" />
-       
tabindex="" style="vertical-align: middle" />
-       
tabindex="" style="vertical-align: middle" />
- diff --git a/tbl_properties.inc.php b/tbl_properties.inc.php index aff1a7129..803a5128e 100644 --- a/tbl_properties.inc.php +++ b/tbl_properties.inc.php @@ -13,8 +13,10 @@ require_once('./libraries/mysql_charsets.lib.php'); ?> +