From 4d1540cc1c8136040968bcfb3a4629aad2551b3a Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Fri, 1 Jul 2011 22:58:35 +0530 Subject: [PATCH 1/5] bug #3348995 [config] $cfg['Export']['asfile'] set to false does not select asText option --- ChangeLog | 1 + js/export.js | 25 +++++++++++++++---------- libraries/display_export.lib.php | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 71db2134a4..4e47917d76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ phpMyAdmin - ChangeLog 3.4.4.0 (not yet released) - bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes - bug #3323101 [parser] Invalid escape sequence in SQL parser +- bug #3348995 [config] $cfg['Export']['asfile'] set to false does not select asText option 3.4.3.0 (2011-06-27) - bug #3311170 [sync] Missing helper icons in Synchronize diff --git a/js/export.js b/js/export.js index 1cf9de50b7..3fd3c00e9d 100644 --- a/js/export.js +++ b/js/export.js @@ -89,18 +89,23 @@ $(document).ready(function() { /** * Toggles the disabling of the "save to file" options */ +function toggle_save_to_file() { + if($("#radio_dump_asfile:checked").length == 0) { + $("#ul_save_asfile > li").fadeTo('fast', 0.4); + $("#ul_save_asfile > li > input").attr('disabled', 'disabled'); + $("#ul_save_asfile > li> select").attr('disabled', 'disabled'); + } else { + $("#ul_save_asfile > li").fadeTo('fast', 1); + $("#ul_save_asfile > li > input").removeAttr('disabled'); + $("#ul_save_asfile > li> select").removeAttr('disabled'); + } +} + $(document).ready(function() { + toggle_save_to_file(); $("input[type='radio'][name='output_format']").change(function() { - if($("#radio_dump_asfile:checked").length == 0) { - $("#ul_save_asfile > li").fadeTo('fast', 0.4); - $("#ul_save_asfile > li > input").attr('disabled', 'disabled'); - $("#ul_save_asfile > li> select").attr('disabled', 'disabled'); - } else { - $("#ul_save_asfile > li").fadeTo('fast', 1); - $("#ul_save_asfile > li > input").removeAttr('disabled'); - $("#ul_save_asfile > li> select").removeAttr('disabled'); - } - }); + toggle_save_to_file(); + }); }); /** diff --git a/libraries/display_export.lib.php b/libraries/display_export.lib.php index 87c3a8e9f4..3bc9c7f98f 100644 --- a/libraries/display_export.lib.php +++ b/libraries/display_export.lib.php @@ -325,7 +325,7 @@ if(isset($_GET['sql_query'])) { -
  • />
  • +
  • />
  • From f53f5d76473c7d88ebd8b8a361ffb7a5d1643cb4 Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Fri, 1 Jul 2011 18:33:23 +0200 Subject: [PATCH 2/5] Changed background color for invalid inputs --- themes/pmahomme/css/theme_right.css.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/pmahomme/css/theme_right.css.php b/themes/pmahomme/css/theme_right.css.php index ba5a926c38..272c17be9f 100644 --- a/themes/pmahomme/css/theme_right.css.php +++ b/themes/pmahomme/css/theme_right.css.php @@ -1729,7 +1729,7 @@ table#serverconnection_trg_local { */ input[type=text].invalid_value, .invalid_value { - background:#F00; + background:#FFCCCC; } /** From 56d4b081a0020d03b988d322a39ac4a05d803384 Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Fri, 1 Jul 2011 20:01:37 +0200 Subject: [PATCH 3/5] Remove STDDEV_* and VAR_* Standard deviation and variance make no sense when called with one argument --- libraries/config.default.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/libraries/config.default.php b/libraries/config.default.php index 1a478b7874..34db071c2c 100644 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -2864,8 +2864,6 @@ if ($cfg['ShowFunctionFields']) { 'SOUNDEX', 'SPACE', 'SQRT', - 'STDDEV_POP', - 'STDDEV_SAMP', 'TAN', 'TIMESTAMP', 'TIME_TO_SEC', @@ -2878,8 +2876,6 @@ if ($cfg['ShowFunctionFields']) { 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', - 'VAR_POP', - 'VAR_SAMP', 'YEAR', ); @@ -3009,13 +3005,9 @@ if ($cfg['ShowFunctionFields']) { 'RAND', 'ROUND', 'SQRT', - 'STDDEV_POP', - 'STDDEV_SAMP', 'TAN', 'TIME_TO_SEC', 'UNIX_TIMESTAMP', - 'VAR_POP', - 'VAR_SAMP', ), 'FUNC_SPATIAL' => array( From a28d43abf3948f44d036a009462d48cedf597b5b Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Fri, 1 Jul 2011 20:31:21 +0200 Subject: [PATCH 4/5] Updated MySQL function list --- libraries/config.default.php | 59 ++++++++++++++++++++++++++++++++++++ tbl_replace.php | 30 +++++++++++------- 2 files changed, 78 insertions(+), 11 deletions(-) diff --git a/libraries/config.default.php b/libraries/config.default.php index 34db071c2c..0e0b9c8ad4 100644 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -2824,14 +2824,19 @@ if ($cfg['ShowFunctionFields']) { 'CHAR', 'CHAR_LENGTH', 'COMPRESS', + 'CONNECTION_ID', 'COS', 'COT', 'CRC32', 'CURDATE', 'CURRENT_USER', 'CURTIME', + 'DATABASE', 'DATE', 'DAYNAME', + 'DAYOFMONTH', + 'DAYOFWEEK', + 'DAYOFYEAR', 'DEGREES', 'DES_DECRYPT', 'DES_ENCRYPT', @@ -2841,33 +2846,53 @@ if ($cfg['ShowFunctionFields']) { 'FROM_DAYS', 'FROM_UNIXTIME', 'HEX', + 'HOUR', 'INET_ATON', 'INET_NTOA', + 'LAST_DAY', 'LENGTH', 'LN', + 'LOAD_FILE', 'LOG', 'LOG10', 'LOG2', 'LOWER', + 'LTRIM', 'MD5', + 'MICROSECOND', + 'MINUTE', + 'MONTH', + 'MONTHNAME', 'NOW', 'OCT', 'OLD_PASSWORD', 'ORD', 'PASSWORD', + 'PI', + 'QUARTER', + 'QUOTE', 'RADIANS', 'RAND', 'REVERSE', 'ROUND', + 'RTRIM', + 'SECOND', 'SEC_TO_TIME', 'SHA1', + 'SIGN', + 'SIN', 'SOUNDEX', 'SPACE', 'SQRT', + 'SYSDATE', 'TAN', + 'TIME', 'TIMESTAMP', 'TIME_TO_SEC', + 'TO_DAYS', + 'TRIM', 'UNCOMPRESS', + 'UNCOMPRESSED_LENGTH', 'UNHEX', 'UNIX_TIMESTAMP', 'UPPER', @@ -2876,7 +2901,12 @@ if ($cfg['ShowFunctionFields']) { 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', + 'VERSION', + 'WEEK', + 'WEEKDAY', + 'WEEKOFYEAR', 'YEAR', + 'YEARWEEK', ); /** @@ -2941,20 +2971,27 @@ if ($cfg['ShowFunctionFields']) { 'CHAR', 'CURRENT_USER', 'COMPRESS', + 'DATABASE', 'DAYNAME', 'DES_DECRYPT', 'DES_ENCRYPT', 'ENCRYPT', 'HEX', 'INET_NTOA', + 'LOAD_FILE', 'LOWER', + 'LTRIM', 'MD5', + 'MONTHNAME', 'OLD_PASSWORD', 'PASSWORD', + 'QUOTE', 'REVERSE', + 'RTRIM', 'SHA1', 'SOUNDEX', 'SPACE', + 'TRIM', 'UNCOMPRESS', 'UNHEX', 'UPPER', @@ -2968,8 +3005,11 @@ if ($cfg['ShowFunctionFields']) { 'DATE', 'FROM_DAYS', 'FROM_UNIXTIME', + 'LAST_DAY', 'NOW', 'SEC_TO_TIME', + 'SYSDATE', + 'TIME', 'TIMESTAMP', 'UTC_DATE', 'UTC_TIME', @@ -2987,27 +3027,46 @@ if ($cfg['ShowFunctionFields']) { 'BIT_COUNT', 'CEILING', 'CHAR_LENGTH', + 'CONNECTION_ID', 'COS', 'COT', 'CRC32', + 'DAYOFMONTH', + 'DAYOFWEEK', + 'DAYOFYEAR', 'DEGREES', 'EXP', 'FLOOR', + 'HOUR', 'INET_ATON', 'LENGTH', 'LN', 'LOG', 'LOG2', 'LOG10', + 'MICROSECOND', + 'MINUTE', + 'MONTH', 'OCT', 'ORD', + 'PI', + 'QUARTER', 'RADIANS', 'RAND', 'ROUND', + 'SECOND', + 'SIGN', + 'SIN', 'SQRT', 'TAN', + 'TO_DAYS', 'TIME_TO_SEC', + 'UNCOMPRESSED_LENGTH', 'UNIX_TIMESTAMP', + 'WEEK', + 'WEEKDAY', + 'WEEKOFYEAR', + 'YEARWEEK', ), 'FUNC_SPATIAL' => array( diff --git a/tbl_replace.php b/tbl_replace.php index b0c71e6427..ab20d29453 100644 --- a/tbl_replace.php +++ b/tbl_replace.php @@ -130,18 +130,27 @@ if (isset($_REQUEST['where_clause'])) { $query = array(); $value_sets = array(); $func_no_param = array( - 'NOW', + 'CONNECTION_ID', + 'CURRENT_USER', 'CURDATE', 'CURTIME', + 'DATABASE', + 'LAST_INSERT_ID', + 'NOW', + 'PI', + 'RAND', + 'SYSDATE', + 'UNIX_TIMESTAMP', + 'USER', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', - 'UNIX_TIMESTAMP', - 'RAND', - 'USER', - 'LAST_INSERT_ID', 'UUID', - 'CURRENT_USER', + 'VERSION', +); +$func_optional_param = array( + 'RAND', + 'UNIX_TIMESTAMP', ); foreach ($loop_array as $rownumber => $where_clause) { @@ -225,16 +234,15 @@ foreach ($loop_array as $rownumber => $where_clause) { if (empty($me_funcs[$key])) { $cur_value = $val; - } elseif ('UNIX_TIMESTAMP' === $me_funcs[$key] && $val != "''") { - $cur_value = $me_funcs[$key] . '(' . $val . ')'; } elseif ('UUID' === $me_funcs[$key]) { /* This way user will know what UUID new row has */ $uuid = PMA_DBI_fetch_value('SELECT UUID()'); $cur_value = "'" . $uuid . "'"; - } elseif (in_array($me_funcs[$key], $func_no_param)) { - $cur_value = $me_funcs[$key] . '()'; - } else { + } elseif (!in_array($me_funcs[$key], $func_no_param) + || ($val != "''" && in_array($me_funcs[$key], $func_optional_param))) { $cur_value = $me_funcs[$key] . '(' . $val . ')'; + } else { + $cur_value = $me_funcs[$key] . '()'; } // i n s e r t From d5dd8a2d37f0fab931df449d4c6a744821a78afb Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Fri, 1 Jul 2011 20:35:38 +0200 Subject: [PATCH 5/5] Fix PMA_DBI_get_columns --- libraries/database_interface.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php index 50ae58b736..bcafbb190c 100644 --- a/libraries/database_interface.lib.php +++ b/libraries/database_interface.lib.php @@ -836,7 +836,7 @@ function PMA_DBI_get_columns($database, $table, $full = false, $link = null) $fields = PMA_DBI_fetch_result( 'SHOW ' . ($full ? 'FULL' : '') . ' COLUMNS FROM ' . PMA_backquote($database) . '.' . PMA_backquote($table), - 'Field', ($full ? null : 'Field'), $link); + 'Field', null, $link); if (! is_array($fields) || count($fields) < 1) { return false; }