From 0aef4ac56950627074eb456d3cbab2d15601e3f7 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Sun, 19 Jul 2015 17:51:34 +0200 Subject: [PATCH 01/19] Make PHPCS happy. Signed-off-by: Hugues Peccatte --- libraries/Types.class.php | 218 +++++++++++++++++++++++++++++++------- 1 file changed, 178 insertions(+), 40 deletions(-) diff --git a/libraries/Types.class.php b/libraries/Types.class.php index b565e0b59f..ecbd7a4a0f 100644 --- a/libraries/Types.class.php +++ b/libraries/Types.class.php @@ -317,65 +317,164 @@ class PMA_Types_MySQL extends PMA_Types $type = /*overload*/mb_strtoupper($type); switch ($type) { case 'TINYINT': - return __('A 1-byte integer, signed range is -128 to 127, unsigned range is 0 to 255'); + return __( + 'A 1-byte integer, signed range is -128 to 127, unsigned range is ' . + '0 to 255' + ); case 'SMALLINT': - return __('A 2-byte integer, signed range is -32,768 to 32,767, unsigned range is 0 to 65,535'); + return __( + 'A 2-byte integer, signed range is -32,768 to 32,767, unsigned ' . + 'range is 0 to 65,535' + ); case 'MEDIUMINT': - return __('A 3-byte integer, signed range is -8,388,608 to 8,388,607, unsigned range is 0 to 16,777,215'); + return __( + 'A 3-byte integer, signed range is -8,388,608 to 8,388,607, ' . + 'unsigned range is 0 to 16,777,215' + ); case 'INT': - return __('A 4-byte integer, signed range is -2,147,483,648 to 2,147,483,647, unsigned range is 0 to 4,294,967,295'); + return __( + 'A 4-byte integer, signed range is ' . + '-2,147,483,648 to 2,147,483,647, unsigned range is 0 to ' . + '4,294,967,295' + ); case 'BIGINT': - return __('An 8-byte integer, signed range is -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807, unsigned range is 0 to 18,446,744,073,709,551,615'); + return __( + 'An 8-byte integer, signed range is -9,223,372,036,854,775,808 ' . + 'to 9,223,372,036,854,775,807, unsigned range is 0 to 18,446,744,073,709,551,615' + ); case 'DECIMAL': - return __('A fixed-point number (M, D) - the maximum number of digits (M) is 65 (default 10), the maximum number of decimals (D) is 30 (default 0)'); + return __( + 'A fixed-point number (M, D) - the maximum number of digits (M) ' . + 'is 65 (default 10), the maximum number of decimals (D) is 30 (default 0)' + ); case 'FLOAT': - return __('A small floating-point number, allowable values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38'); + return __( + 'A small floating-point number, allowable values are ' . + '-3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to ' . + '3.402823466E+38' + ); case 'DOUBLE': - return __('A double-precision floating-point number, allowable values are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to 1.7976931348623157E+308'); + return __( + 'A double-precision floating-point number, allowable values are ' . + '-1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and ' . + '2.2250738585072014E-308 to 1.7976931348623157E+308' + ); case 'REAL': - return __('Synonym for DOUBLE (exception: in REAL_AS_FLOAT SQL mode it is a synonym for FLOAT)'); + return __( + 'Synonym for DOUBLE (exception: in REAL_AS_FLOAT SQL mode it is ' . + 'a synonym for FLOAT)' + ); case 'BIT': - return __('A bit-field type (M), storing M of bits per value (default is 1, maximum is 64)'); + return __( + 'A bit-field type (M), storing M of bits per value (default is 1, ' . + 'maximum is 64)' + ); case 'BOOLEAN': - return __('A synonym for TINYINT(1), a value of zero is considered false, nonzero values are considered true'); + return __( + 'A synonym for TINYINT(1), a value of zero is considered false, ' . + 'nonzero values are considered true' + ); case 'SERIAL': return __('An alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE'); case 'DATE': - return sprintf(__('A date, supported range is %1$s to %2$s'), '1000-01-01', '9999-12-31'); + return sprintf( + __('A date, supported range is %1$s to %2$s'), '1000-01-01', + '9999-12-31' + ); case 'DATETIME': - return sprintf(__('A date and time combination, supported range is %1$s to %2$s'), '1000-01-01 00:00:00', '9999-12-31 23:59:59'); + return sprintf( + __('A date and time combination, supported range is %1$s to %2$s'), + '1000-01-01 00:00:00', '9999-12-31 23:59:59' + ); case 'TIMESTAMP': - return __('A timestamp, range is 1970-01-01 00:00:01 UTC to 2038-01-09 03:14:07 UTC, stored as the number of seconds since the epoch (1970-01-01 00:00:00 UTC)'); + return __( + 'A timestamp, range is 1970-01-01 00:00:01 UTC to 2038-01-09 ' . + '03:14:07 UTC, stored as the number of seconds since the epoch ' . + '(1970-01-01 00:00:00 UTC)' + ); case 'TIME': - return sprintf(__('A time, range is %1$s to %2$s'), '-838:59:59', '838:59:59'); + return sprintf( + __('A time, range is %1$s to %2$s'), '-838:59:59', '838:59:59' + ); case 'YEAR': - return __("A year in four-digit (4, default) or two-digit (2) format, the allowable values are 70 (1970) to 69 (2069) or 1901 to 2155 and 0000"); + return __( + "A year in four-digit (4, default) or two-digit (2) format, the " . + "allowable values are 70 (1970) to 69 (2069) or 1901 to 2155 and " . + "0000" + ); case 'CHAR': - return __('A fixed-length (0-255, default 1) string that is always right-padded with spaces to the specified length when stored'); + return __( + 'A fixed-length (0-255, default 1) string that is always ' . + 'right-padded with spaces to the specified length when stored' + ); case 'VARCHAR': - return sprintf(__('A variable-length (%s) string, the effective maximum length is subject to the maximum row size'), '0-65,535'); + return sprintf( + __( + 'A variable-length (%s) string, the effective maximum length ' . + 'is subject to the maximum row size' + ), '0-65,535' + ); case 'TINYTEXT': - return __('A TEXT column with a maximum length of 255 (2^8 - 1) characters, stored with a one-byte prefix indicating the length of the value in bytes'); + return __( + 'A TEXT column with a maximum length of 255 (2^8 - 1) characters, ' . + 'stored with a one-byte prefix indicating the length of the value ' . + 'in bytes' + ); case 'TEXT': - return __('A TEXT column with a maximum length of 65,535 (2^16 - 1) characters, stored with a two-byte prefix indicating the length of the value in bytes'); + return __( + 'A TEXT column with a maximum length of 65,535 (2^16 - 1) ' . + 'characters, stored with a two-byte prefix indicating the length ' . + 'of the value in bytes' + ); case 'MEDIUMTEXT': - return __('A TEXT column with a maximum length of 16,777,215 (2^24 - 1) characters, stored with a three-byte prefix indicating the length of the value in bytes'); + return __( + 'A TEXT column with a maximum length of 16,777,215 (2^24 - 1) ' . + 'characters, stored with a three-byte prefix indicating the ' . + 'length of the value in bytes' + ); case 'LONGTEXT': - return __('A TEXT column with a maximum length of 4,294,967,295 or 4GiB (2^32 - 1) characters, stored with a four-byte prefix indicating the length of the value in bytes'); + return __( + 'A TEXT column with a maximum length of 4,294,967,295 or 4GiB ' . + '(2^32 - 1) characters, stored with a four-byte prefix indicating ' . + 'the length of the value in bytes' + ); case 'BINARY': - return __('Similar to the CHAR type, but stores binary byte strings rather than non-binary character strings'); + return __( + 'Similar to the CHAR type, but stores binary byte strings rather ' . + 'than non-binary character strings' + ); case 'VARBINARY': - return __('Similar to the VARCHAR type, but stores binary byte strings rather than non-binary character strings'); + return __( + 'Similar to the VARCHAR type, but stores binary byte strings ' . + 'rather than non-binary character strings' + ); case 'TINYBLOB': - return __('A BLOB column with a maximum length of 255 (2^8 - 1) bytes, stored with a one-byte prefix indicating the length of the value'); + return __( + 'A BLOB column with a maximum length of 255 (2^8 - 1) bytes, ' . + 'stored with a one-byte prefix indicating the length of the value' + ); case 'MEDIUMBLOB': - return __('A BLOB column with a maximum length of 16,777,215 (2^24 - 1) bytes, stored with a three-byte prefix indicating the length of the value'); + return __( + 'A BLOB column with a maximum length of 16,777,215 (2^24 - 1) ' . + 'bytes, stored with a three-byte prefix indicating the length of ' . + 'the value' + ); case 'BLOB': - return __('A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, stored with a two-byte prefix indicating the length of the value'); + return __( + 'A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, ' . + 'stored with a two-byte prefix indicating the length of the value' + ); case 'LONGBLOB': - return __('A BLOB column with a maximum length of 4,294,967,295 or 4GiB (2^32 - 1) bytes, stored with a four-byte prefix indicating the length of the value'); + return __( + 'A BLOB column with a maximum length of 4,294,967,295 or 4GiB ' . + '(2^32 - 1) bytes, stored with a four-byte prefix indicating the ' . + 'length of the value' + ); case 'ENUM': - return __("An enumeration, chosen from the list of up to 65,535 values or the special '' error value"); + return __( + "An enumeration, chosen from the list of up to 65,535 values or " . + "the special '' error value" + ); case 'SET': return __("A single value chosen from a set of up to 64 members"); case 'GEOMETRY': @@ -389,7 +488,9 @@ class PMA_Types_MySQL extends PMA_Types case 'MULTIPOINT': return __('A collection of points'); case 'MULTILINESTRING': - return __('A collection of curves with linear interpolation between points'); + return __( + 'A collection of curves with linear interpolation between points' + ); case 'MULTIPOLYGON': return __('A collection of polygons'); case 'GEOMETRYCOLLECTION': @@ -781,9 +882,16 @@ class PMA_Types_Drizzle extends PMA_Types case 'INTEGER': return __('A 4-byte integer, range is -2,147,483,648 to 2,147,483,647'); case 'BIGINT': - return __('An 8-byte integer, range is -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807'); + return __( + 'An 8-byte integer, range is -9,223,372,036,854,775,808 to ' . + '9,223,372,036,854,775,807' + ); case 'DECIMAL': - return __('A fixed-point number (M, D) - the maximum number of digits (M) is 65 (default 10), the maximum number of decimals (D) is 30 (default 0)'); + return __( + 'A fixed-point number (M, D) - the maximum number of digits ' . + '(M) is 65 (default 10), the maximum number of decimals (D) ' . + 'is 30 (default 0)' + ); case 'DOUBLE': return __("A system's default double-precision floating-point number"); case 'BOOLEAN': @@ -793,24 +901,54 @@ class PMA_Types_Drizzle extends PMA_Types case 'UUID': return __('Stores a Universally Unique Identifier (UUID)'); case 'DATE': - return sprintf(__('A date, supported range is %1$s to %2$s'), '0001-01-01', '9999-12-31'); + return sprintf( + __('A date, supported range is %1$s to %2$s'), '0001-01-01', + '9999-12-31' + ); case 'DATETIME': - return sprintf(__('A date and time combination, supported range is %1$s to %2$s'), '0001-01-01 00:00:0', '9999-12-31 23:59:59'); + return sprintf( + __( + 'A date and time combination, supported range is %1$s to ' . + '%2$s' + ), '0001-01-01 00:00:0', '9999-12-31 23:59:59' + ); case 'TIMESTAMP': - return __("A timestamp, range is '0001-01-01 00:00:00' UTC to '9999-12-31 23:59:59' UTC; TIMESTAMP(6) can store microseconds"); + return __( + "A timestamp, range is '0001-01-01 00:00:00' UTC to " . + "'9999-12-31 23:59:59' UTC; TIMESTAMP(6) can store microseconds" + ); case 'TIME': - return sprintf(__('A time, range is %1$s to %2$s'), '00:00:00', '23:59:59'); + return sprintf( + __('A time, range is %1$s to %2$s'), '00:00:00', '23:59:59' + ); case 'VARCHAR': - return sprintf(__('A variable-length (%s) string, the effective maximum length is subject to the maximum row size'), '0-16,383'); + return sprintf( + __( + 'A variable-length (%s) string, the effective ' . + 'maximum length is subject to the maximum row size' + ), '0-16,383' + ); case 'TEXT': - return __('A TEXT column with a maximum length of 65,535 (2^16 - 1) characters, stored with a two-byte prefix indicating the length of the value in bytes'); + return __( + 'A TEXT column with a maximum length of 65,535 (2^16 - 1) ' . + 'characters, stored with a two-byte prefix indicating the ' . + 'length of the value in bytes' + ); case 'VARBINARY': - return __('A variable-length (0-65,535) string, uses binary collation for all comparisons'); + return __( + 'A variable-length (0-65,535) string, uses binary collation ' . + 'for all comparisons' + ); case 'BLOB': - return __('A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, stored with a two-byte prefix indicating the length of the value'); + return __( + 'A BLOB column with a maximum length of 65,535 (2^16 - 1) ' . + 'bytes, stored with a two-byte prefix indicating the length of ' . + 'the value' + ); case 'ENUM': return __("An enumeration, chosen from the list of defined values"); } + return ''; } From 90f6ca605adbf37a064b14c03a668aaaaa3fb9a1 Mon Sep 17 00:00:00 2001 From: dingo thirteen Date: Mon, 20 Jul 2015 21:03:07 +0200 Subject: [PATCH 02/19] Translated using Weblate (Dutch) Currently translated at 100.0% (3161 of 3161 strings) [CI skip] --- po/nl.po | 116 +++++++++++++++++++++++-------------------------------- 1 file changed, 48 insertions(+), 68 deletions(-) diff --git a/po/nl.po b/po/nl.po index 972ef75167..b992af029e 100644 --- a/po/nl.po +++ b/po/nl.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.5.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2015-07-20 06:34-0400\n" -"PO-Revision-Date: 2015-07-04 11:08+0200\n" +"PO-Revision-Date: 2015-07-20 21:03+0200\n" "Last-Translator: dingo thirteen \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch " +"\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1203,26 +1203,23 @@ msgid "Close" msgstr "Sluiten" #: js/messages.php:129 -#, fuzzy #| msgid "The number of pages created." msgid "Template was created." -msgstr "Het aantal pagina's dat werd aangemaakt." +msgstr "Template werd aangemaakt." #: js/messages.php:130 msgid "Template was loaded." -msgstr "" +msgstr "Template werd geladen." #: js/messages.php:131 -#, fuzzy #| msgid "The profile has been updated." msgid "Template was updated." -msgstr "Het profiel is aangepast." +msgstr "Template werd aangepast." #: js/messages.php:132 -#, fuzzy #| msgid "The row has been deleted." msgid "Template was deleted." -msgstr "De regel werd verwijderd." +msgstr "Template werd verwijderd." #. l10n: Other, small valued, queries #: js/messages.php:135 libraries/ServerStatusData.class.php:132 @@ -4045,10 +4042,9 @@ msgid "Databases" msgstr "Databases" #: libraries/Menu.class.php:566 -#, fuzzy #| msgid "User groups" msgid "User accounts" -msgstr "Gebruikersgroepen" +msgstr "Gebruikersaccounts" #: libraries/Menu.class.php:593 libraries/ServerStatusData.class.php:121 #: libraries/Util.class.php:4346 libraries/server_common.lib.php:36 @@ -4779,15 +4775,14 @@ msgid "Max: %s%s" msgstr "Maximale grootte: %s%s" #: libraries/Util.class.php:662 -#, fuzzy #| msgid "Static data" msgid "Static analysis:" -msgstr "Statische gegevens" +msgstr "Statische analyse:" #: libraries/Util.class.php:664 #, php-format msgid "%d errors were found during analysis." -msgstr "" +msgstr "%d fouten werden gevonden tijdens de analyse." #: libraries/Util.class.php:726 libraries/rte/rte_events.lib.php:110 #: libraries/rte/rte_events.lib.php:119 libraries/rte/rte_events.lib.php:150 @@ -5680,12 +5675,13 @@ msgid "" "Find any errors in the query before executing it. Requires CodeMirror to be " "enabled." msgstr "" +"Vindt elke fout in de query voor uitvoeren. Vereist dat CodeMirror " +"ingeschakeld is." #: libraries/config/messages.inc.php:62 -#, fuzzy #| msgid "Enable SQL Validator" msgid "Enable linter" -msgstr "SQL-Validator activeren" +msgstr "Schakel linter in" #: libraries/config/messages.inc.php:64 msgid "" @@ -5982,10 +5978,9 @@ msgid "Overwrite existing file(s)" msgstr "Bestaand(e) bestand(en) overschrijven" #: libraries/config/messages.inc.php:166 -#, fuzzy #| msgid "Export tables as separate files" msgid "Export as separate files" -msgstr "Exporteer tabellen als afzonderlijke bestanden" +msgstr "Exporteer als afzonderlijke bestanden" #: libraries/config/messages.inc.php:170 msgid "Remember file name template" @@ -7290,13 +7285,11 @@ msgstr "" "opzoekingen uit te schakelen, suggestie: [kbd]pma__savedsearches[/kbd]." #: libraries/config/messages.inc.php:658 -#, fuzzy #| msgid "Export views as tables" msgid "Export templates table" -msgstr "Views exporteren als tabellen" +msgstr "Exporteer de templates tabel" #: libraries/config/messages.inc.php:660 -#, fuzzy #| msgid "" #| "Leave blank for no PDF schema support, suggested: [kbd]pma__pdf_pages[/" #| "kbd]." @@ -7304,8 +7297,8 @@ msgid "" "Leave blank for no export template support, suggested: " "[kbd]pma__export_templates[/kbd]." msgstr "" -"Laat dit veld leeg om PDF-schemaondersteuning uit te schakelen, suggestie: " -"[kbd]pma__pdf_pages[/kbd]." +"Laat dit veld leeg om template ondersteuning uit te schakelen, suggestie: " +"[kbd]pma__export_templates[/kbd]." #: libraries/config/messages.inc.php:663 msgid "Central columns table" @@ -8225,52 +8218,44 @@ msgid "Exporting rows from \"%s\" table" msgstr "Rijen exporteren uit de tabel \"%s\"" #: libraries/display_export.lib.php:203 -#, fuzzy #| msgid "Export type" msgid "Export templates:" -msgstr "Exporttype" +msgstr "Exporteer templates:" #: libraries/display_export.lib.php:208 -#, fuzzy #| msgid "File name template:" msgid "New template:" -msgstr "Bestandsnaam-template:" +msgstr "Nieuwe template:" #: libraries/display_export.lib.php:211 -#, fuzzy #| msgid "Table name" msgid "Template name" -msgstr "Tabelnaam" +msgstr "Template naam" #: libraries/display_export.lib.php:220 -#, fuzzy #| msgid "File name template:" msgid "Existing templates:" -msgstr "Bestandsnaam-template:" +msgstr "Bestaande templates:" #: libraries/display_export.lib.php:221 -#, fuzzy #| msgid "Temp disk rate" msgid "Template:" -msgstr "Tijdelijke schijf ratio" +msgstr "Template:" #: libraries/display_export.lib.php:226 -#, fuzzy #| msgid "Updated" msgid "Update" -msgstr "Bijgewerkt" +msgstr "Bijwerken" #: libraries/display_export.lib.php:248 -#, fuzzy #| msgid "Select a table" msgid "Select a template" -msgstr "Selecteer een tabel" +msgstr "Selecteer een template" #: libraries/display_export.lib.php:294 -#, fuzzy #| msgid "Export method" msgid "Export method:" -msgstr "Exportmethode" +msgstr "Export methode:" #: libraries/display_export.lib.php:304 msgid "Quick - display only the minimal options" @@ -9891,12 +9876,13 @@ msgstr "Hernoem database naar" #: libraries/operations.lib.php:861 libraries/operations.lib.php:955 #: libraries/operations.lib.php:1309 #: templates/columns_definitions/column_adjust_privileges.phtml:16 -#, fuzzy #| msgid "You don't have sufficient privileges to be here right now!" msgid "" "You don't have sufficient privileges to perform this operation; Please refer " "to the documentation for more details" -msgstr "U heeft niet genoeg rechten om hier te zijn!" +msgstr "" +"U heeft niet genoeg rechten om deze actie uit te voeren; Kijk a.u.b. naar de " +"documentatie voor meer details" #: libraries/operations.lib.php:101 libraries/operations.lib.php:248 #: libraries/operations.lib.php:867 libraries/operations.lib.php:961 @@ -11283,10 +11269,9 @@ msgid "Remembering Designer Settings" msgstr "Onthoud Ontwerper Instellingen" #: libraries/relation.lib.php:338 -#, fuzzy #| msgid "Invalid export type" msgid "Saving export templates" -msgstr "Ongeldig exporttype" +msgstr "Opslaan export templates" #: libraries/relation.lib.php:346 msgid "Quick steps to setup advanced features:" @@ -11909,6 +11894,8 @@ msgid "" "You do not have sufficient privileges to perform this operation; Please " "refer to the documentation for more details" msgstr "" +"U heeft niet genoeg rechten om deze actie uit te voeren; Kijk a.u.b. naar de " +"documentatie voor meer details" #: libraries/rte/rte_routines.lib.php:935 msgid "Security type" @@ -12515,19 +12502,17 @@ msgstr "" "andere hostnaam." #: libraries/server_privileges.lib.php:1503 -#, fuzzy #| msgid "User name:" msgid "Host name:" -msgstr "Gebruikersnaam:" +msgstr "Server naam:" #: libraries/server_privileges.lib.php:1508 #: libraries/server_privileges.lib.php:1610 #: libraries/server_privileges.lib.php:2242 #: libraries/server_privileges.lib.php:3203 -#, fuzzy #| msgid "Log name" msgid "Host name" -msgstr "Lognaam" +msgstr "Server naam" #: libraries/server_privileges.lib.php:1645 msgid "Do not change the password" @@ -12545,16 +12530,14 @@ msgstr "U heeft de rechten ingetrokken voor %s." #: libraries/server_privileges.lib.php:1933 #: libraries/server_privileges.lib.php:4063 -#, fuzzy #| msgid "Add user group" msgid "Add user account" -msgstr "Gebruikersgroep toevoegen" +msgstr "Gebruikersaccount toevoegen" #: libraries/server_privileges.lib.php:1942 -#, fuzzy #| msgid "Database for user" msgid "Database for user account" -msgstr "Database voor gebruiker" +msgstr "Database voor gebruikersaccount" #: libraries/server_privileges.lib.php:1946 msgid "Create database with same name and grant all privileges." @@ -12652,16 +12635,14 @@ msgstr "" "vernieuwen." #: libraries/server_privileges.lib.php:2728 -#, fuzzy #| msgid "Change Login Information / Copy User" msgid "Change login information / Copy user account" -msgstr "Aanmeldingsinformatie wijzigen / Gebruiker kopiëren" +msgstr "Aanmeldingsinformatie wijzigen / Gebruikersaccount kopiëren" #: libraries/server_privileges.lib.php:2734 -#, fuzzy #| msgid "Create a new user with the same privileges and …" msgid "Create a new user account with the same privileges and …" -msgstr "Een nieuwe gebruiker aanmaken met dezelfde rechten en …" +msgstr "Een nieuwe gebruikersaccount aanmaken met dezelfde rechten en …" #: libraries/server_privileges.lib.php:3036 msgid "Column-specific privileges" @@ -12682,10 +12663,9 @@ msgid "Add privileges on the following table:" msgstr "Rechten toevoegen op de volgende tabel:" #: libraries/server_privileges.lib.php:3370 -#, fuzzy #| msgid "Remove selected users" msgid "Remove selected user accounts" -msgstr "De geselecteerde gebruikers verwijderen" +msgstr "De geselecteerde gebruikersaccounts verwijderen" #: libraries/server_privileges.lib.php:3376 msgid "Revoke all active privileges from the users and delete them afterwards." @@ -12746,16 +12726,14 @@ msgid "New" msgstr "Nieuw" #: libraries/server_privileges.lib.php:4084 -#, fuzzy #| msgid "Edit Privileges:" msgid "Edit privileges:" msgstr "Rechten bewerken:" #: libraries/server_privileges.lib.php:4085 -#, fuzzy #| msgid "User group" msgid "User account" -msgstr "Gebruikersgroep" +msgstr "Gebruikersaccount" #: libraries/server_privileges.lib.php:4144 msgid "" @@ -12766,10 +12744,9 @@ msgstr "" "op dit moment ingelogd bent." #: libraries/server_privileges.lib.php:4164 libraries/server_users.lib.php:25 -#, fuzzy #| msgid "Users overview" msgid "User accounts overview" -msgstr "Gebruikers overzicht" +msgstr "Gebruikersaccount overzicht" #: libraries/server_privileges.lib.php:4232 msgid "" @@ -12777,6 +12754,10 @@ msgid "" "will prevent other users from connecting if the host part of their account " "allows a connection from any (%) host." msgstr "" +"Een gebruikersaccount met rechten om verbinding te maken met localhost voor " +"elke gebruiker is aanwezig. Andere gebruikers kunnen dan geen verbinding " +"maken als het server deel van hun account een verbinding toestaat vanaf elke " +"server (%)." #: libraries/server_privileges.lib.php:4272 #, php-format @@ -13104,7 +13085,7 @@ msgstr "Opdracht" #: libraries/server_status_processes.lib.php:96 msgid "Progress" -msgstr "" +msgstr "Voortgang" #: libraries/server_status_processes.lib.php:253 #: libraries/server_status_variables.lib.php:39 @@ -13942,7 +13923,7 @@ msgstr "Globale waarde" #: libraries/server_variables.lib.php:242 msgid "This is a read-only variable and can not be edited" -msgstr "" +msgstr "Dit is een alleen-lezen variabele en kan niet worden gewijzigd" #: libraries/sql.lib.php:284 msgid "Detailed profile" @@ -14901,10 +14882,9 @@ msgid "Pick from Central Columns" msgstr "Kies uit centrale kolommen" #: templates/columns_definitions/column_virtuality.phtml:46 -#, fuzzy #| msgid "Compression" msgid "Expression" -msgstr "Compressie" +msgstr "Expressie" #: templates/columns_definitions/move_column.phtml:7 msgid "first" @@ -14932,7 +14912,7 @@ msgstr "" #: templates/columns_definitions/table_fields_definitions.phtml:70 msgid "Virtuality" -msgstr "" +msgstr "Virtualiteit" #: templates/columns_definitions/table_fields_definitions.phtml:76 msgid "Move column" From 5cd198ae144cc63b6fa5bbc1600b2c7611890e9d Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 21:50:13 +0200 Subject: [PATCH 03/19] Use variables instead of duplicate Jquery selectors. Remove useless "px". Signed-off-by: Hugues Peccatte --- js/pmd/move.js | 26 ++++++++++++++---------- templates/designer/database_tables.phtml | 4 ++-- templates/designer/table_list.phtml | 2 +- templates/error/report_form.phtml | 2 +- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/js/pmd/move.js b/js/pmd/move.js index 87795fd961..4fb219b1a1 100644 --- a/js/pmd/move.js +++ b/js/pmd/move.js @@ -195,14 +195,15 @@ function MouseMove(e) if (menu_moved) { delta_x = -delta_x; } - var new_width = $('#layer_menu').width() + delta_x; + var $layer_menu = $('#layer_menu'); + var new_width = $layer_menu.width() + delta_x; if (new_width < 150) { new_width = 150; } else { dx = e.pageX; } - $('#layer_menu').width(new_width); + $layer_menu.width(new_width); } if (ON_relation || ON_display_field) { @@ -265,12 +266,13 @@ function setDefaultValuesFromSavedState() } Grid(); - if ($('#relLineInvert').attr('class') === 'M_butt') { + var $relLineInvert = $('#relLineInvert'); + if ($relLineInvert.attr('class') === 'M_butt') { show_relation_lines = false; - $('#relLineInvert').attr('class', 'M_butt'); + $relLineInvert.attr('class', 'M_butt'); } else { show_relation_lines = true; - $('#relLineInvert').attr('class', 'M_butt_Selected_down'); + $relLineInvert.attr('class', 'M_butt_Selected_down'); } Relation_lines_invert(); @@ -281,14 +283,16 @@ function setDefaultValuesFromSavedState() always_show_text = false; } - if ($('#key_SB_all').attr('class') === 'M_butt_Selected_down') { - $('#key_SB_all').click(); - $('#key_SB_all').toggleClass('M_butt_Selected_down'); - $('#key_SB_all').toggleClass('M_butt'); + var $key_SB_all = $('#key_SB_all'); + if ($key_SB_all.attr('class') === 'M_butt_Selected_down') { + $key_SB_all.click(); + $key_SB_all.toggleClass('M_butt_Selected_down'); + $key_SB_all.toggleClass('M_butt'); } - if ($('#key_Left_Right').attr('class') === 'M_butt_Selected_down') { - $('#key_Left_Right').click(); + var $key_Left_Right = $('#key_Left_Right'); + if ($key_Left_Right.attr('class') === 'M_butt_Selected_down') { + $key_Left_Right.click(); } } diff --git a/templates/designer/database_tables.phtml b/templates/designer/database_tables.phtml index ad5c548568..e1ace02498 100755 --- a/templates/designer/database_tables.phtml +++ b/templates/designer/database_tables.phtml @@ -17,7 +17,7 @@ " type="checkbox" id="select_._" - style="margin: 0px;" + style="margin: 0;" title="select_" store_column_param=",,"> diff --git a/templates/designer/table_list.phtml b/templates/designer/table_list.phtml index ebbc6cac47..ca8511e386 100755 --- a/templates/designer/table_list.phtml +++ b/templates/designer/table_list.phtml @@ -39,7 +39,7 @@ " - style="margin:0px;" + style="margin:0;" type="checkbox" value="" checked="checked" /> diff --git a/templates/error/report_form.phtml b/templates/error/report_form.phtml index 847923d862..afca5a3148 100644 --- a/templates/error/report_form.phtml +++ b/templates/error/report_form.phtml @@ -1,6 +1,6 @@
-
+

Date: Mon, 20 Jul 2015 21:04:21 +0200 Subject: [PATCH 04/19] Translated using Weblate (Dutch) Currently translated at 100.0% (3161 of 3161 strings) [CI skip] --- po/nl.po | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/po/nl.po b/po/nl.po index b992af029e..917ea377db 100644 --- a/po/nl.po +++ b/po/nl.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.5.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2015-07-20 06:34-0400\n" -"PO-Revision-Date: 2015-07-20 21:03+0200\n" +"PO-Revision-Date: 2015-07-20 21:04+0200\n" "Last-Translator: dingo thirteen \n" "Language-Team: Dutch " "\n" @@ -708,7 +708,7 @@ msgstr "" #: import_status.php:103 msgid "Could not load the progress of the import." -msgstr "Voortgang van de import kon niet worden geladen." +msgstr "Voortgang van de import kon niet worden ingelezen." #: import_status.php:112 js/messages.php:378 libraries/Util.class.php:776 #: libraries/export.lib.php:515 @@ -6471,7 +6471,8 @@ msgstr "Voeg ON DUPLICATE KEY UPDATE toe" #: libraries/config/messages.inc.php:354 libraries/config/messages.inc.php:366 msgid "Update data when duplicate keys found on import" msgstr "" -"Werk data bij wanneer identieke sleutelvelden worden gevonden bij importeren" +"Werk data bij wanneer identieke sleutelvelden worden gevonden bij het " +"importeren" #: libraries/config/messages.inc.php:357 msgid "" From 1d3941178a8d6e07ef566f8a36970072296c08d4 Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Mon, 20 Jul 2015 18:30:12 +0200 Subject: [PATCH 05/19] Translated using Weblate (Sinhala) Currently translated at 61.6% (1950 of 3161 strings) [CI skip] --- po/si.po | 62 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/po/si.po b/po/si.po index ad7bc8dc93..57be0ea563 100644 --- a/po/si.po +++ b/po/si.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.5.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2015-07-20 06:34-0400\n" -"PO-Revision-Date: 2014-11-11 12:16+0200\n" +"PO-Revision-Date: 2015-07-20 18:30+0200\n" "Last-Translator: Madhura Jayaratne \n" -"Language-Team: Sinhala \n" +"Language-Team: Sinhala " +"\n" "Language: si\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.0\n" +"X-Generator: Weblate 2.4-dev\n" #: changelog.php:37 license.php:28 #, php-format @@ -43,7 +43,7 @@ msgstr "%1$s දත්තගබඩාව සාදන ලදි." #: db_datadict.php:48 libraries/operations.lib.php:31 msgid "Database comment" -msgstr "දත්තගබඩා විස්තර:" +msgstr "දත්තගබඩා විස්තර" #: db_datadict.php:94 #: libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php:997 @@ -313,7 +313,7 @@ msgstr "%sදෘශ්‍ය ගොඩනංවනය%s වෙත යන්න" #: libraries/plugins/auth/AuthenticationConfig.class.php:118 #: libraries/plugins/auth/AuthenticationHttp.class.php:91 msgid "Access denied!" -msgstr "පිවිසුම වලක්වා ඇත" +msgstr "පිවිසුම වලක්වා ඇත!" #: db_tracking.php:39 db_tracking.php:64 #, fuzzy @@ -4084,12 +4084,12 @@ msgstr "ටීකාව" #: libraries/Index.class.php:731 msgid "The primary key has been dropped." -msgstr "ප්‍රාථමික මූලය හලන ලදි" +msgstr "ප්‍රාථමික මූලය හලන ලදි." #: libraries/Index.class.php:740 #, php-format msgid "Index %s has been dropped." -msgstr "%s සූචිය හලන ලදි" +msgstr "%s සූචිය හලන ලදි." #: libraries/Index.class.php:757 libraries/Util.class.php:3657 #: libraries/Util.class.php:3658 libraries/operations.lib.php:1605 @@ -5061,7 +5061,7 @@ msgstr "වෙබ් සේවාදායකයේ %s උඩුගත #: libraries/Util.class.php:3623 libraries/insert_edit.lib.php:1173 #: libraries/sql_query_form.lib.php:476 msgid "The directory you set for upload work cannot be reached." -msgstr "අප්ලෝඩ් කිරීම් සඳහා සැකසූ ඩිරෙක්ටරිය වෙත පිවිසිය නොහැක" +msgstr "උඩුගත කිරීම් සඳහා සැකසූ ඩිරෙක්ටරිය වෙත පිවිසිය නොහැක." #: libraries/Util.class.php:3634 msgid "There are no files to upload!" @@ -5774,7 +5774,7 @@ msgstr "Blowfish රහස" #: libraries/config/messages.inc.php:39 msgid "Highlight selected rows." -msgstr "තෝරාගත් පේළි ඉස්මතු කරන්න" +msgstr "තෝරාගත් පේළි ඉස්මතු කරන්න." #: libraries/config/messages.inc.php:40 msgid "Row marker" @@ -5956,7 +5956,7 @@ msgstr "වගු සැකිල්ලට අදාල ක්‍රියාව #: libraries/config/messages.inc.php:104 msgid "Show server listing as a list instead of a drop down." -msgstr "සේවාදායකයන් පතනයක් ලෙස නොව ලැයිස්තුවක් ලෙස පෙන්වන්න" +msgstr "සේවාදායකයන් පතනයක් ලෙස නොව ලැයිස්තුවක් ලෙස පෙන්වන්න." #: libraries/config/messages.inc.php:105 msgid "Display servers as a list" @@ -5979,8 +5979,8 @@ msgid "" "Set the number of seconds a script is allowed to run ([kbd]0[/kbd] for no " "limit)." msgstr "" -"විධානාවලියක් ක්‍රියාත්මක වීමට ලබා දෙන කාලය සඳහා අගයක් සිටුවයි. (අසීමිත කාලයක් සඳහා [kbd]0[/" -"kbd] භාවිතා කරන්න)" +"විධානාවලියක් ක්‍රියාත්මක වීමට ලබා දෙන කාලය සඳහා අගයක් සිටුවයි. (අසීමිත කාලයක්" +" සඳහා [kbd]0[/kbd] භාවිතා කරන්න)." #: libraries/config/messages.inc.php:115 msgid "Maximum execution time" @@ -8401,7 +8401,7 @@ msgstr "පෙන්වීම සඳහා දත්ත නොමැත" #: libraries/structure.lib.php:2670 tbl_addfield.php:92 #, php-format msgid "Table %1$s has been altered successfully." -msgstr "%1$s වගුව සාර්ථකව වෙනස් කරන ලදි" +msgstr "%1$s වගුව සාර්ථකව වෙනස් කරන ලදි." #: libraries/controllers/TableRelationController.class.php:218 msgid "Display column was successfully updated." @@ -10145,7 +10145,7 @@ msgstr "" #: libraries/operations.lib.php:74 msgid "Rename database to" -msgstr "බවට දත්තගබඩාවේ නම වෙනස් කරන්න:" +msgstr "බවට දත්තගබඩාවේ නම වෙනස් කරන්න" #: libraries/operations.lib.php:94 libraries/operations.lib.php:242 #: libraries/operations.lib.php:861 libraries/operations.lib.php:955 @@ -10195,7 +10195,7 @@ msgstr "දත්ත පමණයි" #: libraries/operations.lib.php:201 msgid "Copy database to" -msgstr "වෙත දත්තගබඩාව පිටවත් කරන්න:" +msgstr "වෙත දත්තගබඩාව පිටවත් කරන්න" #: libraries/operations.lib.php:213 msgid "CREATE DATABASE before copying" @@ -10220,7 +10220,7 @@ msgstr "(singly)" #: libraries/operations.lib.php:824 msgid "Move table to (database.table)" -msgstr "වගුව (දත්තගබඩාව.වගුව) වෙතට ගෙන යන්න:" +msgstr "වගුව (දත්තගබඩාව.වගුව) වෙතට ගෙන යන්න" #: libraries/operations.lib.php:936 msgid "Rename table to" @@ -10244,7 +10244,7 @@ msgstr "" #: libraries/operations.lib.php:1251 msgid "Copy table to (database.table)" -msgstr "වගුව (දත්තගබඩාව.වගුව) වෙතට පිටපත් කරන්න:" +msgstr "වගුව (දත්තගබඩාව.වගුව) වෙතට පිටපත් කරන්න" #: libraries/operations.lib.php:1331 msgid "Switch to copied table" @@ -10398,7 +10398,7 @@ msgstr "මුර පදයක් නොමැතිව ඇතුල් වී #: libraries/plugins/AuthenticationPlugin.class.php:73 #, php-format msgid "No activity within %s seconds; please log in again." -msgstr "පසුගිය තත්පර %s තුල අක්‍රීයයි; නැවත ඇතුළු වන්න" +msgstr "පසුගිය තත්පර %s තුල අක්‍රීයයි; නැවත ඇතුළු වන්න." #: libraries/plugins/AuthenticationPlugin.class.php:82 #: libraries/plugins/AuthenticationPlugin.class.php:84 @@ -10499,7 +10499,7 @@ msgstr "%s ගොනුවෙහි යතුරු කිසිවක් අඩ #: libraries/plugins/auth/swekey/swekey.auth.lib.php:195 #: libraries/plugins/auth/swekey/swekey.auth.lib.php:216 msgid "Hardware authentication failed!" -msgstr "දෘඪාංග සත්‍යාපනය අසමත් විය" +msgstr "දෘඪාංග සත්‍යාපනය අසමත් විය!" #: libraries/plugins/auth/swekey/swekey.auth.lib.php:203 msgid "No valid authentication key plugged" @@ -12802,7 +12802,7 @@ msgstr "%s ගේ මුරපදය සාර්ථකව වෙනස් ක #: libraries/server_privileges.lib.php:1843 #, php-format msgid "You have revoked the privileges for %s." -msgstr "ඔබ %s සඳහා වරප්‍රසාද අහෝසි කර ඇත" +msgstr "ඔබ %s සඳහා වරප්‍රසාද අහෝසි කර ඇත." #: libraries/server_privileges.lib.php:1933 #: libraries/server_privileges.lib.php:4063 @@ -12819,16 +12819,17 @@ msgstr "භාවිතා කරන්නා සඳහා දත්තගබඩ #: libraries/server_privileges.lib.php:1946 msgid "Create database with same name and grant all privileges." -msgstr "එකම නමින් දත්තගබඩාවක සාදා සියලු වරප්‍රසාද එයට දෙන්න" +msgstr "එම නමින්ම දත්තගබඩාවක් සාදා එයට සියලු වරප්‍රසාද ප්‍රදානය කරන්න." #: libraries/server_privileges.lib.php:1952 msgid "Grant all privileges on wildcard name (username\\_%)." -msgstr "අභිමත ආදේශක නාමයන් සඳහා සියලු වරප්‍රසාද දෙන්න (භාවිත නාමය\\_%)" +msgstr "" +"අභිමත ආදේශක නාමයන් සඳහා සියලු වරප්‍රසාද ප්‍රදානය කරන්න (භාවිත නාමය\\_%)." #: libraries/server_privileges.lib.php:1961 #, php-format msgid "Grant all privileges on database \"%s\"." -msgstr "\"%s\" දත්තගබඩාව සඳහා සියලු වරප්‍රසාද ප්‍රදානය කරන්න" +msgstr "\"%s\" දත්තගබඩාව සඳහා සියලු වරප්‍රසාද ප්‍රදානය කරන්න." #: libraries/server_privileges.lib.php:2062 #: libraries/server_privileges.lib.php:2128 @@ -14230,7 +14231,7 @@ msgstr "දර්ශනය කිරීම පමණි" #: libraries/structure.lib.php:70 tbl_operations.php:382 #, php-format msgid "Table %s has been emptied." -msgstr "%s වගුව හිස් කරන ලදි" +msgstr "%s වගුව හිස් කරන ලදි." #: libraries/structure.lib.php:93 msgid "Tracking is active." @@ -14334,7 +14335,7 @@ msgstr "කිසිවක් නැත" #: libraries/structure.lib.php:1491 #, php-format msgid "Column %s has been dropped." -msgstr "%s තීරුව හලන ලදි" +msgstr "%s තීරුව හලන ලදි." #: libraries/structure.lib.php:1531 libraries/structure.lib.php:2272 msgid "Change" @@ -14387,10 +14388,9 @@ msgid "Improve table structure" msgstr "සැකිල්ලක් යෝජනා කරන්න" #: libraries/structure.lib.php:1707 -#, fuzzy #| msgid "Track table" msgid "Track view" -msgstr "වගුව අවධානයට ලක් කරන්න" +msgstr "දසුන අවධානයට ලක් කරන්න" #: libraries/structure.lib.php:1748 #, php-format @@ -14441,12 +14441,12 @@ msgstr "මීළඟ ක්‍රමාංකය" #: libraries/structure.lib.php:2164 libraries/structure.lib.php:2179 #, php-format msgid "An index has been added on %s." -msgstr "%s සඳහා සූචියක් එක්කරන ලදි" +msgstr "%s සඳහා සූචියක් එක්කරන ලදි." #: libraries/structure.lib.php:2150 #, php-format msgid "A primary key has been added on %s." -msgstr "%s ට ප්‍රාථමික මූලයක් එක් කරන ලදි" +msgstr "%s ට ප්‍රාථමික මූලයක් එක් කරන ලදි." #: libraries/structure.lib.php:2227 libraries/structure.lib.php:2298 msgid "Distinct values" @@ -14673,7 +14673,7 @@ msgstr "සිටුවම් පරිපාලනය" #: libraries/user_preferences.inc.php:46 prefs_manage.php:307 msgid "Configuration has been saved." -msgstr "වෙනස් කිරීම් සුරකින ලදි" +msgstr "වින්‍යාස සුරකින ලදි." #: libraries/user_preferences.inc.php:66 #, php-format From 71666da3921fdb02f1c569cacc8626f73ecceb28 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 21:53:28 +0200 Subject: [PATCH 06/19] Fix unterminated statements. Signed-off-by: Hugues Peccatte --- js/pmd/history.js | 4 ++-- js/sql.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/js/pmd/history.js b/js/pmd/history.js index 151efbaddd..bc31d7f7c6 100644 --- a/js/pmd/history.js +++ b/js/pmd/history.js @@ -359,9 +359,9 @@ var orderby = function(norder) { }; this.get_order = function() { return order; - } + }; this.set_order(norder); -} +}; /** * Having object closure, makes an object with all information of where diff --git a/js/sql.js b/js/sql.js index 7cf571b529..6815f7ed69 100644 --- a/js/sql.js +++ b/js/sql.js @@ -91,7 +91,7 @@ AJAX.registerTeardown('sql.js', function () { $(document).off('stickycolumns', ".sqlqueryresults"); $("#togglequerybox").unbind('click'); $(document).off('click', "#button_submit_query"); - $(document).off('change', '#id_bookmark') + $(document).off('change', '#id_bookmark'); $("input[name=bookmark_variable]").unbind("keypress"); $(document).off('submit', "#sqlqueryform.ajax"); $(document).off('click', "input[name=navig].ajax"); From 4dadfa16b2ae7a1125cb7f2a8a900cb4668fc18f Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 22:23:18 +0200 Subject: [PATCH 07/19] Remove useless call function parameter. Signed-off-by: Hugues Peccatte --- libraries/Table.class.php | 674 ++++++++++---------- test/libraries/core/PMA_fatalError_test.php | 5 +- test/selenium/TestBase.php | 2 +- 3 files changed, 346 insertions(+), 335 deletions(-) diff --git a/libraries/Table.class.php b/libraries/Table.class.php index 36bdec22cc..d59066f6d4 100644 --- a/libraries/Table.class.php +++ b/libraries/Table.class.php @@ -512,72 +512,75 @@ class PMA_Table ) { if (isset(PMA_Table::$cache[$db][$table]['ExactRows'])) { $row_count = PMA_Table::$cache[$db][$table]['ExactRows']; + return $row_count; + } + + $row_count = false; + + if (null === $is_view) { + $is_view = PMA_Table::isView($db, $table); + } + + if (! $force_exact) { + if (! isset(PMA_Table::$cache[$db][$table]['Rows']) && ! $is_view) { + $tmp_tables = $GLOBALS['dbi']->getTablesFull($db, $table); + if (isset($tmp_tables[$table])) { + PMA_Table::$cache[$db][$table] = $tmp_tables[$table]; + } + } + if (isset(PMA_Table::$cache[$db][$table]['Rows'])) { + $row_count = PMA_Table::$cache[$db][$table]['Rows']; + } else { + $row_count = false; + } + } + + // for a VIEW, $row_count is always false at this point + if (false !== $row_count + && $row_count >= $GLOBALS['cfg']['MaxExactCount'] + ) { + return $row_count; + } + + // Make an exception for views in I_S and D_D schema in + // Drizzle, as these map to in-memory data and should execute + // fast enough + if (! $is_view + || (PMA_DRIZZLE && $GLOBALS['dbi']->isSystemSchema($db)) + ) { + $row_count = $GLOBALS['dbi']->fetchValue( + 'SELECT COUNT(*) FROM ' . PMA_Util::backquote($db) . '.' + . PMA_Util::backquote($table) + ); } else { - $row_count = false; + // For complex views, even trying to get a partial record + // count could bring down a server, so we offer an + // alternative: setting MaxExactCountViews to 0 will bypass + // completely the record counting for views - if (null === $is_view) { - $is_view = PMA_Table::isView($db, $table); - } - - if (! $force_exact) { - if (! isset(PMA_Table::$cache[$db][$table]['Rows']) && ! $is_view) { - $tmp_tables = $GLOBALS['dbi']->getTablesFull($db, $table); - if (isset($tmp_tables[$table])) { - PMA_Table::$cache[$db][$table] = $tmp_tables[$table]; - } - } - if (isset(PMA_Table::$cache[$db][$table]['Rows'])) { - $row_count = PMA_Table::$cache[$db][$table]['Rows']; - } else { - $row_count = false; - } - } - - // for a VIEW, $row_count is always false at this point - if (false === $row_count - || $row_count < $GLOBALS['cfg']['MaxExactCount'] - ) { - // Make an exception for views in I_S and D_D schema in - // Drizzle, as these map to in-memory data and should execute - // fast enough - if (! $is_view - || (PMA_DRIZZLE && $GLOBALS['dbi']->isSystemSchema($db)) - ) { - $row_count = $GLOBALS['dbi']->fetchValue( - 'SELECT COUNT(*) FROM ' . PMA_Util::backquote($db) . '.' - . PMA_Util::backquote($table) - ); - } else { - // For complex views, even trying to get a partial record - // count could bring down a server, so we offer an - // alternative: setting MaxExactCountViews to 0 will bypass - // completely the record counting for views - - if ($GLOBALS['cfg']['MaxExactCountViews'] == 0) { - $row_count = 0; - } else { - // Counting all rows of a VIEW could be too long, - // so use a LIMIT clause. - // Use try_query because it can fail (when a VIEW is - // based on a table that no longer exists) - $result = $GLOBALS['dbi']->tryQuery( - 'SELECT 1 FROM ' . PMA_Util::backquote($db) . '.' - . PMA_Util::backquote($table) . ' LIMIT ' - . $GLOBALS['cfg']['MaxExactCountViews'], - null, - PMA_DatabaseInterface::QUERY_STORE - ); - if (!$GLOBALS['dbi']->getError()) { - $row_count = $GLOBALS['dbi']->numRows($result); - $GLOBALS['dbi']->freeResult($result); - } - } - } - if ($row_count) { - PMA_Table::$cache[$db][$table]['ExactRows'] = $row_count; + if ($GLOBALS['cfg']['MaxExactCountViews'] == 0) { + $row_count = 0; + } else { + // Counting all rows of a VIEW could be too long, + // so use a LIMIT clause. + // Use try_query because it can fail (when a VIEW is + // based on a table that no longer exists) + $result = $GLOBALS['dbi']->tryQuery( + 'SELECT 1 FROM ' . PMA_Util::backquote($db) . '.' + . PMA_Util::backquote($table) . ' LIMIT ' + . $GLOBALS['cfg']['MaxExactCountViews'], + null, + PMA_DatabaseInterface::QUERY_STORE + ); + if (!$GLOBALS['dbi']->getError()) { + $row_count = $GLOBALS['dbi']->numRows($result); + $GLOBALS['dbi']->freeResult($result); } } } + if ($row_count) { + PMA_Table::$cache[$db][$table]['ExactRows'] = $row_count; + } return $row_count; } // end of the 'PMA_Table::countRecords()' function @@ -643,67 +646,65 @@ class PMA_Table ) { $last_id = -1; - if (isset($GLOBALS['cfgRelation']) && $GLOBALS['cfgRelation'][$work]) { - $select_parts = array(); - $row_fields = array(); - foreach ($get_fields as $get_field) { - $select_parts[] = PMA_Util::backquote($get_field); - $row_fields[$get_field] = 'cc'; - } - - $where_parts = array(); - foreach ($where_fields as $_where => $_value) { - $where_parts[] = PMA_Util::backquote($_where) . ' = \'' - . PMA_Util::sqlAddSlashes($_value) . '\''; - } - - $new_parts = array(); - $new_value_parts = array(); - foreach ($new_fields as $_where => $_value) { - $new_parts[] = PMA_Util::backquote($_where); - $new_value_parts[] = PMA_Util::sqlAddSlashes($_value); - } - - $table_copy_query = ' - SELECT ' . implode(', ', $select_parts) . ' - FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' - . PMA_Util::backquote($GLOBALS['cfgRelation'][$pma_table]) . ' - WHERE ' . implode(' AND ', $where_parts); - - // must use PMA_DatabaseInterface::QUERY_STORE here, since we execute - // another query inside the loop - $table_copy_rs = PMA_queryAsControlUser( - $table_copy_query, true, PMA_DatabaseInterface::QUERY_STORE - ); - - while ($table_copy_row = @$GLOBALS['dbi']->fetchAssoc($table_copy_rs)) { - $value_parts = array(); - foreach ($table_copy_row as $_key => $_val) { - if (isset($row_fields[$_key]) && $row_fields[$_key] == 'cc') { - $value_parts[] = PMA_Util::sqlAddSlashes($_val); - } - } - - $new_table_query = 'INSERT IGNORE INTO ' - . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) - . '.' - . PMA_Util::backquote($GLOBALS['cfgRelation'][$pma_table]) - . ' (' . implode(', ', $select_parts) - . ', ' . implode(', ', $new_parts) - . ') VALUES (\'' - . implode('\', \'', $value_parts) . '\', \'' - . implode('\', \'', $new_value_parts) . '\')'; - - PMA_queryAsControlUser($new_table_query); - $last_id = $GLOBALS['dbi']->insertId(); - } // end while - - $GLOBALS['dbi']->freeResult($table_copy_rs); - - return $last_id; + if (!isset($GLOBALS['cfgRelation']) || !$GLOBALS['cfgRelation'][$work]) { + return true; } - return true; + $select_parts = array(); + $row_fields = array(); + foreach ($get_fields as $get_field) { + $select_parts[] = PMA_Util::backquote($get_field); + $row_fields[$get_field] = 'cc'; + } + + $where_parts = array(); + foreach ($where_fields as $_where => $_value) { + $where_parts[] = PMA_Util::backquote($_where) . ' = \'' + . PMA_Util::sqlAddSlashes($_value) . '\''; + } + + $new_parts = array(); + $new_value_parts = array(); + foreach ($new_fields as $_where => $_value) { + $new_parts[] = PMA_Util::backquote($_where); + $new_value_parts[] = PMA_Util::sqlAddSlashes($_value); + } + + $table_copy_query = ' + SELECT ' . implode(', ', $select_parts) . ' + FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' + . PMA_Util::backquote($GLOBALS['cfgRelation'][$pma_table]) . ' + WHERE ' . implode(' AND ', $where_parts); + + // must use PMA_DatabaseInterface::QUERY_STORE here, since we execute + // another query inside the loop + $table_copy_rs = PMA_queryAsControlUser( + $table_copy_query, true, PMA_DatabaseInterface::QUERY_STORE + ); + + while ($table_copy_row = @$GLOBALS['dbi']->fetchAssoc($table_copy_rs)) { + $value_parts = array(); + foreach ($table_copy_row as $_key => $_val) { + if (isset($row_fields[$_key]) && $row_fields[$_key] == 'cc') { + $value_parts[] = PMA_Util::sqlAddSlashes($_val); + } + } + + $new_table_query = 'INSERT IGNORE INTO ' + . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . PMA_Util::backquote($GLOBALS['cfgRelation'][$pma_table]) + . ' (' . implode(', ', $select_parts) . ', ' + . implode(', ', $new_parts) . ') VALUES (\'' + . implode('\', \'', $value_parts) . '\', \'' + . implode('\', \'', $new_value_parts) . '\')'; + + PMA_queryAsControlUser($new_table_query); + $last_id = $GLOBALS['dbi']->insertId(); + } // end while + + $GLOBALS['dbi']->freeResult($table_copy_rs); + + return $last_id; } // end of 'PMA_Table::duplicateInfo()' function /** @@ -1057,183 +1058,178 @@ class PMA_Table $GLOBALS['sql_query'] .= "\n\n" . $sql_drop_query . ';'; // end if ($move) - } else { - // we are copying - // Create new entries as duplicates from old PMA DBs - if ($what != 'dataonly' && ! isset($maintain_relations)) { - if ($GLOBALS['cfgRelation']['commwork']) { - // Get all comments and MIME-Types for current table - $comments_copy_rs = PMA_queryAsControlUser( - 'SELECT column_name, comment' - . ($GLOBALS['cfgRelation']['mimework'] + return true; + } + + // we are copying + // Create new entries as duplicates from old PMA DBs + if ($what == 'dataonly' || isset($maintain_relations)) { + return true; + } + + if ($GLOBALS['cfgRelation']['commwork']) { + // Get all comments and MIME-Types for current table + $comments_copy_rs = PMA_queryAsControlUser( + 'SELECT column_name, comment' + . ($GLOBALS['cfgRelation']['mimework'] + ? ', mimetype, transformation, transformation_options' + : '') + . ' FROM ' + . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' + . PMA_Util::backquote($GLOBALS['cfgRelation']['column_info']) + . ' WHERE ' + . ' db_name = \'' + . PMA_Util::sqlAddSlashes($source_db) . '\'' + . ' AND ' + . ' table_name = \'' + . PMA_Util::sqlAddSlashes($source_table) . '\'' + ); + + // Write every comment as new copied entry. [MIME] + while ($comments_copy_row + = $GLOBALS['dbi']->fetchAssoc($comments_copy_rs)) { + $new_comment_query = 'REPLACE INTO ' + . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . PMA_Util::backquote( + $GLOBALS['cfgRelation']['column_info'] + ) + . ' (db_name, table_name, column_name, comment' + . ($GLOBALS['cfgRelation']['mimework'] ? ', mimetype, transformation, transformation_options' : '') - . ' FROM ' - . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) - . '.' - . PMA_Util::backquote($GLOBALS['cfgRelation']['column_info']) - . ' WHERE ' - . ' db_name = \'' - . PMA_Util::sqlAddSlashes($source_db) . '\'' - . ' AND ' - . ' table_name = \'' - . PMA_Util::sqlAddSlashes($source_table) . '\'' - ); - - // Write every comment as new copied entry. [MIME] - while ($comments_copy_row - = $GLOBALS['dbi']->fetchAssoc($comments_copy_rs)) { - $new_comment_query = 'REPLACE INTO ' - . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) - . '.' - . PMA_Util::backquote( - $GLOBALS['cfgRelation']['column_info'] - ) - . ' (db_name, table_name, column_name, comment' - . ($GLOBALS['cfgRelation']['mimework'] - ? ', mimetype, transformation, transformation_options' - : '') - . ') ' - . ' VALUES(' - . '\'' . PMA_Util::sqlAddSlashes($target_db) - . '\',' - . '\'' . PMA_Util::sqlAddSlashes($target_table) - . '\',' - . '\'' - . PMA_Util::sqlAddSlashes( - $comments_copy_row['column_name'] - ) - . '\'' - . ($GLOBALS['cfgRelation']['mimework'] - ? ',\'' - . PMA_Util::sqlAddSlashes( - $comments_copy_row['comment'] - ) . '\',' - . '\'' . PMA_Util::sqlAddSlashes( - $comments_copy_row['mimetype'] - ) . '\',' - . '\'' . PMA_Util::sqlAddSlashes( - $comments_copy_row['transformation'] - ) . '\',' - . '\'' . PMA_Util::sqlAddSlashes( - $comments_copy_row['transformation_options'] - ) . '\'' - : '') - . ')'; - PMA_queryAsControlUser($new_comment_query); - } // end while - $GLOBALS['dbi']->freeResult($comments_copy_rs); - unset($comments_copy_rs); - } - - // duplicating the bookmarks must not be done here, but - // just once per db - - $get_fields = array('display_field'); - $where_fields = array( - 'db_name' => $source_db, - 'table_name' => $source_table - ); - $new_fields = array( - 'db_name' => $target_db, - 'table_name' => $target_table - ); - PMA_Table::duplicateInfo( - 'displaywork', - 'table_info', - $get_fields, - $where_fields, - $new_fields - ); - - /** - * @todo revise this code when we support cross-db relations - */ - $get_fields = array( - 'master_field', - 'foreign_table', - 'foreign_field' - ); - $where_fields = array( - 'master_db' => $source_db, - 'master_table' => $source_table - ); - $new_fields = array( - 'master_db' => $target_db, - 'foreign_db' => $target_db, - 'master_table' => $target_table - ); - PMA_Table::duplicateInfo( - 'relwork', - 'relation', - $get_fields, - $where_fields, - $new_fields - ); - - $get_fields = array( - 'foreign_field', - 'master_table', - 'master_field' - ); - $where_fields = array( - 'foreign_db' => $source_db, - 'foreign_table' => $source_table - ); - $new_fields = array( - 'master_db' => $target_db, - 'foreign_db' => $target_db, - 'foreign_table' => $target_table - ); - PMA_Table::duplicateInfo( - 'relwork', - 'relation', - $get_fields, - $where_fields, - $new_fields - ); - - /** - * @todo Can't get duplicating PDFs the right way. The - * page numbers always get screwed up independently from - * duplication because the numbers do not seem to be stored on a - * per-database basis. Would the author of pdf support please - * have a look at it? - * - $get_fields = array('page_descr'); - $where_fields = array('db_name' => $source_db); - $new_fields = array('db_name' => $target_db); - $last_id = PMA_Table::duplicateInfo( - 'pdfwork', - 'pdf_pages', - $get_fields, - $where_fields, - $new_fields - ); - - if (isset($last_id) && $last_id >= 0) { - $get_fields = array('x', 'y'); - $where_fields = array( - 'db_name' => $source_db, - 'table_name' => $source_table - ); - $new_fields = array( - 'db_name' => $target_db, - 'table_name' => $target_table, - 'pdf_page_number' => $last_id - ); - PMA_Table::duplicateInfo( - 'pdfwork', - 'table_coords', - $get_fields, - $where_fields, - $new_fields - ); - } - */ - } + . ') ' . ' VALUES(' . '\'' . PMA_Util::sqlAddSlashes($target_db) + . '\',\'' . PMA_Util::sqlAddSlashes($target_table) . '\',\'' + . PMA_Util::sqlAddSlashes($comments_copy_row['column_name']) + . '\'' + . ($GLOBALS['cfgRelation']['mimework'] + ? ',\'' . PMA_Util::sqlAddSlashes( + $comments_copy_row['comment'] + ) + . '\',' . '\'' . PMA_Util::sqlAddSlashes( + $comments_copy_row['mimetype'] + ) + . '\',' . '\'' . PMA_Util::sqlAddSlashes( + $comments_copy_row['transformation'] + ) + . '\',' . '\'' . PMA_Util::sqlAddSlashes( + $comments_copy_row['transformation_options'] + ) + . '\'' + : '') + . ')'; + PMA_queryAsControlUser($new_comment_query); + } // end while + $GLOBALS['dbi']->freeResult($comments_copy_rs); + unset($comments_copy_rs); } + // duplicating the bookmarks must not be done here, but + // just once per db + + $get_fields = array('display_field'); + $where_fields = array( + 'db_name' => $source_db, + 'table_name' => $source_table + ); + $new_fields = array( + 'db_name' => $target_db, + 'table_name' => $target_table + ); + PMA_Table::duplicateInfo( + 'displaywork', + 'table_info', + $get_fields, + $where_fields, + $new_fields + ); + + /** + * @todo revise this code when we support cross-db relations + */ + $get_fields = array( + 'master_field', + 'foreign_table', + 'foreign_field' + ); + $where_fields = array( + 'master_db' => $source_db, + 'master_table' => $source_table + ); + $new_fields = array( + 'master_db' => $target_db, + 'foreign_db' => $target_db, + 'master_table' => $target_table + ); + PMA_Table::duplicateInfo( + 'relwork', + 'relation', + $get_fields, + $where_fields, + $new_fields + ); + + $get_fields = array( + 'foreign_field', + 'master_table', + 'master_field' + ); + $where_fields = array( + 'foreign_db' => $source_db, + 'foreign_table' => $source_table + ); + $new_fields = array( + 'master_db' => $target_db, + 'foreign_db' => $target_db, + 'foreign_table' => $target_table + ); + PMA_Table::duplicateInfo( + 'relwork', + 'relation', + $get_fields, + $where_fields, + $new_fields + ); + + /** + * @todo Can't get duplicating PDFs the right way. The + * page numbers always get screwed up independently from + * duplication because the numbers do not seem to be stored on a + * per-database basis. Would the author of pdf support please + * have a look at it? + * + $get_fields = array('page_descr'); + $where_fields = array('db_name' => $source_db); + $new_fields = array('db_name' => $target_db); + $last_id = PMA_Table::duplicateInfo( + 'pdfwork', + 'pdf_pages', + $get_fields, + $where_fields, + $new_fields + ); + + if (isset($last_id) && $last_id >= 0) { + $get_fields = array('x', 'y'); + $where_fields = array( + 'db_name' => $source_db, + 'table_name' => $source_table + ); + $new_fields = array( + 'db_name' => $target_db, + 'table_name' => $target_table, + 'pdf_page_number' => $last_id + ); + PMA_Table::duplicateInfo( + 'pdfwork', + 'table_coords', + $get_fields, + $where_fields, + $new_fields + ); + } + */ + return true; } @@ -1558,7 +1554,10 @@ class PMA_Table if (!$success) { $message = PMA_Message::error( sprintf( - __('Failed to cleanup table UI preferences (see $cfg[\'Servers\'][$i][\'MaxTableUiprefs\'] %s)'), + __( + 'Failed to cleanup table UI preferences (see ' . + '$cfg[\'Servers\'][$i][\'MaxTableUiprefs\'] %s)' + ), PMA_Util::showDocu('config', 'cfg_Servers_MaxTableUiprefs') ) ); @@ -1714,7 +1713,11 @@ class PMA_Table // so don't save return PMA_Message::error( sprintf( - __('Cannot save UI property "%s". The changes made will not be persistent after you refresh this page. Please check if the table structure has been changed.'), + __( + 'Cannot save UI property "%s". The changes made will ' . + 'not be persistent after you refresh this page. ' . + 'Please check if the table structure has been changed.' + ), $property ) ); @@ -1938,16 +1941,20 @@ class PMA_Table $upd_query = 'DELETE FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['table_info']) - . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($this->db_name) . '\'' - . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($this->name) . '\''; + . ' WHERE db_name = \'' + . PMA_Util::sqlAddSlashes($this->db_name) . '\'' + . ' AND table_name = \'' + . PMA_Util::sqlAddSlashes($this->name) . '\''; } elseif ($disp != $display_field) { $upd_query = 'UPDATE ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['table_info']) . ' SET display_field = \'' . PMA_Util::sqlAddSlashes($display_field) . '\'' - . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($this->db_name) . '\'' - . ' AND table_name = \'' . PMA_Util::sqlAddSlashes($this->name) . '\''; + . ' WHERE db_name = \'' + . PMA_Util::sqlAddSlashes($this->db_name) . '\'' + . ' AND table_name = \'' + . PMA_Util::sqlAddSlashes($this->name) . '\''; } } elseif ($display_field != '') { $upd_query = 'INSERT INTO ' @@ -2018,8 +2025,8 @@ class PMA_Table ) { $upd_query = 'UPDATE ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) - . '.' . PMA_Util::backquote($cfgRelation['relation']) . ' SET' - . ' foreign_db = \'' + . '.' . PMA_Util::backquote($cfgRelation['relation']) + . ' SET foreign_db = \'' . PMA_Util::sqlAddSlashes($foreign_db) . '\', ' . ' foreign_table = \'' . PMA_Util::sqlAddSlashes($foreign_table) . '\', ' @@ -2036,10 +2043,12 @@ class PMA_Table $upd_query = 'DELETE FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . PMA_Util::backquote($cfgRelation['relation']) - . ' WHERE master_db = \'' . PMA_Util::sqlAddSlashes($this->db_name) . '\'' - . ' AND master_table = \'' . PMA_Util::sqlAddSlashes($this->name) . '\'' - . ' AND master_field = \'' . PMA_Util::sqlAddSlashes($master_field) - . '\''; + . ' WHERE master_db = \'' + . PMA_Util::sqlAddSlashes($this->db_name) . '\'' + . ' AND master_table = \'' + . PMA_Util::sqlAddSlashes($this->name) . '\'' + . ' AND master_field = \'' + . PMA_Util::sqlAddSlashes($master_field) . '\''; } // end if... else.... if (isset($upd_query)) { @@ -2112,13 +2121,16 @@ class PMA_Table && ! $empty_fields ) { if (isset($existrel_foreign[$master_field_md5])) { - $constraint_name = $existrel_foreign[$master_field_md5]['constraint']; - $on_delete = ! empty( - $existrel_foreign[$master_field_md5]['on_delete']) + $constraint_name + = $existrel_foreign[$master_field_md5]['constraint']; + $on_delete = !empty( + $existrel_foreign[$master_field_md5]['on_delete'] + ) ? $existrel_foreign[$master_field_md5]['on_delete'] : 'RESTRICT'; $on_update = ! empty( - $existrel_foreign[$master_field_md5]['on_update']) + $existrel_foreign[$master_field_md5]['on_update'] + ) ? $existrel_foreign[$master_field_md5]['on_update'] : 'RESTRICT'; @@ -2317,30 +2329,32 @@ class PMA_Table } $columns = $this->dbi->fetchResult($sql, 'Field', 'Expression'); return $columns; - } else { - $createTable = $this->showCreate(); - if ($createTable) { - $parser = new SqlParser\Parser($createTable); - /** - * @var CreateStatement $stmt - */ - $stmt = $parser->statements[0]; - $fields = SqlParser\Utils\Table::getFields($stmt); - if ($column != null) { - $expression = isset($fields[$column]['expr']) ? - substr($fields[$column]['expr'], 1, -1) : ''; - return array($column => $expression); - } + } - $ret = array(); - foreach ($fields as $field => $options) { - if (isset($options['expr'])) { - $ret[$field] = substr($options['expr'], 1, -1); - } - } - return $ret; + $createTable = $this->showCreate(); + if (!$createTable) { + return; + } + + $parser = new SqlParser\Parser($createTable); + /** + * @var CreateStatement $stmt + */ + $stmt = $parser->statements[0]; + $fields = SqlParser\Utils\Table::getFields($stmt); + if ($column != null) { + $expression = isset($fields[$column]['expr']) ? + substr($fields[$column]['expr'], 1, -1) : ''; + return array($column => $expression); + } + + $ret = array(); + foreach ($fields as $field => $options) { + if (isset($options['expr'])) { + $ret[$field] = substr($options['expr'], 1, -1); } } + return $ret; } /** diff --git a/test/libraries/core/PMA_fatalError_test.php b/test/libraries/core/PMA_fatalError_test.php index 8233b68536..7ab7c893ac 100644 --- a/test/libraries/core/PMA_fatalError_test.php +++ b/test/libraries/core/PMA_fatalError_test.php @@ -79,10 +79,7 @@ class PMA_FatalError_Test extends PHPUnit_Framework_TestCase $message = "Fatal error #%d in file %s."; $params = array(1, 'error_file.php'); - $this->expectOutputRegex( - "/Fatal error #1 in file error_file.php./", - "Not EQ" - ); + $this->expectOutputRegex("/Fatal error #1 in file error_file.php./"); PMA_fatalError($message, $params); $message = "Fatal error in file %s."; diff --git a/test/selenium/TestBase.php b/test/selenium/TestBase.php index 090d35e1cf..a60cd09dad 100644 --- a/test/selenium/TestBase.php +++ b/test/selenium/TestBase.php @@ -512,7 +512,7 @@ abstract class PMA_SeleniumBase extends PHPUnit_Extensions_Selenium2TestCase * Wrapper around alertText method to not use it on not supported * browsers. * - * @return void + * @return mixed */ public function alertText() { From 9bd54931c069ec8941d36b54eba8d1fc34ba61cb Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 22:23:41 +0200 Subject: [PATCH 08/19] Remove useless closing PHP tag. Signed-off-by: Hugues Peccatte --- themes/original/info.inc.php | 1 - themes/original/layout.inc.php | 2 -- themes/original/sprites.lib.php | 1 - themes/pmahomme/info.inc.php | 1 - themes/pmahomme/layout.inc.php | 2 -- themes/pmahomme/sprites.lib.php | 1 - 6 files changed, 8 deletions(-) diff --git a/themes/original/info.inc.php b/themes/original/info.inc.php index 28866d6bf3..ce2287a0f8 100644 --- a/themes/original/info.inc.php +++ b/themes/original/info.inc.php @@ -12,4 +12,3 @@ */ $theme_name = 'Original'; $theme_full_version = '2.9'; -?> diff --git a/themes/original/layout.inc.php b/themes/original/layout.inc.php index c1a9f2be01..cfa1dc0f48 100644 --- a/themes/original/layout.inc.php +++ b/themes/original/layout.inc.php @@ -74,5 +74,3 @@ $GLOBALS['cfg']['ThColor'] = '#000000'; $GLOBALS['cfg']['BgOne'] = '#E5E5E5'; // table data row background, alternate $GLOBALS['cfg']['BgTwo'] = '#D5D5D5'; - -?> diff --git a/themes/original/sprites.lib.php b/themes/original/sprites.lib.php index c671693060..dc93fd3e6d 100644 --- a/themes/original/sprites.lib.php +++ b/themes/original/sprites.lib.php @@ -717,4 +717,3 @@ function PMA_sprites() ), ); } -?> diff --git a/themes/pmahomme/info.inc.php b/themes/pmahomme/info.inc.php index 0c32532d17..cd47da6d19 100644 --- a/themes/pmahomme/info.inc.php +++ b/themes/pmahomme/info.inc.php @@ -18,4 +18,3 @@ $theme_name = 'pmahomme'; $theme_full_version = '1.1'; -?> diff --git a/themes/pmahomme/layout.inc.php b/themes/pmahomme/layout.inc.php index e43eb87164..ccb8c1194d 100644 --- a/themes/pmahomme/layout.inc.php +++ b/themes/pmahomme/layout.inc.php @@ -75,5 +75,3 @@ $GLOBALS['cfg']['ThColor'] = '#000'; $GLOBALS['cfg']['BgOne'] = '#E5E5E5'; // table data row background, alternate $GLOBALS['cfg']['BgTwo'] = '#D5D5D5'; - -?> diff --git a/themes/pmahomme/sprites.lib.php b/themes/pmahomme/sprites.lib.php index 9220a9ecfa..8e828d98b8 100644 --- a/themes/pmahomme/sprites.lib.php +++ b/themes/pmahomme/sprites.lib.php @@ -802,4 +802,3 @@ function PMA_sprites() ), ); } -?> From 119e745d26a8227550e38a0ef63a26ad69768b33 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:28:51 +0200 Subject: [PATCH 09/19] Simplify if statements. Remove duplicate Jquery selector. Signed-off-by: Hugues Peccatte --- js/navigation.js | 10 ++++------ js/tbl_change.js | 42 ++++++++++++++---------------------------- 2 files changed, 18 insertions(+), 34 deletions(-) diff --git a/js/navigation.js b/js/navigation.js index 01ee1e3364..e1afcae0e2 100644 --- a/js/navigation.js +++ b/js/navigation.js @@ -904,15 +904,13 @@ function PMA_reloadNavigation(callback, paths) { } function PMA_selectCurrentDb() { - if ($('#navi_db_select').length) { + var $navi_db_select = ('#navi_db_select'); + if ($navi_db_select.length) { if (PMA_commonParams.get('db')) { // db selected $('#navi_db_select').show(); } - $('#navi_db_select').val(PMA_commonParams.get('db')); - if ($('#navi_db_select').val() !== PMA_commonParams.get('db')) { - return false; - } - return true; + $navi_db_select.val(PMA_commonParams.get('db')); + return $navi_db_select.val() === PMA_commonParams.get('db'); } } diff --git a/js/tbl_change.js b/js/tbl_change.js index cedaafbcc1..4d70dbcee7 100644 --- a/js/tbl_change.js +++ b/js/tbl_change.js @@ -339,38 +339,28 @@ AJAX.registerOnload('tbl_change.js', function () { // validate the comment form when it is submitted $("#insertForm").validate(); jQuery.validator.addMethod("validationFunctionForHex", function(value, element) { - if (value.match(/^[a-f0-9]*$/i) === null) { - return false; - } else { - return true; - } + return value.match(/^[a-f0-9]*$/i) !== null; }); jQuery.validator.addMethod("validationFunctionForFuns", function(value, element, options) { if (value.substring(0, 3) === "AES" && options.data('type') !== 'HEX') { return false; - } else if (value.substring(0, 3) === "MD5" - && typeof options.data('maxlength') !== 'undefined' - && options.data('maxlength') < 32) { - return false; - } else { - return true; } + + return !(value.substring(0, 3) === "MD5" + && typeof options.data('maxlength') !== 'undefined' + && options.data('maxlength') < 32); }); jQuery.validator.addMethod("validationFunctionForDateTime", function(value, element, options) { var dt_value = value; var theType = options; if (theType == "date") { - if (! isDate(dt_value)) { - return false; - } - return true; + return isDate(dt_value); + } else if (theType == "time") { - if (! isTime(dt_value)) { - return false; - } - return true; + return isTime(dt_value); + } else if (theType == "datetime" || theType == "timestamp") { var tmstmp = false; dt_value = dt_value.trim(); @@ -385,16 +375,12 @@ AJAX.registerOnload('tbl_change.js', function () { } var dv = dt_value.indexOf(" "); if (dv == -1) { // Only the date component, which is valid - if (! isDate(dt_value, tmstmp)) { - return false; - } - return true; + return isDate(dt_value, tmstmp); + } else { - if (! (isDate(dt_value.substring(0, dv), tmstmp) - && isTime(dt_value.substring(dv + 1)))) { - return false; - } - return true; + return isDate(dt_value.substring(0, dv), tmstmp) + && isTime(dt_value.substring(dv + 1)); + } } }); From 88f301c72f8f502731bbdfb965761097ce55dae6 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:31:43 +0200 Subject: [PATCH 10/19] Optimize CSS properties. Signed-off-by: Hugues Peccatte --- themes/original/css/printview.css | 1 - themes/pmahomme/css/printview.css | 1 - 2 files changed, 2 deletions(-) diff --git a/themes/original/css/printview.css b/themes/original/css/printview.css index 0b4d69de14..5ee47195e2 100644 --- a/themes/original/css/printview.css +++ b/themes/original/css/printview.css @@ -57,7 +57,6 @@ font-weight: bold; background-color: #e5e5e5; border: .1em solid #000; - border-right: .1em solid #000; } th.vtop, td.vtop { diff --git a/themes/pmahomme/css/printview.css b/themes/pmahomme/css/printview.css index 0b4d69de14..5ee47195e2 100644 --- a/themes/pmahomme/css/printview.css +++ b/themes/pmahomme/css/printview.css @@ -57,7 +57,6 @@ font-weight: bold; background-color: #e5e5e5; border: .1em solid #000; - border-right: .1em solid #000; } th.vtop, td.vtop { From e1696fe7d66417934cb9cdc4c46c91962c70cf96 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:32:32 +0200 Subject: [PATCH 11/19] Optimize CSS properties. Signed-off-by: Hugues Peccatte --- setup/styles.css | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/setup/styles.css b/setup/styles.css index 77237a08a1..1b82725d0a 100644 --- a/setup/styles.css +++ b/setup/styles.css @@ -124,8 +124,7 @@ div.notice, div.error { margin: .5em 0 1.3em 0; border: 1px solid; - background-repeat: no-repeat; - background-position: 10px 10px; + background: no-repeat 10px 10px; padding: 10px 10px 10px 25px; -moz-border-radius: 5px; @@ -151,9 +150,7 @@ div.error { h1.success, div.success { border-color: #a2d246; - background-image: url(../themes/pmahomme/img/s_success.png); - background-repeat: no-repeat; - background-position: 5px 10px; + background: url(../themes/pmahomme/img/s_success.png) no-repeat 5px 10px; } .success h4 { border-color: #00FF00; @@ -167,9 +164,7 @@ div.success { h1.notice, div.notice { border-color: #3a6c7e; - background-image: url(../themes/pmahomme/img/s_notice.png); - background-repeat: no-repeat; - background-position: 5px 10px; + background: url(../themes/pmahomme/img/s_notice.png) no-repeat 5px 10px; } .notice h4 { @@ -185,9 +180,7 @@ div.notice { h1.error, div.error { border-color: #333; - background-image: url(../themes/pmahomme/img/s_error.png); - background-repeat: no-repeat; - background-position: 5px 10px; + background: url(../themes/pmahomme/img/s_error.png) no-repeat 5px 10px; } div.error h4 { From 84ebb98e544b5b185e180b384f12bcebdcec8319 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:43:53 +0200 Subject: [PATCH 12/19] Remove duplicate CSS selectors. Signed-off-by: Hugues Peccatte --- js/ajax.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/js/ajax.js b/js/ajax.js index a4d0cc09d9..2bff5a23bb 100644 --- a/js/ajax.js +++ b/js/ajax.js @@ -390,12 +390,13 @@ var AJAX = { .not('#pma_console_container') .not('#prefs_autoload') .remove(); + var $page_content = $('#page_content'); // Replace #page_content with new content if (data.message && data.message.length > 0) { - $('#page_content').replaceWith( + $page_content.replaceWith( "

" + data.message + "
" ); - PMA_highlightSQL($('#page_content')); + PMA_highlightSQL($page_content); checkNumberOfFields(); } @@ -431,8 +432,8 @@ var AJAX = { PMA_commonParams.setAll(data._params); } if (data._displayMessage) { - $('#page_content').prepend(data._displayMessage); - PMA_highlightSQL($('#page_content')); + $page_content.prepend(data._displayMessage); + PMA_highlightSQL($page_content); } $('#pma_errors').remove(); @@ -650,11 +651,12 @@ AJAX.registerOnload('functions.js', function () { } }); + var $page_content = $('#page_content'); /** * Workaround for passing submit button name,value on ajax form submit * by appending hidden element with submit button name and value. */ - $("#page_content").on('click', 'form input[type=submit]', function() { + $page_content.on('click', 'form input[type=submit]', function() { var buttonName = $(this).attr('name'); if (typeof buttonName === 'undefined') { return; @@ -670,7 +672,7 @@ AJAX.registerOnload('functions.js', function () { * Attach event listener to events when user modify visible * Input,Textarea and select fields to make changes in forms */ - $('#page_content').on( + $page_content.on( 'keyup change', 'form.lock-page textarea, ' + 'form.lock-page input[type="text"], ' + @@ -679,7 +681,7 @@ AJAX.registerOnload('functions.js', function () { {value:1}, AJAX.lockPageHandler ); - $('#page_content').on( + $page_content.on( 'change', 'form.lock-page input[type="checkbox"], ' + 'form.lock-page input[type="radio"]', From d9d0d730c791a21b480a0eb559fc251d398e573c Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:44:04 +0200 Subject: [PATCH 13/19] Improve CSS selectors. Signed-off-by: Hugues Peccatte --- js/ajax.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ajax.js b/js/ajax.js index 2bff5a23bb..4b342fc14f 100644 --- a/js/ajax.js +++ b/js/ajax.js @@ -412,7 +412,7 @@ var AJAX = { var replacement = $selflink_replace[source]; data._selflink = data._selflink.replace(source, replacement); } - $('#selflink > a').attr('href', data._selflink); + $('#selflink').find('> a').attr('href', data._selflink); } if (data._scripts) { AJAX.scriptHandler.load(data._scripts); @@ -709,7 +709,7 @@ $(function () { if (history && history.pushState) { //set initial state reload var initState = ('state' in window.history && window.history.state !== null); - var initURL = $('#selflink > a').attr('href') || location.href; + var initURL = $('#selflink').find('> a').attr('href') || location.href; var state = { url : initURL, menu : menuContent From b8e6367b4ce41ef66911cc813fed7d6d8676e7de Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:49:30 +0200 Subject: [PATCH 14/19] Improve CSS selectors. Remove duplicates CSS selectors. Signed-off-by: Hugues Peccatte --- js/common.js | 17 ++++++++++------- js/config.js | 9 +++++---- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/js/common.js b/js/common.js index 22c38d2c12..42bca09eb0 100644 --- a/js/common.js +++ b/js/common.js @@ -140,7 +140,7 @@ var PMA_commonActions = { */ refreshMain: function (url, callback) { if (! url) { - url = $('#selflink a').attr('href'); + url = $('#selflink').find('a').attr('href'); url = url.substring(0, url.indexOf('?')); } url += PMA_commonParams.getUrlQuery(); @@ -350,9 +350,10 @@ PMA_DROP_IMPORT = { _dragleave: function (event) { event.stopPropagation(); event.preventDefault(); - $(".pma_drop_handler").clearQueue().stop(); - $(".pma_drop_handler").fadeOut(); - $(".pma_drop_handler").html(PMA_messages.dropImportDropFiles); + var $pma_drop_handler = $(".pma_drop_handler") + $pma_drop_handler.clearQueue().stop(); + $pma_drop_handler.fadeOut(); + $pma_drop_handler.html(PMA_messages.dropImportDropFiles); }, /** * Called when upload has finished @@ -423,15 +424,17 @@ PMA_DROP_IMPORT = { var ext = (PMA_DROP_IMPORT._getExtension(files[i].name)); var hash = AJAX.hash(++PMA_DROP_IMPORT.uploadCount); - $(".pma_sql_import_status div").append('
  • ' + + var $pma_sql_import_status_div = $(".pma_sql_import_status div") + $pma_sql_import_status_div.append('
  • ' + ((ext !== '') ? '' : ' ') + escapeHtml(files[i].name) + '' +(files[i].size/1024).toFixed(2) + ' kb
  • '); //scroll the UI to bottom - $(".pma_sql_import_status div").scrollTop( - $(".pma_sql_import_status div").scrollTop() + 50); //50 hardcoded for now + $pma_sql_import_status_div.scrollTop( + $pma_sql_import_status_div.scrollTop() + 50 + ); //50 hardcoded for now if (ext !== '') { // Increment liveUploadCount by one diff --git a/js/config.js b/js/config.js index 10a9682b50..2b173cf47d 100644 --- a/js/config.js +++ b/js/config.js @@ -17,8 +17,9 @@ AJAX.registerTeardown('config.js', function () { }); AJAX.registerOnload('config.js', function () { - $('#topmenu2.user_prefs_tabs').find('li.active a').attr('rel', 'samepage'); - $('#topmenu2.user_prefs_tabs').find('li:not(.active) a').attr('rel', 'newpage'); + var $topmenu_upt = $('#topmenu2.user_prefs_tabs'); + $topmenu_upt.find('li.active a').attr('rel', 'samepage'); + $topmenu_upt.find('li:not(.active) a').attr('rel', 'newpage'); }); // default values for fields @@ -496,7 +497,7 @@ function setupValidation() { } // register validators and mark custom values var $elements = $('.optbox input[id], .optbox select[id], .optbox textarea[id]'); - $('.optbox input[id], .optbox select[id], .optbox textarea[id]').each(function () { + $elements.each(function () { markField(this); var $el = $(this); $el.bind('change', function () { @@ -802,7 +803,7 @@ function updatePrefsDate() '@DATE@', PMA_formatDateTime(d) ); - $('#opts_import_local_storage div.localStorage-exists').html(msg); + $('#opts_import_local_storage').find('div.localStorage-exists').html(msg); } /** From 71999ae81f1468002c629e30bc1ade698a6dcf68 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Mon, 20 Jul 2015 23:56:51 +0200 Subject: [PATCH 15/19] Remove unnecessary semicolons. Signed-off-by: Hugues Peccatte --- js/page_settings.js | 2 +- js/pmd/move.js | 4 ++-- js/rte.js | 2 +- js/tbl_change.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/page_settings.js b/js/page_settings.js index 5c02ba6515..c0055bed8c 100644 --- a/js/page_settings.js +++ b/js/page_settings.js @@ -19,7 +19,7 @@ function showSettings(selector) { }; // Keeping a clone to restore in case the user cancels the operation - var $clone = $(selector + ' .page_settings').clone(true);; + var $clone = $(selector + ' .page_settings').clone(true); $(selector) .dialog({ title: PMA_messages.strPageSettings, diff --git a/js/pmd/move.js b/js/pmd/move.js index 4fb219b1a1..210f9c6ade 100644 --- a/js/pmd/move.js +++ b/js/pmd/move.js @@ -182,7 +182,7 @@ function MouseMove(e) if (ON_grid) { new_x = parseInt(new_x / grid_size) * grid_size; new_y = parseInt(new_y / grid_size) * grid_size; - }; + } $cur_click.css('left', new_x + 'px'); $cur_click.css('top', new_y + 'px'); @@ -1535,7 +1535,7 @@ function No_have_constr(id_this) if (id_this.alt == 'v') { id_this.alt = '>'; - id_this.src = id_this.dataset.right;; + id_this.src = id_this.dataset.right; } else { id_this.alt = 'v'; id_this.src = id_this.dataset.down; diff --git a/js/rte.js b/js/rte.js index 4248f07ee3..fcc85d7b3f 100644 --- a/js/rte.js +++ b/js/rte.js @@ -174,7 +174,7 @@ RTE.COMMON = { } else { PMA_ajaxShowMessage(data.error, false); } - }; // end showExport() + } // end showExport() }, // end exportDialog() editorDialog: function (is_new, $this) { var that = this; diff --git a/js/tbl_change.js b/js/tbl_change.js index 4d70dbcee7..fbd5718faf 100644 --- a/js/tbl_change.js +++ b/js/tbl_change.js @@ -389,7 +389,7 @@ AJAX.registerOnload('tbl_change.js', function () { * after initiation of functions */ extendingValidatorMessages(); - }; + } $.datepicker.initialized = false; From 1cc57abb78eb5027a92a8a5b397cea2decca146a Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Tue, 21 Jul 2015 00:02:35 +0200 Subject: [PATCH 16/19] Remove duplicate keys in array. Signed-off-by: Hugues Peccatte --- test/libraries/PMA_mult_submits_test.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/libraries/PMA_mult_submits_test.php b/test/libraries/PMA_mult_submits_test.php index 0691c9c301..7f6e34f7d8 100644 --- a/test/libraries/PMA_mult_submits_test.php +++ b/test/libraries/PMA_mult_submits_test.php @@ -63,11 +63,9 @@ class PMA_MultSubmits_Test extends PHPUnit_Framework_TestCase 'table_info' => 'table_info', 'relwork' => 'relwork', 'commwork' => 'commwork', - 'displaywork' => 'displaywork', 'pdfwork' => 'pdfwork', 'column_info' => 'column_info', 'relation' => 'relation', - 'relwork' => 'relwork', ); //$_SESSION From 77a40e7f9e1a95ec408c36a27c5225a2a8610604 Mon Sep 17 00:00:00 2001 From: Hugues Peccatte Date: Tue, 21 Jul 2015 00:08:26 +0200 Subject: [PATCH 17/19] Fix typo. Signed-off-by: Hugues Peccatte --- test/classes/schema/Eps_Relation_Schema_test.php | 2 +- test/classes/schema/Export_Relation_Schema_test.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/classes/schema/Eps_Relation_Schema_test.php b/test/classes/schema/Eps_Relation_Schema_test.php index 9576d8ff85..1632622247 100644 --- a/test/classes/schema/Eps_Relation_Schema_test.php +++ b/test/classes/schema/Eps_Relation_Schema_test.php @@ -186,7 +186,7 @@ class PMA_Eps_Relation_Schema_Test extends PHPUnit_Framework_TestCase * * @group medium */ - public function testSetPageNumbere() + public function testSetPageNumber() { $this->object->setPageNumber(33); $this->assertEquals( diff --git a/test/classes/schema/Export_Relation_Schema_test.php b/test/classes/schema/Export_Relation_Schema_test.php index 573e345c4b..89f956109b 100644 --- a/test/classes/schema/Export_Relation_Schema_test.php +++ b/test/classes/schema/Export_Relation_Schema_test.php @@ -59,7 +59,7 @@ class PMA_Export_Relation_Schema_Test extends PHPUnit_Framework_TestCase * * @group medium */ - public function testSetPageNumbere() + public function testSetPageNumber() { $this->object->setPageNumber(33); $this->assertEquals( From 217dfe4001f3780ede71a22b9f17d38fb5ec2d2f Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Tue, 21 Jul 2015 06:00:53 +0200 Subject: [PATCH 18/19] Translated using Weblate (French) Currently translated at 100.0% (3161 of 3161 strings) [CI skip] --- po/fr.po | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/po/fr.po b/po/fr.po index 5504d614e4..393d0ab863 100644 --- a/po/fr.po +++ b/po/fr.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2015-07-20 06:34-0400\n" -"PO-Revision-Date: 2015-07-19 12:07+0200\n" +"PO-Revision-Date: 2015-07-21 06:00+0200\n" "Last-Translator: Marc Delisle \n" -"Language-Team: French \n" +"Language-Team: French " +"\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -12504,19 +12504,17 @@ msgstr "" "nom d'hôte différent." #: libraries/server_privileges.lib.php:1503 -#, fuzzy #| msgid "User name:" msgid "Host name:" -msgstr "Nom d'utilisateur : " +msgstr "Nom d'hôte :" #: libraries/server_privileges.lib.php:1508 #: libraries/server_privileges.lib.php:1610 #: libraries/server_privileges.lib.php:2242 #: libraries/server_privileges.lib.php:3203 -#, fuzzy #| msgid "Log name" msgid "Host name" -msgstr "Nom du journal binaire" +msgstr "Nom d'hôte" #: libraries/server_privileges.lib.php:1645 msgid "Do not change the password" From d93fd4193a471da3264ffd89eb3c6dd26a4f0311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ara=C3=BAjo?= Date: Tue, 21 Jul 2015 03:18:38 +0200 Subject: [PATCH 19/19] Translated using Weblate (Portuguese (Brazil)) Currently translated at 95.5% (3021 of 3161 strings) [CI skip] --- po/pt_BR.po | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 244034e362..dfec991f1b 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.5.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2015-07-20 06:34-0400\n" -"PO-Revision-Date: 2015-07-12 20:11+0200\n" -"Last-Translator: Helder Santana \n" -"Language-Team: Portuguese (Brazil) \n" +"PO-Revision-Date: 2015-07-21 03:18+0200\n" +"Last-Translator: Vinicius Pitta Lima de Araujo \n" +"Language-Team: Portuguese (Brazil) " +"\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -6507,11 +6507,12 @@ msgstr "Não aborta em erro de INSERT" #: libraries/config/messages.inc.php:353 libraries/config/messages.inc.php:365 msgid "Add ON DUPLICATE KEY UPDATE" -msgstr "" +msgstr "Adicionar ON DUPLICATE KEY UPDATE" #: libraries/config/messages.inc.php:354 libraries/config/messages.inc.php:366 msgid "Update data when duplicate keys found on import" msgstr "" +"Atualizar dados quando forem encontradas chaves duplicadas na importação" #: libraries/config/messages.inc.php:357 msgid ""