From 1beb8130ad6c3604a030fef6f4f2e555e10f47f6 Mon Sep 17 00:00:00 2001 From: osaid Date: Wed, 7 Dec 2016 19:42:05 +0530 Subject: [PATCH 01/74] Implemented header auth --- test/libraries/PMA_user_preferences_test.php | 29 +++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/test/libraries/PMA_user_preferences_test.php b/test/libraries/PMA_user_preferences_test.php index fc53bc115e..95791a8153 100644 --- a/test/libraries/PMA_user_preferences_test.php +++ b/test/libraries/PMA_user_preferences_test.php @@ -364,11 +364,25 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase */ public function testUserprefsRedirect() { - if (!defined('PMA_TEST_HEADERS')) { - $this->markTestSkipped( - 'Cannot redefine constant/function - missing runkit extension' + + $restoreInstance = PMA\libraries\Response::getInstance(); + + $mockResponse = $this->getMockBuilder('PMA\libraries\Response') + ->disableOriginalConstructor() + ->setMethods(array('headersSent', 'header')) + ->getMock(); + + $mockResponse->expects($this->any()) + ->method('headersSent') + ->with() + ->will($this->returnValue(false)); + + $mockResponse->expects($this->once()) + ->method('header') + ->with( + $this->stringContains('Location: /phpmyadmin/file.html?a=b&saved=1&server=0#h+ash') ); - } + $GLOBALS['PMA_Config']->set('PmaAbsoluteUri', ''); $GLOBALS['cfg']['ServerDefault'] = 1; @@ -388,11 +402,6 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase 'h ash' ); - $this->assertContains( - 'Location: /phpmyadmin/file.html?a=b&saved=1&server=0#h+ash', - $GLOBALS['header'][0] - ); - if ($redefine !== null) { runkit_constant_redefine('PMA_IS_IIS', $redefine); } else { @@ -449,4 +458,4 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase $result ); } -} +} \ No newline at end of file From 2e561a296e29df9c2f57d959a7b8c519921dcd25 Mon Sep 17 00:00:00 2001 From: Burak Yavuz Date: Thu, 10 Nov 2016 13:08:14 +0000 Subject: [PATCH 02/74] Translated using Weblate (Turkish) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/tr.po | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/po/tr.po b/po/tr.po index 9e8f1e3e64..40059a842c 100644 --- a/po/tr.po +++ b/po/tr.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-10 13:08+0000\n" +"PO-Revision-Date: 2016-12-13 10:04+0000\n" "Last-Translator: Burak Yavuz \n" -"Language-Team: Turkish \n" +"Language-Team: Turkish " +"\n" "Language: tr\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -14441,17 +14441,12 @@ msgstr "" "bilgiler dahil) şifresiz olarak aktarılır!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" "Eğer sunucunuz aynı zamanda HTTPS isteklerini kabul etmek için " -"yapılandırılmışsa güvenli bağlantı kullanmak için [a@%s]bu bağlantıyı[/a] " -"takip edin." +"yapılandırılmışsa güvenli bağlantı kullanmak için bu bağlantıyı takip edin." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From c9a67a4d5e551065170c2b4dc25fc1485815995d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 10:10:39 +0000 Subject: [PATCH 03/74] Translated using Weblate (Czech) Currently translated at 93.0% (3014 of 3239 strings) [CI skip] --- po/cs.po | 116 +++++++++++++------------------------------------------ 1 file changed, 27 insertions(+), 89 deletions(-) diff --git a/po/cs.po b/po/cs.po index b09cb83d44..f70bbe5f8e 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,10 +6,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-12-10 22:56+0000\n" -"Last-Translator: Lucie Procházková \n" -"Language-Team: Czech \n" +"PO-Revision-Date: 2016-12-13 10:10+0000\n" +"Last-Translator: Michal Čihař \n" +"Language-Team: Czech " +"\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,16 +18,11 @@ msgstr "" "X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 -#, fuzzy, php-format -#| msgid "" -#| "The %s file is not available on this system, please visit www.phpmyadmin." -#| "net for more information." +#, php-format msgid "" "The %s file is not available on this system, please visit %s for more " "information." -msgstr "" -"Soubor %s nebyl nalezen, více informací naleznete na stránce www.phpmyadmin." -"net." +msgstr "Soubor %s nebyl nalezen, více informací naleznete na stránce %s." #: db_central_columns.php:108 msgid "The central list of columns for the current database is empty." @@ -2151,12 +2146,11 @@ msgid "Encryption key" msgstr "Šifrovací klíč" #: js/messages.php:528 -#, fuzzy msgid "" "MySQL accepts additional values not selectable by the slider; key in those " "values directly if desired" msgstr "" -"Další přijaté hodnoty nelze vybrat nastavením jezdce; Zadejte tyto hodnoty " +"Další platné hodnoty nelze vybrat nastavením jezdce; Zadejte tyto hodnoty " "přímo podle potřeby" #: js/messages.php:534 @@ -3092,7 +3086,6 @@ msgid "Romanian" msgstr "Rumunština" #: libraries/Charsets.php:328 -#, fuzzy msgid "Sinhalese" msgstr "Sinhálština" @@ -3757,9 +3750,8 @@ msgid "Unknown error in file upload." msgstr "Neznámá chyba při nahrávání souboru." #: libraries/File.php:445 -#, fuzzy msgid "File is a symbolic link" -msgstr "Soubor je symbolická linka." +msgstr "Soubor je symbolický odkaz" #: libraries/File.php:450 libraries/File.php:542 msgid "File could not be read!" @@ -3909,7 +3901,6 @@ msgid "Page number:" msgstr "Strana číslo:" #: libraries/LanguageManager.php:888 -#, fuzzy msgid "Ignoring unsupported language code." msgstr "Ignorován nepodporovaný jazykový kód." @@ -5271,10 +5262,8 @@ msgid "You allow for connecting to the server without a password." msgstr "Dovolujete připojit se k serveru bez hesla." #: libraries/config/ServerConfigChecks.php:349 -#, fuzzy -#| msgid "Key is too short, it should have at least 8 characters." msgid "Key is too short, it should have at least 32 characters." -msgstr "Tajný klíč je příliš krátký, měl by obsahovat alespoň 8 znaků." +msgstr "Tajný klíč je příliš krátký, měl by obsahovat alespoň 32 znaků." #: libraries/config/ServerConfigChecks.php:359 msgid "Key should contain letters, numbers [em]and[/em] special characters." @@ -5413,10 +5402,8 @@ msgid "Could not connect to the database server!" msgstr "Nepodařilo se připojit databázovému serveru!" #: libraries/config/Validator.php:243 -#, fuzzy -#| msgid "Authentication type" msgid "Invalid authentication type!" -msgstr "Typ přihlašování" +msgstr "Chybný typ přihlašování!" #: libraries/config/Validator.php:250 msgid "Empty username while using [kbd]config[/kbd] authentication method!" @@ -5530,14 +5517,8 @@ msgid "Highlight pointer" msgstr "Zvýrazňovač řádků při ukázání" #: libraries/config/messages.inc.php:47 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Bzip2]bzip2[/a] compression for " -#| "import operations." msgid "Enable bzip2 compression for import operations." -msgstr "" -"Povolit [a@https://cs.wikipedia.org/wiki/Bzip2]bzip2[/a] kompresi pro " -"importování." +msgstr "Povolit bzip2 kompresi pro importování." #: libraries/config/messages.inc.php:50 msgid "Bzip2" @@ -5558,16 +5539,12 @@ msgid "CHAR columns editing" msgstr "Úprava polí typu CHAR" #: libraries/config/messages.inc.php:58 -#, fuzzy -#| msgid "" -#| "Use user-friendly editor for editing SQL queries ([a@https://codemirror." -#| "net/]CodeMirror[/a]) with syntax highlighting and line numbers." msgid "" "Use user-friendly editor for editing SQL queries (CodeMirror) with syntax " "highlighting and line numbers." msgstr "" -"Použít uživatelsky přívětivý editor pro úpravu SQL dotazů ([a@https://" -"codemirror.net/]CodeMirror[/a]) se zvýrazněním syntaxe a čísly řádek." +"Použít uživatelsky přívětivý editor pro úpravu SQL dotazů (CodeMirror) se " +"zvýrazněním syntaxe a čísly řádek." #: libraries/config/messages.inc.php:62 msgid "Enable CodeMirror" @@ -6321,14 +6298,8 @@ msgid "Disable some of the warnings shown by phpMyAdmin." msgstr "Vypnout některá varování zobrazovaná phpMyAdminem." #: libraries/config/messages.inc.php:353 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for " -#| "import and export operations." msgid "Enable gzip compression for import and export operations." -msgstr "" -"Povolí [a@https://cs.wikipedia.org/wiki/Gzip]gzip[/a] kompresi pro " -"importování a exportování." +msgstr "Povolí gzip kompresi pro importování a exportování." #: libraries/config/messages.inc.php:356 msgid "GZip" @@ -7029,16 +7000,12 @@ msgid "Authentication type" msgstr "Typ přihlašování" #: libraries/config/messages.inc.php:640 -#, fuzzy -#| msgid "" -#| "Leave blank for no [a@https://wiki.phpmyadmin.net/pma/bookmark]bookmark[/" -#| "a] support, suggested: [kbd]pma__bookmark[/kbd]" msgid "" "Leave blank for no [doc@bookmarks@]bookmark[/doc] support, suggested: " "[kbd]pma__bookmark[/kbd]" msgstr "" -"Nechte prázdné pro vypnutí podpory [a@https://wiki.phpmyadmin.net/pma/" -"bookmark]záložek[/a], doporučené nastavení: [kbd]pma__bookmarks[/kbd]" +"Nechte prázdné pro vypnutí podpory [doc@bookmarks@]záložek[/doc], doporučené " +"nastavení: [kbd]pma__bookmarks[/kbd]" #: libraries/config/messages.inc.php:643 msgid "Bookmark table" @@ -7078,17 +7045,12 @@ msgid "Control user password" msgstr "Heslo kontrolního uživatele" #: libraries/config/messages.inc.php:656 -#, fuzzy -#| msgid "" -#| "A special MySQL user configured with limited permissions, more " -#| "information available on [a@https://wiki.phpmyadmin.net/pma/" -#| "controluser]wiki[/a]." msgid "" "A special MySQL user configured with limited permissions, more information " "available on [doc@linked-tables]documentation[/doc]." msgstr "" -"Zvláštní MySQL uživatel s omezenými právy, více informací na [a@https://wiki." -"phpmyadmin.net/pma/controluser]wiki[/a]." +"Zvláštní MySQL uživatel s omezenými právy, více informací v [doc@linked-" +"tables]dokumentaci[/doc]." #: libraries/config/messages.inc.php:659 msgid "Control user" @@ -7243,20 +7205,14 @@ msgid "PDF schema: pages table" msgstr "PDF schémata: tabulka stránek" #: libraries/config/messages.inc.php:721 -#, fuzzy -#| msgid "" -#| "Database used for relations, bookmarks, and PDF features. See [a@https://" -#| "wiki.phpmyadmin.net/pma/pmadb]pmadb[/a] for complete information. Leave " -#| "blank for no support. Suggested: [kbd]phpmyadmin[/kbd]." msgid "" "Database used for relations, bookmarks, and PDF features. See [doc@linked-" "tables]pmadb[/doc] for complete information. Leave blank for no support. " "Suggested: [kbd]phpmyadmin[/kbd]." msgstr "" "Databáze používaná pro relace, záložky a PDF stránky. Více informací " -"naleznete na [a@https://wiki.phpmyadmin.net/pma/pmadb]pmadb[/a]. Pokud " -"ponecháte prázdné, budou tyto funkce vypnuté. Doporučená hodnota: " -"[kbd]phpmyadmin[/kbd]." +"naleznete na [doc@linked-tables]pmadb[/doc]. Pokud ponecháte prázdné, budou " +"tyto funkce vypnuté. Doporučená hodnota: [kbd]phpmyadmin[/kbd]." #: libraries/config/messages.inc.php:725 #: templates/server/databases/create.phtml:20 @@ -7297,31 +7253,23 @@ msgid "Favorites table" msgstr "Oblíbené tabulky" #: libraries/config/messages.inc.php:740 -#, fuzzy -#| msgid "" -#| "Leave blank for no [a@https://wiki.phpmyadmin.net/pma/relation]relation-" -#| "links[/a] support, suggested: [kbd]pma__relation[/kbd]." msgid "" "Leave blank for no [doc@relations@]relation-links[/doc] support, suggested: " "[kbd]pma__relation[/kbd]." msgstr "" -"Nechte prázdné pro vypnutí podpory pro [a@https://wiki.phpmyadmin.net/pma/" -"relation]relace[/a], doporučené nastavení: [kbd]pma__relation[/kbd]." +"Nechte prázdné pro vypnutí podpory pro [doc@relations@]relace[/doc], " +"doporučené nastavení: [kbd]pma__relation[/kbd]." #: libraries/config/messages.inc.php:744 msgid "Relation table" msgstr "Tabulka s relacemi" #: libraries/config/messages.inc.php:746 -#, fuzzy -#| msgid "" -#| "See [a@https://wiki.phpmyadmin.net/pma/auth_types#signon]authentication " -#| "types[/a] for an example." msgid "" "See [doc@authentication-modes]authentication types[/doc] for an example." msgstr "" -"Příklad můžete nalézt na [a@https://wiki.phpmyadmin.net/pma/" -"auth_types#signon]authentication types[/a]." +"Příklad můžete nalézt na [doc@authentication-modes]authentication " +"types[/doc]." #: libraries/config/messages.inc.php:749 msgid "Signon session name" @@ -7835,14 +7783,8 @@ msgid "Proxy password" msgstr "Heslo proxy" #: libraries/config/messages.inc.php:971 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for " -#| "import and export operations." msgid "Enable ZIP compression for import and export operations." -msgstr "" -"Povolí [a@https://cs.wikipedia.org/wiki/Gzip]gzip[/a] kompresi pro " -"importování a exportování." +msgstr "Povolí ZIP kompresi pro importování a exportování." #: libraries/config/messages.inc.php:974 msgid "ZIP" @@ -14091,16 +14033,12 @@ msgstr "" "jsou hesla) se posílají nešifrovaně!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Pokud je Váš server nastaven tak, aby přijal HTTPS požadavky, klikněte na [a@" -"%s]tento odkaz[/a] pro použití zabezpečeného připojení." +"Pokud je Váš server nastaven tak, aby přijal HTTPS požadavky, klikněte na " +"tento odkaz pro použití zabezpečeného připojení." #: setup/frames/index.inc.php:82 msgid "Insecure connection" From a86450728a6c2b51ee1a7d9dda6ca5df5fc698b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 10:10:36 +0000 Subject: [PATCH 04/74] Translated using Weblate (Czech) Currently translated at 93.8% (3023 of 3222 strings) [CI skip] --- po/cs.po | 107 +++++++++++++------------------------------------------ 1 file changed, 25 insertions(+), 82 deletions(-) diff --git a/po/cs.po b/po/cs.po index db91de623a..9d1b853866 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,10 +6,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-12-10 22:56+0000\n" -"Last-Translator: Lucie Procházková \n" -"Language-Team: Czech \n" +"PO-Revision-Date: 2016-12-13 10:10+0000\n" +"Last-Translator: Michal Čihař \n" +"Language-Team: Czech " +"\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2158,12 +2158,11 @@ msgid "Encryption key" msgstr "Šifrovací klíč" #: js/messages.php:523 -#, fuzzy msgid "" "MySQL accepts additional values not selectable by the slider; key in those " "values directly if desired" msgstr "" -"Další přijaté hodnoty nelze vybrat nastavením jezdce; Zadejte tyto hodnoty " +"Další platné hodnoty nelze vybrat nastavením jezdce; Zadejte tyto hodnoty " "přímo podle potřeby" #: js/messages.php:529 @@ -3661,9 +3660,8 @@ msgid "Unknown error in file upload." msgstr "Neznámá chyba při nahrávání souboru." #: libraries/File.php:424 -#, fuzzy msgid "File is a symbolic link" -msgstr "Soubor je symbolická linka." +msgstr "Soubor je symbolický odkaz" #: libraries/File.php:470 msgid "Error moving the uploaded file, see [doc@faq1-11]FAQ 1.11[/doc]." @@ -3816,7 +3814,6 @@ msgid "Page number:" msgstr "Strana číslo:" #: libraries/LanguageManager.php:866 -#, fuzzy msgid "Ignoring unsupported language code." msgstr "Ignorován nepodporovaný jazykový kód." @@ -5162,10 +5159,8 @@ msgid "You allow for connecting to the server without a password." msgstr "Dovolujete připojit se k serveru bez hesla." #: libraries/config/ServerConfigChecks.php:347 -#, fuzzy -#| msgid "Key is too short, it should have at least 8 characters." msgid "Key is too short, it should have at least 32 characters." -msgstr "Tajný klíč je příliš krátký, měl by obsahovat alespoň 8 znaků." +msgstr "Tajný klíč je příliš krátký, měl by obsahovat alespoň 32 znaků." #: libraries/config/ServerConfigChecks.php:357 msgid "Key should contain letters, numbers [em]and[/em] special characters." @@ -5304,10 +5299,8 @@ msgid "Could not connect to the database server!" msgstr "Nepodařilo se připojit databázovému serveru!" #: libraries/config/Validator.php:243 -#, fuzzy -#| msgid "Authentication type" msgid "Invalid authentication type!" -msgstr "Typ přihlašování" +msgstr "Chybný typ přihlašování!" #: libraries/config/Validator.php:250 msgid "Empty username while using [kbd]config[/kbd] authentication method!" @@ -5421,14 +5414,8 @@ msgid "Highlight pointer" msgstr "Zvýrazňovač řádků při ukázání" #: libraries/config/messages.inc.php:47 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Bzip2]bzip2[/a] compression for " -#| "import operations." msgid "Enable bzip2 compression for import operations." -msgstr "" -"Povolit [a@https://cs.wikipedia.org/wiki/Bzip2]bzip2[/a] kompresi pro " -"importování." +msgstr "Povolit bzip2 kompresi pro importování." #: libraries/config/messages.inc.php:50 msgid "Bzip2" @@ -5449,16 +5436,12 @@ msgid "CHAR columns editing" msgstr "Úprava polí typu CHAR" #: libraries/config/messages.inc.php:58 -#, fuzzy -#| msgid "" -#| "Use user-friendly editor for editing SQL queries ([a@https://codemirror." -#| "net/]CodeMirror[/a]) with syntax highlighting and line numbers." msgid "" "Use user-friendly editor for editing SQL queries (CodeMirror) with syntax " "highlighting and line numbers." msgstr "" -"Použít uživatelsky přívětivý editor pro úpravu SQL dotazů ([a@https://" -"codemirror.net/]CodeMirror[/a]) se zvýrazněním syntaxe a čísly řádek." +"Použít uživatelsky přívětivý editor pro úpravu SQL dotazů (CodeMirror) se " +"zvýrazněním syntaxe a čísly řádek." #: libraries/config/messages.inc.php:62 msgid "Enable CodeMirror" @@ -6207,14 +6190,8 @@ msgid "Disable some of the warnings shown by phpMyAdmin." msgstr "Vypnout některá varování zobrazovaná phpMyAdminem." #: libraries/config/messages.inc.php:353 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for " -#| "import and export operations." msgid "Enable gzip compression for import and export operations." -msgstr "" -"Povolí [a@https://cs.wikipedia.org/wiki/Gzip]gzip[/a] kompresi pro " -"importování a exportování." +msgstr "Povolí gzip kompresi pro importování a exportování." #: libraries/config/messages.inc.php:356 msgid "GZip" @@ -6909,16 +6886,12 @@ msgid "Authentication type" msgstr "Typ přihlašování" #: libraries/config/messages.inc.php:638 -#, fuzzy -#| msgid "" -#| "Leave blank for no [a@https://wiki.phpmyadmin.net/pma/bookmark]bookmark[/" -#| "a] support, suggested: [kbd]pma__bookmark[/kbd]" msgid "" "Leave blank for no [doc@bookmarks@]bookmark[/doc] support, suggested: " "[kbd]pma__bookmark[/kbd]" msgstr "" -"Nechte prázdné pro vypnutí podpory [a@https://wiki.phpmyadmin.net/pma/" -"bookmark]záložek[/a], doporučené nastavení: [kbd]pma__bookmarks[/kbd]" +"Nechte prázdné pro vypnutí podpory [doc@bookmarks@]záložek[/doc], doporučené " +"nastavení: [kbd]pma__bookmarks[/kbd]" #: libraries/config/messages.inc.php:641 msgid "Bookmark table" @@ -6958,17 +6931,12 @@ msgid "Control user password" msgstr "Heslo kontrolního uživatele" #: libraries/config/messages.inc.php:654 -#, fuzzy -#| msgid "" -#| "A special MySQL user configured with limited permissions, more " -#| "information available on [a@https://wiki.phpmyadmin.net/pma/" -#| "controluser]wiki[/a]." msgid "" "A special MySQL user configured with limited permissions, more information " "available on [doc@linked-tables]documentation[/doc]." msgstr "" -"Zvláštní MySQL uživatel s omezenými právy, více informací na [a@https://wiki." -"phpmyadmin.net/pma/controluser]wiki[/a]." +"Zvláštní MySQL uživatel s omezenými právy, více informací v [doc@linked-" +"tables]dokumentaci[/doc]." #: libraries/config/messages.inc.php:657 msgid "Control user" @@ -7131,20 +7099,14 @@ msgid "PDF schema: pages table" msgstr "PDF schémata: tabulka stránek" #: libraries/config/messages.inc.php:721 -#, fuzzy -#| msgid "" -#| "Database used for relations, bookmarks, and PDF features. See [a@https://" -#| "wiki.phpmyadmin.net/pma/pmadb]pmadb[/a] for complete information. Leave " -#| "blank for no support. Suggested: [kbd]phpmyadmin[/kbd]." msgid "" "Database used for relations, bookmarks, and PDF features. See [doc@linked-" "tables]pmadb[/doc] for complete information. Leave blank for no support. " "Suggested: [kbd]phpmyadmin[/kbd]." msgstr "" "Databáze používaná pro relace, záložky a PDF stránky. Více informací " -"naleznete na [a@https://wiki.phpmyadmin.net/pma/pmadb]pmadb[/a]. Pokud " -"ponecháte prázdné, budou tyto funkce vypnuté. Doporučená hodnota: " -"[kbd]phpmyadmin[/kbd]." +"naleznete na [doc@linked-tables]pmadb[/doc]. Pokud ponecháte prázdné, budou " +"tyto funkce vypnuté. Doporučená hodnota: [kbd]phpmyadmin[/kbd]." #: libraries/config/messages.inc.php:725 #: templates/server/databases/create.phtml:20 @@ -7185,31 +7147,23 @@ msgid "Favorites table" msgstr "Oblíbené tabulky" #: libraries/config/messages.inc.php:740 -#, fuzzy -#| msgid "" -#| "Leave blank for no [a@https://wiki.phpmyadmin.net/pma/relation]relation-" -#| "links[/a] support, suggested: [kbd]pma__relation[/kbd]." msgid "" "Leave blank for no [doc@relations@]relation-links[/doc] support, suggested: " "[kbd]pma__relation[/kbd]." msgstr "" -"Nechte prázdné pro vypnutí podpory pro [a@https://wiki.phpmyadmin.net/pma/" -"relation]relace[/a], doporučené nastavení: [kbd]pma__relation[/kbd]." +"Nechte prázdné pro vypnutí podpory pro [doc@relations@]relace[/doc], " +"doporučené nastavení: [kbd]pma__relation[/kbd]." #: libraries/config/messages.inc.php:744 msgid "Relation table" msgstr "Tabulka s relacemi" #: libraries/config/messages.inc.php:746 -#, fuzzy -#| msgid "" -#| "See [a@https://wiki.phpmyadmin.net/pma/auth_types#signon]authentication " -#| "types[/a] for an example." msgid "" "See [doc@authentication-modes]authentication types[/doc] for an example." msgstr "" -"Příklad můžete nalézt na [a@https://wiki.phpmyadmin.net/pma/" -"auth_types#signon]authentication types[/a]." +"Příklad můžete nalézt na [doc@authentication-modes]authentication " +"types[/doc]." #: libraries/config/messages.inc.php:749 msgid "Signon session name" @@ -7711,14 +7665,8 @@ msgid "Proxy password" msgstr "Heslo proxy" #: libraries/config/messages.inc.php:967 -#, fuzzy -#| msgid "" -#| "Enable [a@https://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for " -#| "import and export operations." msgid "Enable ZIP compression for import and export operations." -msgstr "" -"Povolí [a@https://cs.wikipedia.org/wiki/Gzip]gzip[/a] kompresi pro " -"importování a exportování." +msgstr "Povolí ZIP kompresi pro importování a exportování." #: libraries/config/messages.inc.php:970 msgid "ZIP" @@ -9176,7 +9124,6 @@ msgid "Romanian" msgstr "Rumunština" #: libraries/mysql_charsets.lib.php:235 -#, fuzzy msgid "Sinhalese" msgstr "Sinhálština" @@ -14440,16 +14387,12 @@ msgstr "" "jsou hesla) se posílají nešifrovaně!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Pokud je Váš server nastaven tak, aby přijal HTTPS požadavky, klikněte na [a@" -"%s]tento odkaz[/a] pro použití zabezpečeného připojení." +"Pokud je Váš server nastaven tak, aby přijal HTTPS požadavky, klikněte na " +"tento odkaz pro použití zabezpečeného připojení." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From 98d4b2eca4b07bf25e22ae50fe68b7732fb1b8a8 Mon Sep 17 00:00:00 2001 From: Giovanni Sora Date: Tue, 13 Dec 2016 10:23:03 +0000 Subject: [PATCH 05/74] Translated using Weblate (Interlingua) Currently translated at 74.6% (2418 of 3239 strings) [CI skip] --- po/ia.po | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/po/ia.po b/po/ia.po index 6d1ce1e31d..dfc324f807 100644 --- a/po/ia.po +++ b/po/ia.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 20:37+0000\n" +"PO-Revision-Date: 2016-12-13 10:23+0000\n" "Last-Translator: Giovanni Sora \n" -"Language-Team: Interlingua \n" +"Language-Team: Interlingua " +"\n" "Language: ia\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -14738,10 +14738,8 @@ msgid "" msgstr "" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Delite traciar" +msgstr "Deli fixationes " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" From 9ec783a180891048ed0f9865252778e9deeb11c7 Mon Sep 17 00:00:00 2001 From: Giovanni Sora Date: Tue, 13 Dec 2016 10:23:33 +0000 Subject: [PATCH 06/74] Translated using Weblate (Interlingua) Currently translated at 74.6% (2419 of 3239 strings) [CI skip] --- po/ia.po | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/po/ia.po b/po/ia.po index dfc324f807..b9e556f8df 100644 --- a/po/ia.po +++ b/po/ia.po @@ -15487,10 +15487,8 @@ msgid "Unrecognized keyword." msgstr "" #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Un initio de instruction non expectate." +msgstr "Un ordine de clausas non expectate." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From ca1abc679c305015966caffa86b23dbd19c4a06a Mon Sep 17 00:00:00 2001 From: Giovanni Sora Date: Tue, 13 Dec 2016 10:23:36 +0000 Subject: [PATCH 07/74] Translated using Weblate (Interlingua) Currently translated at 74.7% (2407 of 3222 strings) [CI skip] --- po/ia.po | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/po/ia.po b/po/ia.po index a6810b687c..cee1917cdb 100644 --- a/po/ia.po +++ b/po/ia.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-10 20:37+0000\n" +"PO-Revision-Date: 2016-12-13 10:23+0000\n" "Last-Translator: Giovanni Sora \n" -"Language-Team: Interlingua \n" +"Language-Team: Interlingua " +"\n" "Language: ia\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -13692,10 +13692,8 @@ msgid "Unrecognized keyword." msgstr "" #: libraries/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Un initio de instruction non expectate." +msgstr "Un ordine de clausas non expectate." #: libraries/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From e73a59f18e949c7ee8ea2e15bbd95cfe785db674 Mon Sep 17 00:00:00 2001 From: Burak Yavuz Date: Tue, 13 Dec 2016 10:29:04 +0000 Subject: [PATCH 08/74] Translated using Weblate (Turkish) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/tr.po | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/po/tr.po b/po/tr.po index 17d311b82c..eba3f135e1 100644 --- a/po/tr.po +++ b/po/tr.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 13:08+0000\n" +"PO-Revision-Date: 2016-12-13 10:30+0000\n" "Last-Translator: Burak Yavuz \n" -"Language-Team: Turkish \n" +"Language-Team: Turkish " +"\n" "Language: tr\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -2592,23 +2592,23 @@ msgstr "Tabloyu ön ek ile kopyala" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Son derece zayıf" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Çok zayıf" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Zayıf" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "İyi" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Güçlü" #: js/messages.php:765 msgctxt "Previous month" @@ -8215,7 +8215,7 @@ msgstr "Parola:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Giriş:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14104,17 +14104,12 @@ msgstr "" "bilgiler dahil) şifresiz olarak aktarılır!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" "Eğer sunucunuz aynı zamanda HTTPS isteklerini kabul etmek için " -"yapılandırılmışsa güvenli bağlantı kullanmak için [a@%s]bu bağlantıyı[/a] " -"takip edin." +"yapılandırılmışsa güvenli bağlantı kullanmak için bu bağlantıyı takip edin." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -14976,10 +14971,8 @@ msgstr "" "oturum için bunu içe aktarmak istiyor musunuz?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "İzlemeyi sil" +msgstr "Ayarları sil " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15611,16 +15604,12 @@ msgid "Unexpected end of CASE expression" msgstr "Beklenmedik Büyük/Küçük harf ifadesi sonu" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Bir sembol adı beklenmekte! Ayrılmış bir anahtar kelime ters eğik tırnakları " -"olmadan bir alan adı olarak kullanılamaz." +"olmadan bir sütun adı olarak kullanılamaz." #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -15740,10 +15729,8 @@ msgid "Unrecognized keyword." msgstr "Tanınmayan anahtar kelime." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Beklenmedik ifade başlangıcı." +msgstr "Beklenmedik yan tümce sıralaması." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From 73499a5e56a5d9fe1f0fa752dd38feee89b1ee65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 09:55:28 +0100 Subject: [PATCH 09/74] Do not delete session on fatal error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I see no reason why this should be done, the fatal error is used in following cases: * Very early when there is no session (eg. missing extension) * Invalid value for parameters * Invalid invocation like too big request In neither case session removal will do any good. Signed-off-by: Michal Čihař --- libraries/Util.php | 2 +- libraries/core.lib.php | 13 +------------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/libraries/Util.php b/libraries/Util.php index 8e9562ef1f..c9498d6269 100644 --- a/libraries/Util.php +++ b/libraries/Util.php @@ -2157,7 +2157,7 @@ class Util } } if ($found_error) { - PMA_fatalError($error_message, null, false); + PMA_fatalError($error_message); } } // end function diff --git a/libraries/core.lib.php b/libraries/core.lib.php index 9f5040477b..02abd02dee 100644 --- a/libraries/core.lib.php +++ b/libraries/core.lib.php @@ -206,13 +206,10 @@ function PMA_securePath($path) * * @param string $error_message the error message or named error message * @param string|array $message_args arguments applied to $error_message - * @param boolean $delete_session whether to delete session cookie * * @return void */ -function PMA_fatalError( - $error_message, $message_args = null, $delete_session = true -) { +function PMA_fatalError($error_message, $message_args = null) { /* Use format string if applicable */ if (is_string($message_args)) { $error_message = sprintf($error_message, $message_args); @@ -249,14 +246,6 @@ function PMA_fatalError( $lang = isset($GLOBALS['lang']) ? $GLOBALS['lang'] : 'en'; $dir = isset($GLOBALS['text_dir']) ? $GLOBALS['text_dir'] : 'ltr'; - // on fatal errors it cannot hurt to always delete the current session - if ($delete_session - && isset($GLOBALS['session_name']) - && isset($_COOKIE[$GLOBALS['session_name']]) - ) { - $GLOBALS['PMA_Config']->removeCookie($GLOBALS['session_name']); - } - // Displays the error message include './libraries/error.inc.php'; } From 9b04a6d2936fedc05659f6145998b176231055fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 12:59:23 +0100 Subject: [PATCH 10/74] Fix rendering of language selector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- templates/select_lang.phtml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/select_lang.phtml b/templates/select_lang.phtml index 5f8dd84918..11cd26609d 100644 --- a/templates/select_lang.phtml +++ b/templates/select_lang.phtml @@ -17,8 +17,9 @@ From cde3ec1d8c01da087bb96844c7daa4b4c0baf1bf Mon Sep 17 00:00:00 2001 From: Stefano Martinelli Date: Tue, 13 Dec 2016 14:14:18 +0000 Subject: [PATCH 11/74] Translated using Weblate (Italian) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/it.po | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/po/it.po b/po/it.po index 7fa0b22b9e..66eb69f708 100644 --- a/po/it.po +++ b/po/it.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 10:06+0000\n" +"PO-Revision-Date: 2016-12-13 14:14+0000\n" "Last-Translator: Stefano Martinelli \n" -"Language-Team: Italian \n" +"Language-Team: Italian " +"\n" "Language: it\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -2632,23 +2632,23 @@ msgstr "Copia tabella col prefisso" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Estremamente debole" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Molto debole" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Debole" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Buona" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Forte" #: js/messages.php:765 msgctxt "Previous month" @@ -8314,7 +8314,7 @@ msgstr "Password:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Inserisci:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14286,16 +14286,12 @@ msgstr "" "senza essere cifrati!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Se il tuo server accetta anche richieste HTTPS, [a@%s]clicca qui[/a] per " -"utilizzare la conessione sicura." +"Se il tuo server accetta anche richieste HTTPS, segui questo link per " +"utilizzare una connessione sicura." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -15157,10 +15153,8 @@ msgstr "" "dominio. Vuoi importarla per la sessione corrente?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Cancella monitoraggio" +msgstr "Cancella impostazioni " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15796,10 +15790,6 @@ msgid "Unexpected end of CASE expression" msgstr "Inattesa fine dell'espressione CASE" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." @@ -15925,10 +15915,8 @@ msgid "Unrecognized keyword." msgstr "Parola chiave non riconosciuta." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Inizio di statement inatteso." +msgstr "Ordinamento di clausole inatteso." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From 800975a73ca381a2dc065f0e3f474b95f120484a Mon Sep 17 00:00:00 2001 From: osaid Date: Tue, 13 Dec 2016 20:33:37 +0530 Subject: [PATCH 12/74] PMA_sendHeaderLocation called after actually sending headers --- test/libraries/PMA_user_preferences_test.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/test/libraries/PMA_user_preferences_test.php b/test/libraries/PMA_user_preferences_test.php index 95791a8153..8d9d76dd0c 100644 --- a/test/libraries/PMA_user_preferences_test.php +++ b/test/libraries/PMA_user_preferences_test.php @@ -369,20 +369,18 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase $mockResponse = $this->getMockBuilder('PMA\libraries\Response') ->disableOriginalConstructor() - ->setMethods(array('headersSent', 'header')) + ->setMethods(array('header', 'headersSent')) ->getMock(); + $mockResponse->expects($this->once()) + ->method('header') + ->with('Location: /phpmyadmin/file.html?a=b&saved=1&server=0#h+ash'); + $mockResponse->expects($this->any()) ->method('headersSent') ->with() ->will($this->returnValue(false)); - $mockResponse->expects($this->once()) - ->method('header') - ->with( - $this->stringContains('Location: /phpmyadmin/file.html?a=b&saved=1&server=0#h+ash') - ); - $GLOBALS['PMA_Config']->set('PmaAbsoluteUri', ''); $GLOBALS['cfg']['ServerDefault'] = 1; From ef4e584eeae477f96b9380f82e6411d37b48aa66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 16:13:18 +0100 Subject: [PATCH 13/74] Fix return value documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/controllers/table/TableStructureController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/controllers/table/TableStructureController.php b/libraries/controllers/table/TableStructureController.php index 86105d51a3..059eef4f29 100644 --- a/libraries/controllers/table/TableStructureController.php +++ b/libraries/controllers/table/TableStructureController.php @@ -476,7 +476,7 @@ class TableStructureController extends TableController * @param array $selected the selected columns * @param string $action target script to call * - * @return boolean $regenerate true if error occurred + * @return void * */ protected function displayHtmlForColumnChange($selected, $action) From 58b16e73c815f038068ca73421ab98ac9a488d54 Mon Sep 17 00:00:00 2001 From: Scrutinizer Auto-Fixer Date: Tue, 13 Dec 2016 15:16:11 +0000 Subject: [PATCH 14/74] Scrutinizer Auto-Fixes This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com --- libraries/config/PageSettings.php | 2 ++ libraries/controllers/table/TableStructureController.php | 1 - libraries/export.lib.php | 8 ++++---- libraries/gis/GISPoint.php | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libraries/config/PageSettings.php b/libraries/config/PageSettings.php index 862cb29983..ff7784a69f 100644 --- a/libraries/config/PageSettings.php +++ b/libraries/config/PageSettings.php @@ -102,6 +102,8 @@ class PageSettings * @param FormDisplay &$form_display Form * @param ConfigFile &$cf Configuration file * @param Message|null &$error Error message + * @param FormDisplay $form_display + * @param ConfigFile $cf * * @return void */ diff --git a/libraries/controllers/table/TableStructureController.php b/libraries/controllers/table/TableStructureController.php index 1d2fd4515e..c5c29c796a 100644 --- a/libraries/controllers/table/TableStructureController.php +++ b/libraries/controllers/table/TableStructureController.php @@ -17,7 +17,6 @@ use PMA\libraries\Util; use PMA\Util as Util_lib; use SqlParser; use SqlParser\Statements\CreateStatement; -use SqlParser\Utils\Table as SqlTable; use PMA\libraries\Table; use PMA\libraries\controllers\TableController; use PMA\libraries\URL; diff --git a/libraries/export.lib.php b/libraries/export.lib.php index 431ca0a1c9..5f8643ef33 100644 --- a/libraries/export.lib.php +++ b/libraries/export.lib.php @@ -248,7 +248,7 @@ function PMA_getMemoryLimitForExport() * @param string $compression compression asked * @param string $filename_template the filename template * - * @return array the filename template and mime type + * @return string[] the filename template and mime type */ function PMA_getExportFilenameAndMimetype( $export_type, $remember_template, $export_plugin, $compression, @@ -366,7 +366,7 @@ function PMA_openExportFile($filename, $quick_export) * @param string $dump_buffer the current dump buffer * @param string $save_filename the export filename * - * @return object $message a message object (or empty string) + * @return Message $message a message object (or empty string) */ function PMA_closeExportFile($file_handle, $dump_buffer, $save_filename) { @@ -465,7 +465,7 @@ function PMA_saveObjectInBuffer($object_name, $append = false) * @param string $db the database name * @param string $table the table name * - * @return array the generated HTML and back button + * @return string[] the generated HTML and back button */ function PMA_getHtmlForDisplayedExportHeader($export_type, $db, $table) { @@ -1021,7 +1021,7 @@ function PMA_unlockTables() /** * Returns all the metadata types that can be exported with a database or a table * - * @return array metadata types. + * @return string[] metadata types. */ function PMA_getMetadataTypesToExport() { diff --git a/libraries/gis/GISPoint.php b/libraries/gis/GISPoint.php index 7992e6c2ea..b92beb9899 100644 --- a/libraries/gis/GISPoint.php +++ b/libraries/gis/GISPoint.php @@ -75,7 +75,7 @@ class GISPoint extends GISGeometry * @param array $scale_data Array containing data related to scaling * @param resource $image Image object * - * @return object the modified image object + * @return resource the modified image object * @access public */ public function prepareRowAsPng( From 642ad9a54915a6a777281034d050e09c1710fbe5 Mon Sep 17 00:00:00 2001 From: monicagrau Date: Tue, 13 Dec 2016 11:53:11 +0000 Subject: [PATCH 15/74] Translated using Weblate (Catalan) Currently translated at 98.7% (3199 of 3239 strings) [CI skip] --- po/ca.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/po/ca.po b/po/ca.po index 0d4eb86165..d5abb99858 100644 --- a/po/ca.po +++ b/po/ca.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-18 10:31+0000\n" -"Last-Translator: Michal Čihař \n" -"Language-Team: Catalan \n" +"PO-Revision-Date: 2016-12-13 11:53+0000\n" +"Last-Translator: monicagrau \n" +"Language-Team: Catalan " +"\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -8575,9 +8575,9 @@ msgid "" "to the PHP timeout limit. (This might be a good way to import large " "files, however it can break transactions.)" msgstr "" -"Permet l'interrupció de l'importació en cas de que l'arxiu d'ordres detecti " -"que s'acosta el limit del temps. (Pot ser una bona solució per importar " -"arxius grans, però pot trencar transaccions.)" +"Permet la interrupció de la importació en cas de que l'arxiu d'ordres " +"detecti que s'acosta el limit del temps. (Pot ser una bona solució per " +"importar arxius grans, però pot trencar transaccions.)" #: libraries/display_import.lib.php:315 msgid "Skip this number of queries (for SQL) starting from the first one:" From fc28c39efb8e77bc2ea5924619d4ff927a43bd03 Mon Sep 17 00:00:00 2001 From: Giovanni Sora Date: Tue, 13 Dec 2016 10:29:15 +0000 Subject: [PATCH 16/74] Translated using Weblate (Interlingua) Currently translated at 74.8% (2426 of 3239 strings) [CI skip] --- po/ia.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/po/ia.po b/po/ia.po index b9e556f8df..259db20aac 100644 --- a/po/ia.po +++ b/po/ia.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-12-13 10:23+0000\n" +"PO-Revision-Date: 2016-12-13 10:29+0000\n" "Last-Translator: Giovanni Sora \n" "Language-Team: Interlingua " "\n" @@ -2623,23 +2623,23 @@ msgstr "Copia tabella con prefixo" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Extrememente debile" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Multe debile" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Debile" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Bon" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Forte" #: js/messages.php:765 msgctxt "Previous month" @@ -8304,7 +8304,7 @@ msgstr "Contrasigno:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Inserta:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -10883,7 +10883,7 @@ msgstr "" #: libraries/plugins/transformations/abs/RegexValidationTransformationsPlugin.php:52 #, php-format msgid "Validation failed for the input string %s." -msgstr "" +msgstr "Validation falleva per le catena de ingresso %s." #: libraries/plugins/transformations/abs/SQLTransformationsPlugin.php:29 msgid "Formats text as SQL query with syntax highlighting." From fd897920d75e9ec8d3e76845a09254d4af779384 Mon Sep 17 00:00:00 2001 From: monicagrau Date: Tue, 13 Dec 2016 11:53:15 +0000 Subject: [PATCH 17/74] Translated using Weblate (Catalan) Currently translated at 99.2% (3199 of 3222 strings) [CI skip] --- po/ca.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/po/ca.po b/po/ca.po index be603db094..6bfec66be2 100644 --- a/po/ca.po +++ b/po/ca.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-09-20 21:12+0000\n" -"Last-Translator: Xavier Navarro \n" -"Language-Team: Catalan \n" +"PO-Revision-Date: 2016-12-13 11:53+0000\n" +"Last-Translator: monicagrau \n" +"Language-Team: Catalan " +"\n" "Language: ca\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.9-dev\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -8459,9 +8459,9 @@ msgid "" "to the PHP timeout limit. (This might be a good way to import large " "files, however it can break transactions.)" msgstr "" -"Permet l'interrupció de l'importació en cas de que l'arxiu d'ordres detecti " -"que s'acosta el limit del temps. (Pot ser una bona solució per importar " -"arxius grans, però pot trencar transaccions.)" +"Permet la interrupció de la importació en cas de que l'arxiu d'ordres " +"detecti que s'acosta el limit del temps. (Pot ser una bona solució per " +"importar arxius grans, però pot trencar transaccions.)" #: libraries/display_import.lib.php:312 msgid "Skip this number of queries (for SQL) starting from the first one:" From e40d0439fd8cc8d562d402fdaeeb40e72b38a24d Mon Sep 17 00:00:00 2001 From: Giovanni Sora Date: Tue, 13 Dec 2016 10:29:18 +0000 Subject: [PATCH 18/74] Translated using Weblate (Interlingua) Currently translated at 74.7% (2408 of 3222 strings) [CI skip] --- po/ia.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/ia.po b/po/ia.po index cee1917cdb..676786d689 100644 --- a/po/ia.po +++ b/po/ia.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-12-13 10:23+0000\n" +"PO-Revision-Date: 2016-12-13 10:29+0000\n" "Last-Translator: Giovanni Sora \n" "Language-Team: Interlingua " "\n" @@ -10992,7 +10992,7 @@ msgstr "" #: libraries/plugins/transformations/abs/RegexValidationTransformationsPlugin.php:52 #, php-format msgid "Validation failed for the input string %s." -msgstr "" +msgstr "Validation falleva per le catena de ingresso %s." #: libraries/plugins/transformations/abs/SQLTransformationsPlugin.php:29 msgid "Formats text as SQL query with syntax highlighting." From ceec247a205eb28f2c9da164d2d58549a2575837 Mon Sep 17 00:00:00 2001 From: Stefano Martinelli Date: Tue, 13 Dec 2016 14:09:38 +0000 Subject: [PATCH 19/74] Translated using Weblate (Italian) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/it.po | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/po/it.po b/po/it.po index ed4c3ca26e..cfe91999fd 100644 --- a/po/it.po +++ b/po/it.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-10 10:06+0000\n" +"PO-Revision-Date: 2016-12-13 14:09+0000\n" "Last-Translator: Stefano Martinelli \n" -"Language-Team: Italian \n" +"Language-Team: Italian " +"\n" "Language: it\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -14620,16 +14620,12 @@ msgstr "" "senza essere cifrati!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Se il tuo server accetta anche richieste HTTPS, [a@%s]clicca qui[/a] per " -"utilizzare la conessione sicura." +"Se il tuo server accetta anche richieste HTTPS, segui questo link per " +"utilizzare una connessione sicura." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From d8c80afae9c34fa9c863daffe6912a97be1cbb0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 17:29:05 +0100 Subject: [PATCH 20/74] Always set global settings for testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- test/libraries/PMA_user_preferences_test.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/libraries/PMA_user_preferences_test.php b/test/libraries/PMA_user_preferences_test.php index 8d9d76dd0c..9f283390bf 100644 --- a/test/libraries/PMA_user_preferences_test.php +++ b/test/libraries/PMA_user_preferences_test.php @@ -30,6 +30,8 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase */ function setUp() { + global $cfg; + include 'libraries/config.default.php'; $GLOBALS['server'] = 0; $GLOBALS['PMA_PHP_SELF'] = '/phpmyadmin/'; } @@ -364,7 +366,8 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase */ public function testUserprefsRedirect() { - + $GLOBALS['lang'] = ''; + $restoreInstance = PMA\libraries\Response::getInstance(); $mockResponse = $this->getMockBuilder('PMA\libraries\Response') From 66ac1a3053b16201d3be549f56a8585e74d634e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 17:30:00 +0100 Subject: [PATCH 21/74] Remove unused variable safari_browser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/Header.php | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/Header.php b/libraries/Header.php index 0bc19d73c9..8af00b0563 100644 --- a/libraries/Header.php +++ b/libraries/Header.php @@ -229,7 +229,6 @@ class Header 'opendb_url' => Util::getScriptNameForOption( $GLOBALS['cfg']['DefaultTabDatabase'], 'database' ), - 'safari_browser' => PMA_USR_BROWSER_AGENT == 'SAFARI' ? 1 : 0, 'collation_connection' => $GLOBALS['collation_connection'], 'lang' => $GLOBALS['lang'], 'server' => $GLOBALS['server'], From d393505ce151b6eba00fb2eddfe40f2f402c3552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 17:34:42 +0100 Subject: [PATCH 22/74] Avoid using define() for PMA_IS_IIS in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is not used anywhere in the code. Signed-off-by: Michal Čihař --- test/libraries/PMA_user_preferences_test.php | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/test/libraries/PMA_user_preferences_test.php b/test/libraries/PMA_user_preferences_test.php index 9f283390bf..7ca8b1f1e9 100644 --- a/test/libraries/PMA_user_preferences_test.php +++ b/test/libraries/PMA_user_preferences_test.php @@ -384,18 +384,9 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase ->with() ->will($this->returnValue(false)); + $GLOBALS['PMA_Config']->set('PmaAbsoluteUri', ''); - - $GLOBALS['cfg']['ServerDefault'] = 1; - $GLOBALS['lang'] = ''; - - $redefine = null; - if (!defined('PMA_IS_IIS')) { - define('PMA_IS_IIS', false); - } else { - $redefine = PMA_IS_IIS; - runkit_constant_redefine('PMA_IS_IIS', false); - } + $GLOBALS['PMA_Config']->set('PMA_IS_IIS', false); PMA_userprefsRedirect( 'file.html', @@ -403,11 +394,6 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase 'h ash' ); - if ($redefine !== null) { - runkit_constant_redefine('PMA_IS_IIS', $redefine); - } else { - runkit_constant_remove('PMA_IS_IIS'); - } } /** @@ -459,4 +445,4 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase $result ); } -} \ No newline at end of file +} From c20474b5c56af994e4742e694fae1480d40071b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 13 Dec 2016 17:35:15 +0100 Subject: [PATCH 23/74] Properly set Response mock for testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- test/libraries/PMA_user_preferences_test.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/libraries/PMA_user_preferences_test.php b/test/libraries/PMA_user_preferences_test.php index 7ca8b1f1e9..31a3f04828 100644 --- a/test/libraries/PMA_user_preferences_test.php +++ b/test/libraries/PMA_user_preferences_test.php @@ -384,6 +384,9 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase ->with() ->will($this->returnValue(false)); + $attrInstance = new ReflectionProperty('PMA\libraries\Response', '_instance'); + $attrInstance->setAccessible(true); + $attrInstance->setValue($mockResponse); $GLOBALS['PMA_Config']->set('PmaAbsoluteUri', ''); $GLOBALS['PMA_Config']->set('PMA_IS_IIS', false); @@ -394,6 +397,7 @@ class PMA_User_Preferences_Test extends PHPUnit_Framework_TestCase 'h ash' ); + $attrInstance->setValue($restoreInstance); } /** From 3f26112698a59bc2400b5648c4a86007999c53d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=A0=CE=B1=CE=BD=CE=B1=CE=B3=CE=B9=CF=8E=CF=84=CE=B7?= =?UTF-8?q?=CF=82=20=CE=A0=CE=B1=CF=80=CE=AC=CE=B6=CE=BF=CE=B3=CE=BB=CE=BF?= =?UTF-8?q?=CF=85?= Date: Wed, 14 Dec 2016 08:11:00 +0000 Subject: [PATCH 24/74] Translated using Weblate (Greek) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/el.po | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/po/el.po b/po/el.po index 8875c73319..306371af34 100644 --- a/po/el.po +++ b/po/el.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 17:31+0000\n" +"PO-Revision-Date: 2016-12-14 08:11+0000\n" "Last-Translator: Παναγιώτης Παπάζογλου \n" -"Language-Team: Greek \n" +"Language-Team: Greek " +"\n" "Language: el\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -2609,23 +2609,23 @@ msgstr "Αντιγραφή πίνακα με πρόθεμα" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Υπερβολικά αδύνατο" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Πολύ αδύνατο" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Αδύνατο" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Καλό" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Δυνατό" #: js/messages.php:765 msgctxt "Previous month" @@ -8295,7 +8295,7 @@ msgstr "Κωδικός πρόσβασης:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Εισαγωγή:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14279,16 +14279,12 @@ msgstr "" "ακρυπτογράφητα!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Αν ο διακομιστής σας έχει ρυθμιστεί να δέχεται αιτήσεις HTTPS πατήστε [a@" -"%s]αυτόν τον σύνδεσμο[/a] για χρήση ασφαλούς σύνδεσης." +"Αν ο διακομιστής σας έχει ρυθμιστεί να δέχεται αιτήσεις HTTPS πατήστε αυτόν " +"τον σύνδεσμο για χρήση ασφαλούς σύνδεσης." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -15150,10 +15146,8 @@ msgstr "" "εισάγετε για την τρέχουσα συνεδρία;" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Διαγραφή παρακολούθησης" +msgstr "Διαγραφή ρυθμίσεων " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15794,16 +15788,12 @@ msgid "Unexpected end of CASE expression" msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Αναμενόταν ένα όνομα συμβόλου! Μια δεσμευμένη λέξη-κλειδί δεν μπορεί να " -"χρησιμοποιηθεί ως όνομα πεδίου χωρίς εισαγωγικά." +"χρησιμοποιηθεί ως όνομα στήλης χωρίς εισαγωγικά." #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -15923,10 +15913,8 @@ msgid "Unrecognized keyword." msgstr "Μη αναγνωρισμένη λέξη κλειδί." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Μη αναμενόμενη έναρξη δήλωσης." +msgstr "Μη αναμενόμενη ταξινόμηση δηλώσεων." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From 16c72323d1b8ea53516389bfa9c8a63113842461 Mon Sep 17 00:00:00 2001 From: Domen Date: Wed, 14 Dec 2016 09:30:08 +0000 Subject: [PATCH 25/74] Translated using Weblate (Slovenian) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/sl.po | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/po/sl.po b/po/sl.po index acdf56625f..3f80500594 100644 --- a/po/sl.po +++ b/po/sl.po @@ -4,17 +4,17 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-10 15:08+0000\n" +"PO-Revision-Date: 2016-12-14 09:30+0000\n" "Last-Translator: Domen \n" -"Language-Team: Slovenian \n" +"Language-Team: Slovenian " +"\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 2.9\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -13749,16 +13749,12 @@ msgid "Unexpected end of CASE expression" msgstr "Nepričakovan konec izraza CASE" #: libraries/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Pričakovali smo ime simbola! Rezervirane besede ne morete uporabiti kot ime " -"polja brez ustreznih narekovajev." +"stolpca brez ustreznih narekovajev." #: libraries/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -13878,10 +13874,8 @@ msgid "Unrecognized keyword." msgstr "Nepričakovana ključna beseda." #: libraries/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Nepričakovan začetek stavka." +msgstr "Nepričakovan vrstni red stavkov." #: libraries/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." @@ -14429,16 +14423,12 @@ msgstr "" "občutljivimi informacijami, kot so gesla) se prenašajo nešifrirani!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Če je vaš strežnik nastavljen za sprejemanje zahtev HTTPS, sledite [a@%s]tej " -"povezavi[/a] za uporabo varne povezave." +"Če je vaš strežnik nastavljen za sprejemanje zahtev HTTPS, sledite tej " +"povezavi za uporabo varne povezave." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From 30bfba75dabb29000112b7448672ca814cd2a4cf Mon Sep 17 00:00:00 2001 From: Phillip Rohmberger Date: Wed, 14 Dec 2016 07:31:35 +0000 Subject: [PATCH 26/74] Translated using Weblate (German) Currently translated at 99.5% (3206 of 3222 strings) [CI skip] --- po/de.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/po/de.po b/po/de.po index 6461f361a7..39a6a0269e 100644 --- a/po/de.po +++ b/po/de.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-12-07 07:42+0000\n" -"Last-Translator: Jörn Gorres \n" -"Language-Team: German \n" +"PO-Revision-Date: 2016-12-14 07:31+0000\n" +"Last-Translator: Phillip Rohmberger \n" +"Language-Team: German " +"\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -12040,11 +12040,9 @@ msgid "routine" msgstr "Prozedur" #: libraries/rte/rte_words.lib.php:32 -#, fuzzy -#| msgid "You do not have the necessary privileges to create a routine" msgid "You do not have the necessary privileges to create a routine." msgstr "" -"Sie haben nicht die erforderlichen Rechte, um eine neue Prozedur zu erstellen" +"Sie haben nicht die erforderlichen Rechte, um eine neue Routine zu erstellen" #: libraries/rte/rte_words.lib.php:35 #, php-format @@ -12052,6 +12050,8 @@ msgid "" "No routine with name %1$s found in database %2$s. You might be lacking the " "necessary privileges to edit this routine." msgstr "" +"Keine Routine mit Namen %1$ s in Datenbank %2$ s gefunden. Vielleicht fehlt " +"Ihnen die erforderlichen Berechtigungen, um diese Routine zu bearbeiten." #: libraries/rte/rte_words.lib.php:39 #, php-format From 92d41e4d7f633cd10cce7cb94458550910c901b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=A0=CE=B1=CE=BD=CE=B1=CE=B3=CE=B9=CF=8E=CF=84=CE=B7?= =?UTF-8?q?=CF=82=20=CE=A0=CE=B1=CF=80=CE=AC=CE=B6=CE=BF=CE=B3=CE=BB=CE=BF?= =?UTF-8?q?=CF=85?= Date: Wed, 14 Dec 2016 08:07:37 +0000 Subject: [PATCH 27/74] Translated using Weblate (Greek) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/el.po | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/po/el.po b/po/el.po index b1f185ff29..82ea4a8f56 100644 --- a/po/el.po +++ b/po/el.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-10 17:32+0000\n" +"PO-Revision-Date: 2016-12-14 08:07+0000\n" "Last-Translator: Παναγιώτης Παπάζογλου \n" -"Language-Team: Greek \n" +"Language-Team: Greek " +"\n" "Language: el\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.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -14619,16 +14619,12 @@ msgstr "" "ακρυπτογράφητα!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Αν ο διακομιστής σας έχει ρυθμιστεί να δέχεται αιτήσεις HTTPS πατήστε [a@" -"%s]αυτόν τον σύνδεσμο[/a] για χρήση ασφαλούς σύνδεσης." +"Αν ο διακομιστής σας έχει ρυθμιστεί να δέχεται αιτήσεις HTTPS πατήστε αυτόν " +"τον σύνδεσμο για χρήση ασφαλούς σύνδεσης." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From 715bdf3a4993f1ba85a539c4fbea4819866295d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 14 Dec 2016 15:28:05 +0100 Subject: [PATCH 28/74] Fixed operation with lower_case_table_names=2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The problem is that mysqli_fields_meta returns orgtable as lowercase making phpMyAdmin treat it as alias later nad finding no fields for original table. Fixes issue #11816 Signed-off-by: Michal Čihař --- ChangeLog | 1 + libraries/DatabaseInterface.php | 39 ++++++++++++++++++++++++++++++++- libraries/Util.php | 16 ++++---------- 3 files changed, 43 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6632087df..24093438a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ phpMyAdmin - ChangeLog - issue #12434 Improve documentation for servers running with Suhosin - issue #12800 Updated embedded phpSecLib to 2.0.4 - issue #12800 Fixed various issues with PHP 7.1 +- issue #11816 Fixed operation with lower_case_table_names=2 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines diff --git a/libraries/DatabaseInterface.php b/libraries/DatabaseInterface.php index 6bff7494e1..1f1aa03a8d 100644 --- a/libraries/DatabaseInterface.php +++ b/libraries/DatabaseInterface.php @@ -47,6 +47,11 @@ class DatabaseInterface */ private $_table_cache; + /** + * @var null|string lower_case_table_names value cache + */ + private $_lower_case_table_names = null; + /** * Constructor * @@ -2256,6 +2261,21 @@ class DatabaseInterface return explode("@", $user); } + /** + * Returns value for lower_case_table_names variable + * + * @return string + */ + public function getLowerCaseNames() + { + if (is_null($this->_lower_case_table_names)) { + $this->_lower_case_table_names = $this->fetchValue( + "SELECT @@lower_case_table_names" + ); + } + return $this->_lower_case_table_names; + } + /** * Get the list of system schemas * @@ -2595,7 +2615,24 @@ class DatabaseInterface */ public function getFieldsMeta($result) { - return $this->_extension->getFieldsMeta($result); + $result = $this->_extension->getFieldsMeta($result); + + if ($this->getLowerCaseNames() === '2') { + /** + * Fixup orgtable for lower_case_table_names = 2 + * + * In this setup MySQL server reports table name lower case + * but we still need to operate on original case to properly + * match existing strings + */ + foreach ($result as $value) { + if (strlen($value->orgtable) !== 0 && mb_strtolower($value->orgtable) == mb_strtolower($value->table)) { + $value->orgtable = $value->table; + } + } + } + + return $result; } /** diff --git a/libraries/Util.php b/libraries/Util.php index 8e9562ef1f..67f40b0855 100644 --- a/libraries/Util.php +++ b/libraries/Util.php @@ -4528,19 +4528,11 @@ class Util */ public static function getCollateForIS() { - $lowerCaseTableNames = self::cacheGet( - 'lower_case_table_names', - function () { - return $GLOBALS['dbi']->fetchValue( - "SELECT @@lower_case_table_names" - ); - } - ); - - if ($lowerCaseTableNames === '0' // issue #10961 - || $lowerCaseTableNames === '2' // issue #11461 - ) { + $names = $GLOBALS['dbi']->getLowerCaseNames(); + if ($names === '0') { return "COLLATE utf8_bin"; + } elseif ($names === '2') { + return "COLLATE utf8_general_ci"; } return ""; } From b8eecfed8f0ff8eae3d65ce90f8bc0b31bcab226 Mon Sep 17 00:00:00 2001 From: Phillip Rohmberger Date: Wed, 14 Dec 2016 07:31:41 +0000 Subject: [PATCH 29/74] Translated using Weblate (German) Currently translated at 99.2% (3215 of 3239 strings) [CI skip] --- po/de.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/po/de.po b/po/de.po index a22292eca7..3f0872a53a 100644 --- a/po/de.po +++ b/po/de.po @@ -4,10 +4,10 @@ msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-12-07 07:42+0000\n" -"Last-Translator: Jörn Gorres \n" -"Language-Team: German \n" +"PO-Revision-Date: 2016-12-14 07:31+0000\n" +"Last-Translator: Phillip Rohmberger \n" +"Language-Team: German " +"\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -11925,11 +11925,9 @@ msgid "routine" msgstr "Prozedur" #: libraries/rte/rte_words.lib.php:32 -#, fuzzy -#| msgid "You do not have the necessary privileges to create a routine" msgid "You do not have the necessary privileges to create a routine." msgstr "" -"Sie haben nicht die erforderlichen Rechte, um eine neue Prozedur zu erstellen" +"Sie haben nicht die erforderlichen Rechte, um eine neue Routine zu erstellen" #: libraries/rte/rte_words.lib.php:35 #, php-format @@ -11937,6 +11935,8 @@ msgid "" "No routine with name %1$s found in database %2$s. You might be lacking the " "necessary privileges to edit this routine." msgstr "" +"Keine Routine mit Namen %1$ s in Datenbank %2$ s gefunden. Vielleicht fehlt " +"Ihnen die erforderlichen Berechtigungen, um diese Routine zu bearbeiten." #: libraries/rte/rte_words.lib.php:39 #, php-format From a05dc9721881895ae9bfc5088071611b63f19f4a Mon Sep 17 00:00:00 2001 From: Domen Date: Wed, 14 Dec 2016 09:30:27 +0000 Subject: [PATCH 30/74] Translated using Weblate (Slovenian) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/sl.po | 46 +++++++++++++++++----------------------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/po/sl.po b/po/sl.po index d505259555..f0df5e15e8 100644 --- a/po/sl.po +++ b/po/sl.po @@ -4,17 +4,17 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 15:08+0000\n" +"PO-Revision-Date: 2016-12-14 09:30+0000\n" "Last-Translator: Domen \n" -"Language-Team: Slovenian \n" +"Language-Team: Slovenian " +"\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 2.9\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -2592,23 +2592,23 @@ msgstr "Kopiraj tabelo s predpono" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Izredno šibko" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Zelo šibko" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Šibko" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Dobro" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Močno" #: js/messages.php:765 msgctxt "Previous month" @@ -8210,7 +8210,7 @@ msgstr "Geslo:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Vnesite:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14083,16 +14083,12 @@ msgstr "" "občutljivimi informacijami, kot so gesla) se prenašajo nešifrirani!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Če je vaš strežnik nastavljen za sprejemanje zahtev HTTPS, sledite [a@%s]tej " -"povezavi[/a] za uporabo varne povezave." +"Če je vaš strežnik nastavljen za sprejemanje zahtev HTTPS, sledite tej " +"povezavi za uporabo varne povezave." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -14956,10 +14952,8 @@ msgstr "" "uvoziti za trenutno sejo?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Izbriši sledenje" +msgstr "Izbriši nastavitve " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15594,16 +15588,12 @@ msgid "Unexpected end of CASE expression" msgstr "Nepričakovan konec izraza CASE" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Pričakovali smo ime simbola! Rezervirane besede ne morete uporabiti kot ime " -"polja brez ustreznih narekovajev." +"stolpca brez ustreznih narekovajev." #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -15723,10 +15713,8 @@ msgid "Unrecognized keyword." msgstr "Nepričakovana ključna beseda." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Nepričakovan začetek stavka." +msgstr "Nepričakovan vrstni red stavkov." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From eec9d3f3ddeb0c34a3644d01055dfa21985d7dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 14 Dec 2016 15:34:39 +0100 Subject: [PATCH 31/74] Use === to avoid suprises with numeric table names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/DatabaseInterface.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/DatabaseInterface.php b/libraries/DatabaseInterface.php index 1f1aa03a8d..d1ec41fc58 100644 --- a/libraries/DatabaseInterface.php +++ b/libraries/DatabaseInterface.php @@ -2626,7 +2626,8 @@ class DatabaseInterface * match existing strings */ foreach ($result as $value) { - if (strlen($value->orgtable) !== 0 && mb_strtolower($value->orgtable) == mb_strtolower($value->table)) { + if (strlen($value->orgtable) !== 0 && + mb_strtolower($value->orgtable) === mb_strtolower($value->table)) { $value->orgtable = $value->table; } } From 96350a79846edc160d3165dd261820a632504839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 14 Dec 2016 15:56:48 +0100 Subject: [PATCH 32/74] Do not use control link when working with stored procedures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed stored procedure execution. Fixes #12813 Signed-off-by: Michal Čihař --- ChangeLog | 1 + libraries/rte/rte_routines.lib.php | 18 +++++------------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 24093438a5..594852e6ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,7 @@ phpMyAdmin - ChangeLog - issue #12800 Updated embedded phpSecLib to 2.0.4 - issue #12800 Fixed various issues with PHP 7.1 - issue #11816 Fixed operation with lower_case_table_names=2 +- issue #12813 Fixed stored procedure execution 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines diff --git a/libraries/rte/rte_routines.lib.php b/libraries/rte/rte_routines.lib.php index c1e69854b6..9194f281de 100644 --- a/libraries/rte/rte_routines.lib.php +++ b/libraries/rte/rte_routines.lib.php @@ -567,19 +567,12 @@ function PMA_RTN_getDataFromRequest() * @param string $type Type of routine (ROUTINE|PROCEDURE) * @param bool $all Whether to return all data or just * the info about parameters. - * @param bool $control Where to use Controllink to query for - * routine information * * @return array Data necessary to create the routine editor. */ -function PMA_RTN_getDataFromName($name, $type, $all = true, $control = false) +function PMA_RTN_getDataFromName($name, $type, $all = true) { global $db; - $link = null; - - if ($control) { - $link = $GLOBALS['controllink']; - } $retval = array(); @@ -593,7 +586,7 @@ function PMA_RTN_getDataFromName($name, $type, $all = true, $control = false) . "AND ROUTINE_TYPE='" . $GLOBALS['dbi']->escapeString($type) . "'"; $query = "SELECT $fields FROM INFORMATION_SCHEMA.ROUTINES WHERE $where;"; - $routine = $GLOBALS['dbi']->fetchSingleRow($query, 'ASSOC', $link); + $routine = $GLOBALS['dbi']->fetchSingleRow($query, 'ASSOC'); if (! $routine) { return false; @@ -607,8 +600,7 @@ function PMA_RTN_getDataFromName($name, $type, $all = true, $control = false) = $GLOBALS['dbi']->getDefinition( $db, $routine['ROUTINE_TYPE'], - $routine['SPECIFIC_NAME'], - $link + $routine['SPECIFIC_NAME'] ); if ($definition == NULL) { @@ -1311,7 +1303,7 @@ function PMA_RTN_handleExecute() if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['item_name'])) { // Build the queries $routine = PMA_RTN_getDataFromName( - $_REQUEST['item_name'], $_REQUEST['item_type'], false, true + $_REQUEST['item_name'], $_REQUEST['item_type'], false ); if ($routine === false) { $message = __('Error in processing request:') . ' '; @@ -1509,7 +1501,7 @@ function PMA_RTN_handleExecute() * Display the execute form for a routine. */ $routine = PMA_RTN_getDataFromName( - $_GET['item_name'], $_GET['item_type'], true, true + $_GET['item_name'], $_GET['item_type'], true ); if ($routine !== false) { $form = PMA_RTN_getExecuteForm($routine); From 71e0c4bb6749588373f61234baa3c3c9806e24eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 14 Dec 2016 16:07:55 +0100 Subject: [PATCH 33/74] Fix early fatal errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We can not rely on whole stack being ready. Fixes #12810 Signed-off-by: Michal Čihař --- libraries/core.lib.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries/core.lib.php b/libraries/core.lib.php index 99e713a866..45302e497d 100644 --- a/libraries/core.lib.php +++ b/libraries/core.lib.php @@ -224,8 +224,16 @@ function PMA_fatalError( $error_message = vsprintf($error_message, $message_args); } - $response = Response::getInstance(); - if ($response->isAjax()) { + /* + * Avoid using Response if Config is not yet loaded + * (this can happen on early fatal error) + */ + if (isset($GLOBALS['Config'])) { + $response = Response::getInstance(); + } else { + $response = null; + } + if (! is_null($response) && $response->isAjax()) { $response->setRequestStatus(false); $response->addJSON('message', PMA\libraries\Message::error($error_message)); } else { From e3a4bfe75706225de084681b54c6e5a054bf5814 Mon Sep 17 00:00:00 2001 From: Isaac Bennetch Date: Mon, 12 Dec 2016 12:48:47 -0500 Subject: [PATCH 34/74] Fix display of custom header and footer in certain edge cases. Issues #12801 and #12802 Signed-off-by: Isaac Bennetch --- ChangeLog | 2 ++ libraries/plugins/auth/AuthenticationCookie.php | 3 --- libraries/plugins/auth/AuthenticationHttp.php | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 594852e6ac..73d7064590 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,8 @@ phpMyAdmin - ChangeLog - issue #12786 Fixed database searching - issue #12792 Fixed javascript error on new version link - issue #12785 Add information about required and suggested extensions to composer.json +- issue #12801 Custom header shown twice with cookie login form +- issue #12802 Custom footer not shown with auth_type http login failure - issue #12434 Improve documentation for servers running with Suhosin - issue #12800 Updated embedded phpSecLib to 2.0.4 - issue #12800 Fixed various issues with PHP 7.1 diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index cd6b1ed5b3..827aea1c40 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -86,9 +86,6 @@ class AuthenticationCookie extends AuthenticationPlugin $header->disableMenuAndConsole(); $header->disableWarnings(); - if (@file_exists(CUSTOM_HEADER_FILE)) { - include CUSTOM_HEADER_FILE; - } echo '
\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" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:38 license.php:33 #, php-format @@ -14573,16 +14573,12 @@ msgstr "" "verzonden!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" "Indien uw server ook is ingesteld om HTTPS-verbindingen te ondersteunen, " -"gebruik dan [a@%s]deze link[/a] om de beveiligde verbinding te gebruiken." +"gebruik dan deze link om de beveiligde verbinding te gebruiken." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From 0e0256864031fffb4dfa1992d8b9680b4b6c368f Mon Sep 17 00:00:00 2001 From: dingo thirteen Date: Wed, 14 Dec 2016 19:32:08 +0000 Subject: [PATCH 36/74] Translated using Weblate (Dutch) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/nl.po | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/po/nl.po b/po/nl.po index adadf40b7d..c6754269c1 100644 --- a/po/nl.po +++ b/po/nl.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-11-10 18:12+0000\n" +"PO-Revision-Date: 2016-12-14 19:32+0000\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" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.9\n" +"X-Generator: Weblate 2.10-dev\n" #: changelog.php:39 license.php:34 #, php-format @@ -2610,23 +2610,23 @@ msgstr "Vervang tabel met voorvoegsel" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Extreem zwak" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Erg zwak" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Zwak" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Goed" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Sterk" #: js/messages.php:765 msgctxt "Previous month" @@ -8270,7 +8270,7 @@ msgstr "Wachtwoord:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Ingave:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14230,16 +14230,12 @@ msgstr "" "verzonden!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" "Indien uw server ook is ingesteld om HTTPS-verbindingen te ondersteunen, " -"gebruik dan [a@%s]deze link[/a] om de beveiligde verbinding te gebruiken." +"gebruik dan deze link om de beveiligde verbinding te gebruiken." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -15103,10 +15099,8 @@ msgstr "" "gebruiken in de huidige sessie?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Verwijder tracking" +msgstr "Verwijder instellingen " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15748,16 +15742,12 @@ msgid "Unexpected end of CASE expression" msgstr "Onverwacht einde van CASE expressie" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Een symbool naam werd verwacht! Een gereserveerd sleutelwoord kan niet als " -"veldnaam gebruikt worden zonder achterwaartse aanhalingstekens." +"kolomnaam gebruikt worden zonder achterwaartse aanhalingstekens." #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -15877,10 +15867,8 @@ msgid "Unrecognized keyword." msgstr "Sleutelwoord niet herkent." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Onverwacht begin van opdracht." +msgstr "Onverwachte volgorde van voorwaarden." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From ba5212cb46d8f67f0b2713dab560cf5eb60ef5fb Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Sun, 27 Nov 2016 14:34:34 +0000 Subject: [PATCH 37/74] Translated using Weblate (French) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/fr.po | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/po/fr.po b/po/fr.po index 46b91ca652..12dfc12702 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: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-11-27 14:34+0000\n" +"PO-Revision-Date: 2016-12-14 23:46+0000\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" @@ -14599,16 +14599,12 @@ msgstr "" "encryptées !" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Si votre serveur accepte les requêtes HTTPS, utilisez une [a@%s]connexion " -"sécurisée[/a]." +"Si votre serveur accepte les requêtes HTTPS, visitez ce lien pour utiliser " +"une connexion sécurisée." #: setup/frames/index.inc.php:81 msgid "Insecure connection" From ad414347e4231a846b248e803882e8605e7765f8 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Wed, 14 Dec 2016 23:48:10 +0000 Subject: [PATCH 38/74] Translated using Weblate (French) Currently translated at 100.0% (3239 of 3239 strings) [CI skip] --- po/fr.po | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/po/fr.po b/po/fr.po index 83d6936397..a1eeffddad 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: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-12-01 15:37+0000\n" +"PO-Revision-Date: 2016-12-14 23:48+0000\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" @@ -2617,23 +2617,23 @@ msgstr "Copier la table avec un préfixe" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Extrêmement faible" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Très faible" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Faible" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Bon" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Fort" #: js/messages.php:765 msgctxt "Previous month" @@ -8292,7 +8292,7 @@ msgstr "Mot de passe : " #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Entrez :" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -14260,16 +14260,12 @@ msgstr "" "encryptées !" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Si votre serveur accepte les requêtes HTTPS, utilisez une [a@%s]connexion " -"sécurisée[/a]." +"Si votre serveur accepte les requêtes HTTPS, visitez ce lien pour utiliser " +"une connexion sécurisée." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -15129,10 +15125,8 @@ msgstr "" "Voulez-vous l'importer dans la session courante ?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Supprimer le suivi" +msgstr "Supprimer les paramètres " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15768,10 +15762,6 @@ msgid "Unexpected end of CASE expression" msgstr "Fin inattendue d'une expression CASE" #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:227 -#, fuzzy -#| msgid "" -#| "A symbol name was expected! A reserved keyword can not be used as a field " -#| "name without backquotes." msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." @@ -15897,10 +15887,8 @@ msgid "Unrecognized keyword." msgstr "Mot clé non reconnu." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Début d'énoncé inattendu." +msgstr "Classement inattendu des clauses." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From 128b0279dec0900abd9a25f1635f935352ba0525 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Wed, 14 Dec 2016 23:47:48 +0000 Subject: [PATCH 39/74] Translated using Weblate (French) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/fr.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/fr.po b/po/fr.po index 12dfc12702..de8c61fd4d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-12-14 23:46+0000\n" +"PO-Revision-Date: 2016-12-14 23:48+0000\n" "Last-Translator: Marc Delisle \n" "Language-Team: French " "\n" @@ -14043,7 +14043,7 @@ msgstr "Mot clé non reconnu." #: libraries/sql-parser/src/Statement.php:495 msgid "Unexpected ordering of clauses." -msgstr "Début d'énoncé inattendu." +msgstr "Classement inattendu des clauses." #: libraries/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." From 352a5d79d5e429b8bd94e076155be452e2cac19f Mon Sep 17 00:00:00 2001 From: Deven Bansod Date: Thu, 15 Dec 2016 09:47:17 +0530 Subject: [PATCH 40/74] MySQL allows precision to be specified for DATETIME, TIME type fields too Fix #12814 Ref : http://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html Signed-off-by: Deven Bansod --- js/rte.js | 2 -- libraries/rte/rte_routines.lib.php | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/js/rte.js b/js/rte.js index 9a189aeae3..18b4f23a82 100644 --- a/js/rte.js +++ b/js/rte.js @@ -792,8 +792,6 @@ RTE.ROUTINE = { // Process for parameter length switch ($type.val()) { case 'DATE': - case 'DATETIME': - case 'TIME': case 'TINYBLOB': case 'TINYTEXT': case 'BLOB': diff --git a/libraries/rte/rte_routines.lib.php b/libraries/rte/rte_routines.lib.php index 9194f281de..fba5b79c44 100644 --- a/libraries/rte/rte_routines.lib.php +++ b/libraries/rte/rte_routines.lib.php @@ -1161,7 +1161,7 @@ function PMA_RTN_getQueryFromRequest() } if ($item_param_length[$i] != '' && !preg_match( - '@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|' + '@^(DATE|TINYBLOB|TINYTEXT|BLOB|TEXT|' . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|' . 'SERIAL|BOOLEAN)$@i', $item_param_type[$i] From 967755a1de0d56adf75acb764943b3ce9142b584 Mon Sep 17 00:00:00 2001 From: Deven Bansod Date: Thu, 15 Dec 2016 09:49:58 +0530 Subject: [PATCH 41/74] ChangeLog for #12814 Signed-off-by: Deven Bansod --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index 594852e6ac..5961d7c222 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,7 @@ phpMyAdmin - ChangeLog - issue #12800 Fixed various issues with PHP 7.1 - issue #11816 Fixed operation with lower_case_table_names=2 - issue #12813 Fixed stored procedure execution +- issue #12814 DateTime won't allow to input length in Routine editor 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines From f914fcaba550ba10cbb02ca40bc2c1a011db3e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 15 Dec 2016 08:54:45 +0100 Subject: [PATCH 42/74] Share code for cascading ajax flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/Response.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libraries/Response.php b/libraries/Response.php index c7c27ffa14..b67df80ec8 100644 --- a/libraries/Response.php +++ b/libraries/Response.php @@ -97,13 +97,10 @@ class Response $this->_footer = new Footer(); $this->_isSuccess = true; - $this->_isAjax = false; $this->_isDisabled = false; - if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) { - $this->_isAjax = true; - } - $this->_header->setAjax($this->_isAjax); - $this->_footer->setAjax($this->_isAjax); + $this->setAjax( + isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true + ); $this->_CWD = getcwd(); } From f08907544da31bc09a8db86442d71acac57805cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 15 Dec 2016 08:58:18 +0100 Subject: [PATCH 43/74] Get response instance just once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/navigation/Navigation.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/navigation/Navigation.php b/libraries/navigation/Navigation.php index 31ed3f5a27..0f22a83f99 100644 --- a/libraries/navigation/Navigation.php +++ b/libraries/navigation/Navigation.php @@ -30,12 +30,13 @@ class Navigation { /* Init */ $retval = ''; - if (!Response::getInstance()->isAjax()) { + $response = Response::getInstance(); + if (! $response->isAjax()) { $header = new NavigationHeader(); $retval = $header->getDisplay(); } $tree = new NavigationTree(); - if (! Response::getInstance()->isAjax() + if (! $response->isAjax() || ! empty($_REQUEST['full']) || ! empty($_REQUEST['reload']) ) { @@ -57,7 +58,7 @@ class Navigation $retval .= $navRender; } - if (! Response::getInstance()->isAjax()) { + if (! $response->isAjax()) { // closes the tags that were opened by the navigation header $retval .= '
'; // pma_navigation_tree $retval .= '
'; From 4e9a34279490c2efc810c165b075e32c70c6fb2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 15 Dec 2016 09:04:50 +0100 Subject: [PATCH 44/74] Register shutdown directly on singleton instance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids additional call in the shutdown handler. Signed-off-by: Michal Čihař --- libraries/Response.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libraries/Response.php b/libraries/Response.php index b67df80ec8..02cc5e48da 100644 --- a/libraries/Response.php +++ b/libraries/Response.php @@ -89,7 +89,7 @@ class Response if (! defined('TESTSUITE')) { $buffer = OutputBuffering::getInstance(); $buffer->start(); - register_shutdown_function(array('PMA\libraries\Response', 'response')); + register_shutdown_function(array($this, 'response')); } $this->_header = new Header(); $this->_HTML = ''; @@ -419,21 +419,19 @@ class Response /** * Sends an HTML response to the browser * - * @static * @return void */ - public static function response() + public function response() { - $response = Response::getInstance(); - chdir($response->getCWD()); + chdir($this->getCWD()); $buffer = OutputBuffering::getInstance(); - if (empty($response->_HTML)) { - $response->_HTML = $buffer->getContents(); + if (empty($this->_HTML)) { + $this->_HTML = $buffer->getContents(); } - if ($response->isAjax()) { - $response->_ajaxResponse(); + if ($this->isAjax()) { + $this->_ajaxResponse(); } else { - $response->_htmlResponse(); + $this->_htmlResponse(); } $buffer->flush(); exit; From 0664d15cef01c6582f8c094d7cb0762e4d4f3068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 15 Dec 2016 09:11:06 +0100 Subject: [PATCH 45/74] Simplify checking for ajax request MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- libraries/Response.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/Response.php b/libraries/Response.php index 02cc5e48da..97ab19ab6d 100644 --- a/libraries/Response.php +++ b/libraries/Response.php @@ -98,9 +98,7 @@ class Response $this->_isSuccess = true; $this->_isDisabled = false; - $this->setAjax( - isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true - ); + $this->setAjax(! empty($_REQUEST['ajax_request'])); $this->_CWD = getcwd(); } From d00ad180753bb3dab6f0058b5e2d2482ffbece4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 15 Dec 2016 09:16:55 +0100 Subject: [PATCH 46/74] Include token in all filter requests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #12786 Signed-off-by: Michal Čihař --- js/navigation.js | 1 - libraries/navigation/NavigationTree.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/js/navigation.js b/js/navigation.js index 6aa248aa81..af3d07713c 100644 --- a/js/navigation.js +++ b/js/navigation.js @@ -1539,7 +1539,6 @@ PMA_fastFilter.filter.prototype.request = function () { } var url = $('#pma_navigation').find('a.navigation_url').attr('href'); var params = self.$this.find('> ul > li > form.fast_filter').first().serialize(); - params.token = PMA_commonParams.get('token'); if (self.$this.find('> ul > li > form.fast_filter:first input[name=searchClause]').length === 0) { var $input = $('#pma_navigation_tree').find('li.fast_filter.db_fast_filter input.searchClause'); diff --git a/libraries/navigation/NavigationTree.php b/libraries/navigation/NavigationTree.php index 032efdeedc..a3446b397e 100644 --- a/libraries/navigation/NavigationTree.php +++ b/libraries/navigation/NavigationTree.php @@ -1351,7 +1351,7 @@ class NavigationTree ); $retval .= '
  • '; $retval .= '
    '; - $retval .= URL::getHiddenFields($url_params); + $retval .= URL::getHiddenInputs($url_params); $retval .= ' Date: Sat, 17 Dec 2016 10:16:35 -0500 Subject: [PATCH 47/74] Fix documentation markup Signed-off-by: Isaac Bennetch --- doc/faq.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/faq.rst b/doc/faq.rst index 888b56bb05..2815e6f8de 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -146,7 +146,7 @@ The MySQL manual explains how to `reset the permissions 1.15 I have problems with *mysql.user* column names. ---------------------------------------------------- -In previous MySQL versions, the ``User`` and ``Password``columns were +In previous MySQL versions, the ``User`` and ``Password`` columns were named ``user`` and ``password``. Please modify your column names to align with current standards. From 697e1cec72049f1fa5982422c70a4cc070034c01 Mon Sep 17 00:00:00 2001 From: Isaac Bennetch Date: Sun, 18 Dec 2016 00:09:36 -0500 Subject: [PATCH 48/74] Hints about using Composer for library dependencies Signed-off-by: Isaac Bennetch --- README.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.rst b/README.rst index 7b2f07b795..efebd598a4 100644 --- a/README.rst +++ b/README.rst @@ -42,6 +42,10 @@ If you prefer to follow the git repository, the following branch and tag names m * ``master`` is the development branch. * Releases are tagged, for example version 4.0.1 was tagged as ``RELEASE_4_0_1``. +Note that phpMyAdmin uses Composer to manage library dependencies, when using git +development versions you must manually run Composer. +Please see `our wiki `_ for details. + More Information ---------------- From 2a6b05d965b3e1172ded774a5362834daa75de56 Mon Sep 17 00:00:00 2001 From: Isaac Bennetch Date: Sun, 18 Dec 2016 00:13:41 -0500 Subject: [PATCH 49/74] Use documentation link instead of wiki for Composer details Signed-off-by: Isaac Bennetch --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index efebd598a4..e998dd6001 100644 --- a/README.rst +++ b/README.rst @@ -44,7 +44,7 @@ If you prefer to follow the git repository, the following branch and tag names m Note that phpMyAdmin uses Composer to manage library dependencies, when using git development versions you must manually run Composer. -Please see `our wiki `_ for details. +Please see `the documentation `_ for details. More Information ---------------- From 33af5ac3d6e2fdd0a9fa9730ded87190e0f38294 Mon Sep 17 00:00:00 2001 From: Deven Bansod Date: Mon, 19 Dec 2016 13:45:00 +0530 Subject: [PATCH 50/74] Uncomment mistakenly commented Selenium testing setting Signed-off-by: Deven Bansod --- phpunit.xml.dist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpunit.xml.dist b/phpunit.xml.dist index ac0488f79a..2e2d1d226f 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -27,9 +27,9 @@ test/libraries/rte test/libraries - + From 391c79e17728c394b7fde74184f0f7f55c97b881 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 19 Dec 2016 03:03:52 +0000 Subject: [PATCH 51/74] Translated using Weblate (Spanish) Currently translated at 100.0% (3222 of 3222 strings) [CI skip] --- po/es.po | 49 ++++++++++++++----------------------------------- 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/po/es.po b/po/es.po index c4165f9aea..a300da6e06 100644 --- a/po/es.po +++ b/po/es.po @@ -4,16 +4,16 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.6-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:40+0100\n" -"PO-Revision-Date: 2016-12-13 09:29+0000\n" -"Last-Translator: Laura Arjona Reina \n" -"Language-Team: Spanish \n" +"PO-Revision-Date: 2016-12-19 03:03+0000\n" +"Last-Translator: Franco \n" +"Language-Team: Spanish " +"\n" "Language: es\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.10-dev\n" +"X-Generator: Weblate 2.10\n" #: changelog.php:38 license.php:33 #, php-format @@ -3238,7 +3238,7 @@ msgstr "Mostrar histórico de consultas al iniciar" #: libraries/Console.php:367 msgid "Show current browsing query" -msgstr "Mostrar consulta actual" +msgstr "Mostrar consulta de navegación actual" #: libraries/Console.php:370 msgid "" @@ -9458,7 +9458,7 @@ msgstr[1] "Se encontró %s resultado adicional" #: libraries/navigation/NavigationTree.php:1364 #: libraries/navigation/NavigationTree.php:1401 msgid "Type to filter these, Enter to search all" -msgstr "Escribe para filtrar estos, «Intro» para buscar todo" +msgstr "Escribe para filtrar estos, «Enter» para buscar todo" #: libraries/navigation/NavigationTree.php:1366 #: libraries/navigation/NavigationTree.php:1402 @@ -14639,16 +14639,12 @@ msgstr "" "sin encriptar!" #: setup/frames/index.inc.php:77 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Si su servidor también está configurado para acepta solicitudes HTTPS siga " -"[a@%s]este enlace[/a] para utilizar una conexión segura." +"Si su servidor también está configurado para aceptar solicitudes HTTPS siga " +"este enlace para utilizar una conexión segura." #: setup/frames/index.inc.php:81 msgid "Insecure connection" @@ -16458,12 +16454,6 @@ msgid "There are lots of rows being sorted." msgstr "Hay demasiadas filas siendo ordenadas." #: libraries/advisory_rules.txt:222 -#, fuzzy -#| msgid "" -#| "While there is nothing wrong with a high amount of row sorting, you might " -#| "want to make sure that the queries which require a lot of sorting use " -#| "indexed columns in the ORDER BY clause, as this will result in much " -#| "faster sorting" msgid "" "While there is nothing wrong with a high amount of row sorting, you might " "want to make sure that the queries which require a lot of sorting use " @@ -16473,7 +16463,7 @@ msgstr "" "Si bien no hay nada de malo en ordenar una gran cantidad de filas, es " "probable que desee asegurarse que las consultas que requieren gran cantidad " "de ordenación utilicen campos indexados en la cláusula «ORDER BY», lo que " -"resultará en una ordenación más rápida" +"resultará en una ordenación más rápida." #: libraries/advisory_rules.txt:223 #, php-format @@ -16489,18 +16479,13 @@ msgid "There are too many joins without indexes." msgstr "Hay demasiadas uniones («JOIN») sin índices." #: libraries/advisory_rules.txt:230 -#, fuzzy -#| msgid "" -#| "This means that joins are doing full table scans. Adding indexes for the " -#| "columns being used in the join conditions will greatly speed up table " -#| "joins" msgid "" "This means that joins are doing full table scans. Adding indexes for the " "columns being used in the join conditions will greatly speed up table joins." msgstr "" "Esto significa que las uniones («JOIN») están realizando escrutinios " "completos sobre tablas. Agregar índices a los campos utilizados en las " -"condiciones de la unión las acelerarán en gran medida" +"condiciones de la unión las acelerarán en gran medida." #: libraries/advisory_rules.txt:231 #, php-format @@ -16934,22 +16919,16 @@ msgid "Slow launch time" msgstr "Tiempo de inicio lento" #: libraries/advisory_rules.txt:368 -#, fuzzy -#| msgid "Slow_launch_time is above 2s" msgid "Slow_launch_time is above 2s." -msgstr "«Slow_launch_time» es mayor a 2s" +msgstr "«Slow_launch_time» es mayor a 2s." #: libraries/advisory_rules.txt:369 -#, fuzzy -#| msgid "" -#| "Set {slow_launch_time} to 1s or 2s to correctly count threads that are " -#| "slow to launch" msgid "" "Set {slow_launch_time} to 1s or 2s to correctly count threads that are slow " "to launch." msgstr "" -"Configure {slow_launch_time} a 1 ó 2 segundos para contar correctamente los " -"hilos que inician ejecución lentamente" +"Configure {slow_launch_time} a 1 o 2 segundos para contar correctamente los " +"hilos que inician ejecución lentamente." #: libraries/advisory_rules.txt:370 #, php-format From 0c416502c2920533a5a0768f26bc555a9c31e798 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 19 Dec 2016 03:03:48 +0000 Subject: [PATCH 52/74] Translated using Weblate (Spanish) Currently translated at 99.8% (3234 of 3239 strings) [CI skip] --- po/es.po | 140 +++++++++++++++++++------------------------------------ 1 file changed, 47 insertions(+), 93 deletions(-) diff --git a/po/es.po b/po/es.po index 931ed4b089..1c3d581934 100644 --- a/po/es.po +++ b/po/es.po @@ -4,28 +4,25 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.7.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-12-13 10:41+0100\n" -"PO-Revision-Date: 2016-12-13 09:29+0000\n" -"Last-Translator: Laura Arjona Reina \n" -"Language-Team: Spanish \n" +"PO-Revision-Date: 2016-12-19 03:03+0000\n" +"Last-Translator: Franco \n" +"Language-Team: Spanish " +"\n" "Language: es\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.10-dev\n" +"X-Generator: Weblate 2.10\n" #: changelog.php:39 license.php:34 -#, fuzzy, php-format -#| msgid "" -#| "The %s file is not available on this system, please visit www.phpmyadmin." -#| "net for more information." +#, php-format msgid "" "The %s file is not available on this system, please visit %s for more " "information." msgstr "" -"El archivo %s no está disponible en este sistema, visite www.phpmyadmin.net " -"para más información." +"El archivo %s no está disponible en este sistema, visite %s para más " +"información." #: db_central_columns.php:108 msgid "The central list of columns for the current database is empty." @@ -841,6 +838,8 @@ msgstr "¡Está a punto de DESTRUIR una base de datos completa!" #: js/messages.php:48 msgid "Cannot rename database to the same name. Change the name and try again" msgstr "" +"No puede renombrar la base de datos con el mismo nombre. Cambie el nombre e " +"inténtelo de nuevo" #: js/messages.php:50 msgid "You are about to DESTROY a complete table!" @@ -2612,23 +2611,23 @@ msgstr "Copiar tabla con prefijo" #: js/messages.php:732 msgid "Extremely weak" -msgstr "" +msgstr "Extremadamente débil" #: js/messages.php:733 msgid "Very weak" -msgstr "" +msgstr "Muy débil" #: js/messages.php:734 msgid "Weak" -msgstr "" +msgstr "Débil" #: js/messages.php:735 msgid "Good" -msgstr "" +msgstr "Bueno" #: js/messages.php:736 msgid "Strong" -msgstr "" +msgstr "Fuerte" #: js/messages.php:765 msgctxt "Previous month" @@ -3121,7 +3120,7 @@ msgstr "Coreano" #: libraries/Charsets.php:313 msgid "Burmese" -msgstr "" +msgstr "Birmania" #: libraries/Charsets.php:316 msgid "Persian" @@ -3235,22 +3234,16 @@ msgid "unknown" msgstr "desconocido" #: libraries/Charsets.php:460 -#, fuzzy -#| msgid "Collation" msgid "binary collation" -msgstr "Cotejamiento" +msgstr "Cotejamiento binario" #: libraries/Charsets.php:467 -#, fuzzy -#| msgid "case-insensitive" msgid "case-insensitive collation" -msgstr "independiente de mayúsculas y minúsculas" +msgstr "Cotejamiento independiente de mayúsculas y minúsculas" #: libraries/Charsets.php:469 -#, fuzzy -#| msgid "case-sensitive" msgid "case-sensitive collation" -msgstr "dependiente de mayúsculas y minúsculas" +msgstr "Cotejamiento dependiente de mayúsculas y minúsculas" #: libraries/Config.php:1100 #, php-format @@ -3324,10 +3317,8 @@ msgid "Details…" msgstr "Detalles…" #: libraries/DatabaseInterface.php:2327 -#, fuzzy -#| msgid "Missing parameter:" msgid "Missing connection parameters!" -msgstr "Parámetro faltante:" +msgstr "¡Parámetros de conexión faltantes!" #: libraries/DatabaseInterface.php:2351 msgid "Connection for controluser as defined in your configuration failed." @@ -6888,10 +6879,8 @@ msgid "Show row links anyway" msgstr "Mostrar enlaces de fila de todas maneras" #: libraries/config/messages.inc.php:552 libraries/config/messages.inc.php:553 -#, fuzzy -#| msgid "Disable foreign key checks" msgid "Disable shortcut keys" -msgstr "Deshabilitar la revisión de las claves foráneas" +msgstr "Deshabilitar teclas de atajos" #: libraries/config/messages.inc.php:555 msgid "Use natural order for sorting table and database names." @@ -7682,17 +7671,14 @@ msgid "Show last check timestamp" msgstr "Mostrar marca temporal de la última revisión" #: libraries/config/messages.inc.php:858 -#, fuzzy -#| msgid "Show or hide a column displaying the comments for all tables." msgid "Show or hide a column displaying the charset for all tables." msgstr "" -"Mostrar u ocultar una columna, mostrando los comentarios de todas las tablas." +"Mostrar u ocultar una columna, mostrando conjunto de caracteres de todas las " +"tablas." #: libraries/config/messages.inc.php:860 -#, fuzzy -#| msgid "Show table comments" msgid "Show table charset" -msgstr "Mostrar comentarios de la tabla" +msgstr "Mostrar conjunto de caracteres de la tabla" #: libraries/config/messages.inc.php:862 msgid "" @@ -8323,7 +8309,7 @@ msgstr "Contraseña:" #: libraries/display_change_password.lib.php:68 msgid "Enter:" -msgstr "" +msgstr "Ingresar:" #: libraries/display_change_password.lib.php:75 #: libraries/replication_gui.lib.php:865 @@ -9371,7 +9357,7 @@ msgstr[1] "Se encontró %s resultado adicional" #: libraries/navigation/NavigationTree.php:1358 #: libraries/navigation/NavigationTree.php:1390 msgid "Type to filter these, Enter to search all" -msgstr "Escribe para filtrar estos, «Intro» para buscar todo" +msgstr "Escribe para filtrar estos, «Enter» para buscar todo" #: libraries/navigation/NavigationTree.php:1360 #: libraries/navigation/NavigationTree.php:1391 @@ -10530,10 +10516,9 @@ msgid "Last check:" msgstr "Última revisión:" #: libraries/plugins/export/ExportSql.php:1488 -#, fuzzy, php-format -#| msgid "Table structure for table" +#, php-format msgid "Error reading structure for table %s:" -msgstr "Estructura de tabla para la tabla" +msgstr "Error leyendo la estructura de la tabla %s:" #: libraries/plugins/export/ExportSql.php:1542 msgid "It appears your database uses views;" @@ -10585,10 +10570,9 @@ msgid "(See below for the actual view)" msgstr "(Véase abajo para la vista actual)" #: libraries/plugins/export/ExportSql.php:2204 -#, fuzzy, php-format -#| msgid "Error reading data:" +#, php-format msgid "Error reading data for table %s:" -msgstr "Error leyendo datos:" +msgstr "Error leyendo datos de la tabla %s:" #: libraries/plugins/export/ExportXml.php:97 msgid "Object creation options (all are recommended)" @@ -12405,10 +12389,9 @@ msgstr "" "Otorgar todos los privilegios al nombre que contiene comodín (username\\_%)." #: libraries/server_privileges.lib.php:2176 -#, fuzzy, php-format -#| msgid "Grant all privileges on database \"%s\"." +#, php-format msgid "Grant all privileges on database %s." -msgstr "Otorgar todos los privilegios para la base de datos \"%s\"." +msgstr "Otorgar todos los privilegios para la base de datos %s." #: libraries/server_privileges.lib.php:2338 #: libraries/server_privileges.lib.php:2409 @@ -14152,14 +14135,12 @@ msgstr "" "No se pudo guardar la configuración, ¡el formulario enviado contiene errores!" #: prefs_manage.php:52 -#, fuzzy -#| msgid "Missing phpMyAdmin configuration storage tables" msgid "phpMyAdmin configuration snippet" -msgstr "Faltan las tablas de almacenaje de configuración de phpMyAdmin" +msgstr "Fragmento de configuración de phpMyAdmin" #: prefs_manage.php:53 msgid "Paste it to your config.inc.php" -msgstr "" +msgstr "Pegue esto en su archivo config.inc.php" #: prefs_manage.php:93 msgid "Could not import configuration" @@ -14213,10 +14194,8 @@ msgstr "" "ejemplo, utilizado %sscripts de configuración%s." #: prefs_manage.php:331 -#, fuzzy -#| msgid "Save as file" msgid "Save as PHP file" -msgstr "Guardar como archivo" +msgstr "Guardar como archivo PHP" #: prefs_manage.php:336 msgid "Save to browser's storage" @@ -14318,16 +14297,12 @@ msgstr "" "sin encriptar!" #: setup/frames/index.inc.php:78 -#, fuzzy -#| msgid "" -#| "If your server is also configured to accept HTTPS requests follow [a@" -#| "%s]this link[/a] to use a secure connection." msgid "" "If your server is also configured to accept HTTPS requests follow this link " "to use a secure connection." msgstr "" -"Si su servidor también está configurado para acepta solicitudes HTTPS siga " -"[a@%s]este enlace[/a] para utilizar una conexión segura." +"Si su servidor también está configurado para aceptar solicitudes HTTPS siga " +"este enlace para utilizar una conexión segura." #: setup/frames/index.inc.php:82 msgid "Insecure connection" @@ -14845,10 +14820,8 @@ msgid "Show query history at start" msgstr "Mostrar histórico de consultas al iniciar" #: templates/console/display.phtml:189 -#, fuzzy -#| msgid "Show current browsing query" msgid "Show current browsing query" -msgstr "Mostrar consulta actual" +msgstr "Mostrar consulta de navegación actual" #: templates/console/display.phtml:194 msgid "" @@ -15198,10 +15171,8 @@ msgstr "" "importarlo a la sesión actual?" #: templates/prefs_autoload.phtml:14 -#, fuzzy -#| msgid "Delete tracking" msgid "Delete settings " -msgstr "Borrando los datos de seguimiento" +msgstr "Borrar configuración " #: templates/privileges/add_privileges_database.phtml:2 msgid "Add privileges on the following database(s):" @@ -15851,6 +15822,8 @@ msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" +"¡Se esperaba un nombre de símbolo! Una palabra reservada no puede usarse " +"como nombre de columna sin comillas." #: vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php:241 msgid "A symbol name was expected!" @@ -15970,10 +15943,8 @@ msgid "Unrecognized keyword." msgstr "Palabra clave no reconocida." #: vendor/phpmyadmin/sql-parser/src/Statement.php:495 -#, fuzzy -#| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." -msgstr "Comienzo inesperado de declaración." +msgstr "Orden inesperado de condiciones." #: vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php:381 msgid "The name of the entity was expected." @@ -16579,12 +16550,6 @@ msgid "There are lots of rows being sorted." msgstr "Hay demasiadas filas siendo ordenadas." #: libraries/advisory_rules.txt:222 -#, fuzzy -#| msgid "" -#| "While there is nothing wrong with a high amount of row sorting, you might " -#| "want to make sure that the queries which require a lot of sorting use " -#| "indexed columns in the ORDER BY clause, as this will result in much " -#| "faster sorting" msgid "" "While there is nothing wrong with a high amount of row sorting, you might " "want to make sure that the queries which require a lot of sorting use " @@ -16594,7 +16559,7 @@ msgstr "" "Si bien no hay nada de malo en ordenar una gran cantidad de filas, es " "probable que desee asegurarse que las consultas que requieren gran cantidad " "de ordenación utilicen campos indexados en la cláusula «ORDER BY», lo que " -"resultará en una ordenación más rápida" +"resultará en una ordenación más rápida." #: libraries/advisory_rules.txt:223 #, php-format @@ -16610,18 +16575,13 @@ msgid "There are too many joins without indexes." msgstr "Hay demasiadas uniones («JOIN») sin índices." #: libraries/advisory_rules.txt:230 -#, fuzzy -#| msgid "" -#| "This means that joins are doing full table scans. Adding indexes for the " -#| "columns being used in the join conditions will greatly speed up table " -#| "joins" msgid "" "This means that joins are doing full table scans. Adding indexes for the " "columns being used in the join conditions will greatly speed up table joins." msgstr "" "Esto significa que las uniones («JOIN») están realizando escrutinios " "completos sobre tablas. Agregar índices a los campos utilizados en las " -"condiciones de la unión las acelerarán en gran medida" +"condiciones de la unión las acelerarán en gran medida." #: libraries/advisory_rules.txt:231 #, php-format @@ -17055,22 +17015,16 @@ msgid "Slow launch time" msgstr "Tiempo de inicio lento" #: libraries/advisory_rules.txt:368 -#, fuzzy -#| msgid "Slow_launch_time is above 2s" msgid "Slow_launch_time is above 2s." -msgstr "«Slow_launch_time» es mayor a 2s" +msgstr "«Slow_launch_time» es mayor a 2s." #: libraries/advisory_rules.txt:369 -#, fuzzy -#| msgid "" -#| "Set {slow_launch_time} to 1s or 2s to correctly count threads that are " -#| "slow to launch" msgid "" "Set {slow_launch_time} to 1s or 2s to correctly count threads that are slow " "to launch." msgstr "" -"Configure {slow_launch_time} a 1 ó 2 segundos para contar correctamente los " -"hilos que inician ejecución lentamente" +"Configure {slow_launch_time} a 1 o 2 segundos para contar correctamente los " +"hilos que inician ejecución lentamente." #: libraries/advisory_rules.txt:370 #, php-format From 7ad21270c45e512f91da03698de67fb6111b21a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 13:35:28 +0100 Subject: [PATCH 53/74] Remove .htaccess from tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12348 Signed-off-by: Michal Čihař --- test/.htaccess | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 test/.htaccess diff --git a/test/.htaccess b/test/.htaccess deleted file mode 100644 index 0970a23a97..0000000000 --- a/test/.htaccess +++ /dev/null @@ -1,6 +0,0 @@ -# This folder does NOT need to be accessible over HTTP -# In most cases the tests included here will be run from a command line interface. - -# (the following directive denies access by default) -# For more information see: https://httpd.apache.org/docs/current/mod/mod_authz_host.html#allow -Order allow,deny From 53274555b60a901f11a4fa1804576fc9072e7058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 14:21:53 +0100 Subject: [PATCH 54/74] Add source release support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See #12348 Signed-off-by: Michal Čihař --- scripts/lang-cleanup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/lang-cleanup.sh b/scripts/lang-cleanup.sh index 846dffc87e..e40ce282b1 100755 --- a/scripts/lang-cleanup.sh +++ b/scripts/lang-cleanup.sh @@ -14,6 +14,7 @@ if [ $# -lt 1 ] ; then echo "Usage: lang-cleanup.sh type" echo "Type can be one of:" echo " all-languages - nothing will be done" + echo " source - nothing will be done" echo " english - no translations will be kept" echo " langcode - keeps language" echo @@ -25,7 +26,7 @@ fi match="" for type in "$@" ; do case $type in - all-languages) + all-languages|source) exit 0 ;; english) From 7d361806c353911b2828053dc2e92fa270852838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 15:20:12 +0100 Subject: [PATCH 55/74] Share code for rendering custom header and footer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #12802 Signed-off-by: Michal Čihař --- libraries/Config.php | 42 +++++++++++++++++++ libraries/Footer.php | 12 ++---- libraries/Header.php | 10 +---- .../plugins/auth/AuthenticationCookie.php | 5 +-- libraries/plugins/auth/AuthenticationHttp.php | 5 +-- 5 files changed, 51 insertions(+), 23 deletions(-) diff --git a/libraries/Config.php b/libraries/Config.php index b9349fa066..f1191ce01c 100644 --- a/libraries/Config.php +++ b/libraries/Config.php @@ -1692,6 +1692,48 @@ class Config ) ); } + + /** + * Wrapper for footer/header rendering + * + * @param string $filename File to check and render + * @param string $id Div ID + * + * @return string + */ + private static function _renderCustom($filename, $id) + { + $retval = ''; + if (file_exists($filename)) { + $retval .= '
    '; + ob_start(); + include $filename; + $retval .= ob_get_contents(); + ob_end_clean(); + $retval .= '
    '; + } + return $retval; + } + + /** + * Renders user configured footer + * + * @return string + */ + public static function renderFooter() + { + return self::_renderCustom(CUSTOM_FOOTER_FILE, 'pma_footer'); + } + + /** + * Renders user configured footer + * + * @return string + */ + public static function renderHeader() + { + return self::_renderCustom(CUSTOM_HEADER_FILE, 'pma_header'); + } } if (!defined('TESTSUITE')) { diff --git a/libraries/Footer.php b/libraries/Footer.php index d362f18265..f92e4179cc 100644 --- a/libraries/Footer.php +++ b/libraries/Footer.php @@ -8,6 +8,7 @@ namespace PMA\libraries; use Traversable; +use PMA\libraries\Config; /** * Class used to output the footer @@ -353,15 +354,8 @@ class Footer $retval .= $this->_getDemoMessage(); $retval .= '
  • '; } - // Include possible custom footers - if (file_exists(CUSTOM_FOOTER_FILE)) { - $retval .= ''; - } + + $retval .= Config::renderFooter(); } if (! $this->_isAjax) { $retval .= ""; diff --git a/libraries/Header.php b/libraries/Header.php index b44028b3be..38df1526b7 100644 --- a/libraries/Header.php +++ b/libraries/Header.php @@ -8,6 +8,7 @@ namespace PMA\libraries; use PMA\libraries\navigation\Navigation; +use PMA\libraries\Config; require_once 'libraries/js_escape.lib.php'; require_once 'libraries/url_generating.lib.php'; @@ -427,14 +428,7 @@ class Header $retval .= $nav->getDisplay(); } // Include possible custom headers - if (file_exists(CUSTOM_HEADER_FILE)) { - $retval .= '
    '; - ob_start(); - include CUSTOM_HEADER_FILE; - $retval .= ob_get_contents(); - ob_end_clean(); - $retval .= '
    '; - } + $retval .= Config::renderHeader(); // offer to load user preferences from localStorage if ($this->_userprefsOfferImport) { include_once './libraries/user_preferences.lib.php'; diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index 827aea1c40..7fc67a280f 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -13,6 +13,7 @@ use PMA\libraries\Message; use PMA\libraries\plugins\AuthenticationPlugin; use PMA\libraries\Response; use PMA\libraries\Util; +use PMA\libraries\Config; use ReCaptcha; require_once './libraries/session.lib.php'; @@ -227,9 +228,7 @@ class AuthenticationCookie extends AuthenticationPlugin echo ''; } echo ''; - if (@file_exists(CUSTOM_FOOTER_FILE)) { - include CUSTOM_FOOTER_FILE; - } + echo Config::renderFooter(); if (! defined('TESTSUITE')) { exit; } else { diff --git a/libraries/plugins/auth/AuthenticationHttp.php b/libraries/plugins/auth/AuthenticationHttp.php index 3739260045..19ee2e6a11 100644 --- a/libraries/plugins/auth/AuthenticationHttp.php +++ b/libraries/plugins/auth/AuthenticationHttp.php @@ -12,6 +12,7 @@ namespace PMA\libraries\plugins\auth; use PMA\libraries\plugins\AuthenticationPlugin; use PMA\libraries\Message; use PMA\libraries\Response; +use PMA\libraries\Config; /** * Handles the HTTP authentication methods @@ -89,9 +90,7 @@ class AuthenticationHttp extends AuthenticationPlugin ); $response->addHTML(''); - if (@file_exists(CUSTOM_FOOTER_FILE)) { - $response->addHTML(file_get_contents(CUSTOM_FOOTER_FILE)); - } + $response->addHTML(Config::renderFooter()); if (!defined('TESTSUITE')) { exit; From 9835791bff33409b05e4dd02997389f0bde8b63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 16:01:00 +0100 Subject: [PATCH 56/74] Fix empty password login for http authetication MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #12828 Signed-off-by: Michal Čihař --- libraries/plugins/auth/AuthenticationHttp.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/plugins/auth/AuthenticationHttp.php b/libraries/plugins/auth/AuthenticationHttp.php index 82799ef9fe..aca37bd9fd 100644 --- a/libraries/plugins/auth/AuthenticationHttp.php +++ b/libraries/plugins/auth/AuthenticationHttp.php @@ -144,6 +144,10 @@ class AuthenticationHttp extends AuthenticationPlugin $PHP_AUTH_PW = PMA_getenv('AUTH_PASSWORD'); } } + // Sanitize empty password login + if (is_null($PHP_AUTH_PW)) { + $PHP_AUTH_PW = ''; + } // Decode possibly encoded information (used by IIS/CGI/FastCGI) // (do not use explode() because a user might have a colon in his password From ffe68c7219eac49ebc7066c732a42c27652a9998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 16:18:21 +0100 Subject: [PATCH 57/74] Honor user configured connection collation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * the user set collation is now honored * default value has been changed to utf8mb4 * it is downgraded to utf8 if server does not support it Fixes #12826 Signed-off-by: Michal Čihař --- ChangeLog | 1 + doc/config.rst | 2 +- libraries/DatabaseInterface.php | 18 ++++++++---------- libraries/config.default.php | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73d7064590..3120532dbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,6 +22,7 @@ phpMyAdmin - ChangeLog - issue #12800 Fixed various issues with PHP 7.1 - issue #11816 Fixed operation with lower_case_table_names=2 - issue #12813 Fixed stored procedure execution +- issue #12826 Honor user configured connection collation 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines diff --git a/doc/config.rst b/doc/config.rst index 51e00d2a7f..dc464797e1 100644 --- a/doc/config.rst +++ b/doc/config.rst @@ -2224,7 +2224,7 @@ Languages .. config:option:: $cfg['DefaultConnectionCollation'] :type: string - :default: ``'utf8_general_ci'`` + :default: ``'utf8mb4_general_ci'`` Defines the default connection collation to use, if not user-defined. See the `MySQL documentation for charsets diff --git a/libraries/DatabaseInterface.php b/libraries/DatabaseInterface.php index d1ec41fc58..5b05813c60 100644 --- a/libraries/DatabaseInterface.php +++ b/libraries/DatabaseInterface.php @@ -1463,24 +1463,22 @@ class DatabaseInterface $default_charset = 'utf8'; $default_collation = 'utf8_general_ci'; } - if (! empty($GLOBALS['collation_connection'])) { + $collation_connection = $GLOBALS['PMA_Config']->get('collation_connection'); + if (! empty($collation_connection)) { $this->query( "SET CHARACTER SET '$default_charset';", $link, self::QUERY_STORE ); - /* Automatically adjust collation to mb4 variant */ - if ($default_charset == 'utf8mb4' - && strncmp('utf8_', $GLOBALS['collation_connection'], 5) == 0 + /* Automatically adjust collation if not supported by server */ + if ($default_charset == 'utf8' + && strncmp('utf8mb4_', $collation_connection, 8) == 0 ) { - $GLOBALS['collation_connection'] = 'utf8mb4_' . substr( - $GLOBALS['collation_connection'], - 5 - ); + $collation_connection = 'utf8_' . substr($collation_connection, 8); } $result = $this->tryQuery( "SET collation_connection = '" - . $this->escapeString($GLOBALS['collation_connection'], $link) + . $this->escapeString($collation_connection, $link) . "';", $link, self::QUERY_STORE @@ -1492,7 +1490,7 @@ class DatabaseInterface ); $this->query( "SET collation_connection = '" - . $this->escapeString($GLOBALS['collation_connection'], $link) + . $this->escapeString($collation_connection, $link) . "';", $link, self::QUERY_STORE diff --git a/libraries/config.default.php b/libraries/config.default.php index 2d68231cab..9d91c999c8 100644 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -2560,7 +2560,7 @@ $cfg['DefaultLang'] = 'en'; * * @global string $cfg['DefaultConnectionCollation'] */ -$cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci'; +$cfg['DefaultConnectionCollation'] = 'utf8mb4_unicode_ci'; /** * Force: always use this language, e.g. 'en' From a856a61c9d62094570ee612efb6aaf475ead62d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 16:20:51 +0100 Subject: [PATCH 58/74] Fix HTTP auth test expectations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- test/classes/plugin/auth/AuthenticationHttpTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/classes/plugin/auth/AuthenticationHttpTest.php b/test/classes/plugin/auth/AuthenticationHttpTest.php index b598e12ba5..921072a7fc 100644 --- a/test/classes/plugin/auth/AuthenticationHttpTest.php +++ b/test/classes/plugin/auth/AuthenticationHttpTest.php @@ -107,7 +107,7 @@ class AuthenticationHttpTest extends PMATestCase ->with() ->will($this->returnValue(false)); - $mockResponse->expects($this->exactly($set_title * 6)) + $mockResponse->expects($this->exactly($set_title * 7)) ->method('addHTML') ->with(); From b8b872d4499a73cc481090fba888067ffd63cb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 16:31:02 +0100 Subject: [PATCH 59/74] Remove default value for js parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The null is there implicitely anyway. Fixes #12829 Signed-off-by: Michal Čihař --- js/server_privileges.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/server_privileges.js b/js/server_privileges.js index 18c37875f2..74461300da 100644 --- a/js/server_privileges.js +++ b/js/server_privileges.js @@ -31,7 +31,7 @@ function checkAddUser(the_form) return PMA_checkPassword($(the_form)); } // end of the 'checkAddUser()' function -function checkPasswordStrength(value, meter_obj, meter_object_label, username = null) { +function checkPasswordStrength(value, meter_obj, meter_object_label, username) { // List of words we don't want to appear in the password customDict = [ 'phpmyadmin', From d730db12597ddf99ec7346d1dada59e3200e2421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Mon, 19 Dec 2016 17:05:35 +0100 Subject: [PATCH 60/74] Add some missing html encoding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12804 Signed-off-by: Michal Čihař --- libraries/pmd_common.php | 4 +++- templates/database/designer/database_tables.phtml | 8 ++++---- templates/database/designer/table_list.phtml | 10 +++++----- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/libraries/pmd_common.php b/libraries/pmd_common.php index f390f8ccba..1f8c976e6e 100644 --- a/libraries/pmd_common.php +++ b/libraries/pmd_common.php @@ -39,7 +39,9 @@ function PMA_getTablesInfo() $GLOBALS['PMD']['TABLE_NAME'][$i] = $GLOBALS['db'] . "." . $one_table['TABLE_NAME']; $GLOBALS['PMD']['OWNER'][$i] = $GLOBALS['db']; - $GLOBALS['PMD']['TABLE_NAME_SMALL'][$i] = $one_table['TABLE_NAME']; + $GLOBALS['PMD']['TABLE_NAME_SMALL'][$i] = htmlspecialchars( + $one_table['TABLE_NAME'], ENT_QUOTES + ); $GLOBALS['PMD_URL']['TABLE_NAME'][$i] = $GLOBALS['db'] . "." . $one_table['TABLE_NAME']; diff --git a/templates/database/designer/database_tables.phtml b/templates/database/designer/database_tables.phtml index 03161efd1c..866febaf7f 100644 --- a/templates/database/designer/database_tables.phtml +++ b/templates/database/designer/database_tables.phtml @@ -1,6 +1,6 @@ + $t_n_url = htmlspecialchars($GLOBALS['PMD_URL']["TABLE_NAME"][$i]); ?> @@ -33,7 +33,7 @@ onmouseout="this.className='small_tab';" > " + table_name_small="" onmouseover="this.className='small_tab_pref2 small_tab_pref_1';" onmouseout="this.className='small_tab_pref small_tab_pref_1';" > - ." + ." onmouseover="old_class = this.className; this.className = 'tab_field_2';" onmouseout="this.className = old_class;" - click_field_param=""> + click_field_param=""> " + id="check_vis_" style="margin:0;" type="checkbox" - value="" + value="" checked="checked" /> + pmd_url_table_name=""> @@ -66,4 +66,4 @@ - \ No newline at end of file + From ec4ef65f36a665c9039c6afa8d12732b89a41309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yunus=20=C3=87a=C4=9Fr=C4=B1?= Date: Mon, 19 Dec 2016 22:56:15 +0300 Subject: [PATCH 61/74] Feature: #12069: Filtering tables on table listing of particular database. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Yunus Çağrı --- js/db_structure.js | 22 +++++++++++++++++++ .../database/structure/table_header.phtml | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/js/db_structure.js b/js/db_structure.js index 8e689e2325..fd763a6c8f 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -182,6 +182,28 @@ function PMA_fetchRealRowCount($target) }); } +/** + * Filtering tables on table listing of particular database + * + */ +function PMA_searchTables() { + var filter, table, tr; + filter = $("#tableSearch").val().toUpperCase(); + table = $("#structureTable")[0]; + tr = table.getElementsByTagName("tr"); + + for (i = 0; i < tr.length; i++) { + a = tr[i].getElementsByTagName("a")[0]; + if (a) { + if (a.text.trim().toUpperCase().indexOf(filter) > -1) { + tr[i].style.display = ""; + } else { + tr[i].style.display = "none"; + } + } + } +} + AJAX.registerOnload('db_structure.js', function () { /** * function to open the confirmation dialog for making table consistent with central list diff --git a/templates/database/structure/table_header.phtml b/templates/database/structure/table_header.phtml index 821c2b5cf3..4351722794 100644 --- a/templates/database/structure/table_header.phtml +++ b/templates/database/structure/table_header.phtml @@ -12,7 +12,8 @@ if ($GLOBALS['cfg']['NumFavoriteTables'] > 0) { ?> - + +
    From b19085b37b9fc65f540f2718479462f340d44f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yunus=20=C3=87a=C4=9Fr=C4=B1?= Date: Mon, 19 Dec 2016 23:19:06 +0300 Subject: [PATCH 62/74] Feature: #12069: Filtering tables on table listing of particular database. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Yunus Çağrı --- js/db_structure.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index fd763a6c8f..b73229f142 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -187,21 +187,21 @@ function PMA_fetchRealRowCount($target) * */ function PMA_searchTables() { - var filter, table, tr; - filter = $("#tableSearch").val().toUpperCase(); - table = $("#structureTable")[0]; - tr = table.getElementsByTagName("tr"); - - for (i = 0; i < tr.length; i++) { - a = tr[i].getElementsByTagName("a")[0]; - if (a) { - if (a.text.trim().toUpperCase().indexOf(filter) > -1) { - tr[i].style.display = ""; - } else { - tr[i].style.display = "none"; - } - } - } + var filter, table, tr; + filter = $("#tableSearch").val().toUpperCase(); + table = $("#structureTable")[0]; + tr = table.getElementsByTagName("tr"); + + for (i = 0; i < tr.length; i++) { + a = tr[i].getElementsByTagName("a")[0]; + if (a) { + if (a.text.trim().toUpperCase().indexOf(filter) > -1) { + tr[i].style.display = ""; + } else { + tr[i].style.display = "none"; + } + } + } } AJAX.registerOnload('db_structure.js', function () { From b866371b9a79625c11a91dec4feb4e206ad48dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 20 Dec 2016 14:30:35 +0100 Subject: [PATCH 63/74] Determine whether to use openssl just once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12293 Signed-off-by: Michal Čihař --- .../plugins/auth/AuthenticationCookie.php | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index 7fc67a280f..5af5b782cc 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -40,6 +40,35 @@ class AuthenticationCookie extends AuthenticationPlugin */ private $_cookie_iv = null; + /** + * Whether to use OpenSSL directly + */ + private $_use_openssl; + + /** + * Constructor + */ + public function __construct() + { + $this->_use_openssl = ( + function_exists('openssl_encrypt') + && function_exists('openssl_decrypt') + && function_exists('openssl_random_pseudo_bytes') + ); + } + + /** + * Forces (not)using of openSSL + * + * @param boolean $use The flag + * + * @return void + */ + public function setUseOpenSSL($use) + { + $this->_use_openssl = $use; + } + /** * Displays authentication form * @@ -621,7 +650,7 @@ class AuthenticationCookie extends AuthenticationPlugin private function _getSessionEncryptionSecret() { if (empty($_SESSION['encryption_key'])) { - if (self::useOpenSSL()) { + if ($this->_use_openssl) { $_SESSION['encryption_key'] = openssl_random_pseudo_bytes(32); } else { $_SESSION['encryption_key'] = Crypt\Random::string(32); @@ -630,20 +659,6 @@ class AuthenticationCookie extends AuthenticationPlugin return $_SESSION['encryption_key']; } - /** - * Checks whether we should use openssl for encryption. - * - * @return boolean - */ - public static function useOpenSSL() - { - return ( - function_exists('openssl_encrypt') - && function_exists('openssl_decrypt') - && function_exists('openssl_random_pseudo_bytes') - ); - } - /** * Concatenates secret in order to make it 16 bytes log * @@ -716,7 +731,7 @@ class AuthenticationCookie extends AuthenticationPlugin $mac_secret = $this->getMACSecret($secret); $aes_secret = $this->getAESSecret($secret); $iv = $this->createIV(); - if (self::useOpenSSL()) { + if ($this->_use_openssl) { $result = openssl_encrypt( $data, 'AES-128-CBC', @@ -767,7 +782,7 @@ class AuthenticationCookie extends AuthenticationPlugin return false; } - if (self::useOpenSSL()) { + if ($this->_use_openssl) { return openssl_decrypt( $data['payload'], 'AES-128-CBC', @@ -790,7 +805,7 @@ class AuthenticationCookie extends AuthenticationPlugin */ public function getIVSize() { - if (self::useOpenSSL()) { + if ($this->_use_openssl) { return openssl_cipher_iv_length('AES-128-CBC'); } $cipher = new Crypt\AES(Crypt\Base::MODE_CBC); @@ -811,7 +826,7 @@ class AuthenticationCookie extends AuthenticationPlugin if (! is_null($this->_cookie_iv)) { return $this->_cookie_iv; } - if (self::useOpenSSL()) { + if ($this->_use_openssl) { return openssl_random_pseudo_bytes( $this->getIVSize() ); From 03bc52f6dcbb8e549b2e0fef3d60e7103681558a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 20 Dec 2016 14:36:25 +0100 Subject: [PATCH 64/74] Correctly report OpenSSL errors from cookie encryption MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without calling openssl_error_string() we pollute openssl global state and some other library might report this as failure (eg. mysqlnd driver when connecting to SSL enabled server). Fixes #12293 Signed-off-by: Michal Čihař --- ChangeLog | 1 + libraries/plugins/auth/AuthenticationCookie.php | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3120532dbf..2d8167ec15 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,7 @@ phpMyAdmin - ChangeLog - issue #11816 Fixed operation with lower_case_table_names=2 - issue #12813 Fixed stored procedure execution - issue #12826 Honor user configured connection collation +- issue #12293 Correctly report OpenSSL errors from cookie encryption 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index 5af5b782cc..58fe2e959f 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -717,6 +717,18 @@ class AuthenticationCookie extends AuthenticationPlugin ); } + /** + * Reports any SSL errors + * + * @return void + */ + public function reportSSLErrors() + { + while (($ssl_err = openssl_error_string()) !== false) { + trigger_error('OpenSSL error: ' . $ssl_err, E_USER_ERROR); + } + } + /** * Encryption using openssl's AES or phpseclib's AES * (phpseclib uses mcrypt when it is available) @@ -739,6 +751,7 @@ class AuthenticationCookie extends AuthenticationPlugin 0, $iv ); + $this->reportSSLErrors(); } else { $cipher = new Crypt\AES(Crypt\Base::MODE_CBC); $cipher->setIV($iv); @@ -783,13 +796,15 @@ class AuthenticationCookie extends AuthenticationPlugin } if ($this->_use_openssl) { - return openssl_decrypt( + $result = openssl_decrypt( $data['payload'], 'AES-128-CBC', $secret, 0, base64_decode($data['iv']) ); + $this->reportSSLErrors(); + return $result; } else { $cipher = new Crypt\AES(Crypt\Base::MODE_CBC); $cipher->setIV(base64_decode($data['iv'])); From 30cd5fc358d08d95a9640d22311deaf8e4fc1032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 20 Dec 2016 14:38:34 +0100 Subject: [PATCH 65/74] Use same encryption key with openssl and phpseclib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12293 Signed-off-by: Michal Čihař --- libraries/plugins/auth/AuthenticationCookie.php | 4 ++-- test/classes/plugin/auth/AuthenticationCookieTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/plugins/auth/AuthenticationCookie.php b/libraries/plugins/auth/AuthenticationCookie.php index 58fe2e959f..06fe78f020 100644 --- a/libraries/plugins/auth/AuthenticationCookie.php +++ b/libraries/plugins/auth/AuthenticationCookie.php @@ -747,7 +747,7 @@ class AuthenticationCookie extends AuthenticationPlugin $result = openssl_encrypt( $data, 'AES-128-CBC', - $secret, + $aes_secret, 0, $iv ); @@ -799,7 +799,7 @@ class AuthenticationCookie extends AuthenticationPlugin $result = openssl_decrypt( $data['payload'], 'AES-128-CBC', - $secret, + $aes_secret, 0, base64_decode($data['iv']) ); diff --git a/test/classes/plugin/auth/AuthenticationCookieTest.php b/test/classes/plugin/auth/AuthenticationCookieTest.php index dbee3ccfb5..fc42b803f5 100644 --- a/test/classes/plugin/auth/AuthenticationCookieTest.php +++ b/test/classes/plugin/auth/AuthenticationCookieTest.php @@ -1070,7 +1070,7 @@ class AuthenticationCookieTest extends PMATestCase $this->object->setIV('testiv09testiv09'); // works with the openssl extension active or inactive $this->assertEquals( - '{"iv":"dGVzdGl2MDl0ZXN0aXYwOQ==","mac":"34367a80e4276906637b5eaecf8c3931547aae68","payload":"+coP\/up\/ZBTBwbiEpCUVXQ=="}', + '{"iv":"dGVzdGl2MDl0ZXN0aXYwOQ==","mac":"347aa45ae1ade00c980f31129ec2defef18b2bfd","payload":"YDEaxOfP9nD9q\/2pC6hjfQ=="}', $this->object->cookieEncrypt('data123', 'sec321') ); } @@ -1086,7 +1086,7 @@ class AuthenticationCookieTest extends PMATestCase $this->assertEquals( 'data123', $this->object->cookieDecrypt( - '{"iv":"dGVzdGl2MDl0ZXN0aXYwOQ==","mac":"34367a80e4276906637b5eaecf8c3931547aae68","payload":"+coP\/up\/ZBTBwbiEpCUVXQ=="}', + '{"iv":"dGVzdGl2MDl0ZXN0aXYwOQ==","mac":"347aa45ae1ade00c980f31129ec2defef18b2bfd","payload":"YDEaxOfP9nD9q\/2pC6hjfQ=="}', 'sec321' ) ); From 09da5eb49f4bef0d16c48c6bc30b3b17a3b8f799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 20 Dec 2016 14:40:31 +0100 Subject: [PATCH 66/74] Test both with and without phpseclib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This ensures we generate compatible data in both cases. Issue #12293 Signed-off-by: Michal Čihař --- .../plugin/auth/AuthenticationCookieTest.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/classes/plugin/auth/AuthenticationCookieTest.php b/test/classes/plugin/auth/AuthenticationCookieTest.php index fc42b803f5..b8f3fd4288 100644 --- a/test/classes/plugin/auth/AuthenticationCookieTest.php +++ b/test/classes/plugin/auth/AuthenticationCookieTest.php @@ -1075,6 +1075,17 @@ class AuthenticationCookieTest extends PMATestCase ); } + /** + * Test for PMA\libraries\plugins\auth\AuthenticationConfig::cookieEncrypt + * + * @return void + */ + public function testCookieEncryptPHPSecLib() + { + $this->object->setUseOpenSSL(false); + $this->testCookieEncrypt(); + } + /** * Test for PMA\libraries\plugins\auth\AuthenticationConfig::cookieDecrypt * @@ -1092,6 +1103,17 @@ class AuthenticationCookieTest extends PMATestCase ); } + /** + * Test for PMA\libraries\plugins\auth\AuthenticationConfig::cookieDecrypt + * + * @return void + */ + public function testCookieDecryptPHPSecLib() + { + $this->object->setUseOpenSSL(false); + $this->testCookieDecrypt(); + } + /** * Test for PMA\libraries\plugins\auth\AuthenticationConfig::cookieDecrypt * From 73c6a7eb9f8db6d2e6af4fb7a3984a2b5a569b92 Mon Sep 17 00:00:00 2001 From: Osaid Rehman Nasir Date: Tue, 20 Dec 2016 21:07:11 +0530 Subject: [PATCH 67/74] Use Header class for headers manipulation * Added mocking of response object * Rectified mistake of calling method once * implemented mock properly * replaced header with response header Issue #12079 Signed-off-by: Osaid osaid.nasir@gmail.com --- setup/lib/form_processing.lib.php | 9 ++++-- test/libraries/PMA_Form_Processing_test.php | 33 ++++++++++++++------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/setup/lib/form_processing.lib.php b/setup/lib/form_processing.lib.php index 8d613b0adb..89269db2fe 100644 --- a/setup/lib/form_processing.lib.php +++ b/setup/lib/form_processing.lib.php @@ -7,6 +7,7 @@ */ use PMA\libraries\config\FormDisplay; use PMA\libraries\URL; +use PMA\libraries\Response; /** * Processes forms registered in $form_display, handles error correction @@ -72,11 +73,13 @@ function PMA_Process_formset(FormDisplay $form_display) */ function PMA_generateHeader303() { + $response = Response::getInstance(); + // drop post data - header('HTTP/1.1 303 See Other'); - header('Location: index.php' . URL::getCommonRaw()); + $response->header('HTTP/1.1 303 See Other'); + $response->header('Location: index.php' . URL::getCommonRaw()); if (!defined('TESTSUITE')) { exit; } -} +} \ No newline at end of file diff --git a/test/libraries/PMA_Form_Processing_test.php b/test/libraries/PMA_Form_Processing_test.php index 4e4cc54bef..67daec5e18 100644 --- a/test/libraries/PMA_Form_Processing_test.php +++ b/test/libraries/PMA_Form_Processing_test.php @@ -37,11 +37,28 @@ class PMA_Form_Processing_Test extends PHPUnit_Framework_TestCase */ public function testProcessFormSet() { - if (!defined('PMA_TEST_HEADERS')) { - $this->markTestSkipped( - 'Cannot redefine constant/function - missing runkit extension' + $restoreInstance = PMA\libraries\Response::getInstance(); + + $mockResponse = $this->getMockBuilder('PMA\libraries\Response') + ->disableOriginalConstructor() + ->setMethods(array('header', 'headersSent')) + ->getMock(); + + $mockResponse->expects($this->exactly(2)) + ->method('header') + ->withConsecutive( + ['HTTP/1.1 303 See Other'], + ['Location: index.php?lang=en'] ); - } + + $mockResponse->expects($this->any()) + ->method('headersSent') + ->with() + ->will($this->returnValue(false)); + + $attrInstance = new ReflectionProperty('PMA\libraries\Response', '_instance'); + $attrInstance->setAccessible(true); + $attrInstance->setValue($mockResponse); // case 1 $formDisplay = $this->getMockBuilder('PMA\libraries\config\FormDisplay') @@ -118,12 +135,6 @@ class PMA_Form_Processing_Test extends PHPUnit_Framework_TestCase PMA_Process_formset($formDisplay); - $this->assertEquals( - array('HTTP/1.1 303 See Other', 'Location: index.php?lang=en'), - $GLOBALS['header'] - ); - } - -} +} \ No newline at end of file From f256391545a2e1fd2ade58a89dfe1b97d9162bbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yunus=20=C3=87a=C4=9Fr=C4=B1?= Date: Tue, 20 Dec 2016 23:53:00 +0300 Subject: [PATCH 68/74] Inline javascript codes are removed. Each is used for table search MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Yunus Çağrı --- js/db_structure.js | 42 +++++++++---------- .../database/structure/table_header.phtml | 2 +- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index b73229f142..3d17b3dc36 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -182,28 +182,6 @@ function PMA_fetchRealRowCount($target) }); } -/** - * Filtering tables on table listing of particular database - * - */ -function PMA_searchTables() { - var filter, table, tr; - filter = $("#tableSearch").val().toUpperCase(); - table = $("#structureTable")[0]; - tr = table.getElementsByTagName("tr"); - - for (i = 0; i < tr.length; i++) { - a = tr[i].getElementsByTagName("a")[0]; - if (a) { - if (a.text.trim().toUpperCase().indexOf(filter) > -1) { - tr[i].style.display = ""; - } else { - tr[i].style.display = "none"; - } - } - } -} - AJAX.registerOnload('db_structure.js', function () { /** * function to open the confirmation dialog for making table consistent with central list @@ -231,6 +209,26 @@ AJAX.registerOnload('db_structure.js', function () { buttons: buttonOptions }); }; + +/** +* Filtering tables on table listing of particular database +* +*/ + $("#tableSearch").keyup(function() { + var filter = $(this).val().toUpperCase(); + var structureTable = $('#structureTable')[0]; + $('#structureTable tbody tr').each(function() { + var tr = $(this); + var a = tr.find('a')[0]; + if (a) { + if (a.text.trim().toUpperCase().indexOf(filter) > -1) { + tr[0].style.display = ""; + } else { + tr[0].style.display = "none"; + } + } + }); + }); /** * Event handler on select of "Make consistent with central list" diff --git a/templates/database/structure/table_header.phtml b/templates/database/structure/table_header.phtml index 4351722794..0c84720c89 100644 --- a/templates/database/structure/table_header.phtml +++ b/templates/database/structure/table_header.phtml @@ -12,7 +12,7 @@ if ($GLOBALS['cfg']['NumFavoriteTables'] > 0) { ?> - +
    From 9aaf3126b8d6e839c4cd72ea6224bf569649f6a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yunus=20=C3=87a=C4=9Fr=C4=B1?= Date: Tue, 20 Dec 2016 22:57:19 +0200 Subject: [PATCH 69/74] Update db_structure.js --- js/db_structure.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index 3d17b3dc36..2d70b0b32f 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -221,10 +221,10 @@ AJAX.registerOnload('db_structure.js', function () { var tr = $(this); var a = tr.find('a')[0]; if (a) { - if (a.text.trim().toUpperCase().indexOf(filter) > -1) { - tr[0].style.display = ""; + if (a.text.trim().toUpperCase().indexOf(filter) > -1) { + tr[0].style.display = ""; } else { - tr[0].style.display = "none"; + tr[0].style.display = "none"; } } }); From 041cd618204a62576a32bd76e913a921d57d2121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yunus=20=C3=87a=C4=9Fr=C4=B1?= Date: Wed, 21 Dec 2016 00:15:24 +0300 Subject: [PATCH 70/74] Tab spaces are removed. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Yunus Çağrı --- js/db_structure.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index 2d70b0b32f..726f4be8dc 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -215,13 +215,13 @@ AJAX.registerOnload('db_structure.js', function () { * */ $("#tableSearch").keyup(function() { - var filter = $(this).val().toUpperCase(); + var filterInput = $(this).val().toUpperCase(); var structureTable = $('#structureTable')[0]; $('#structureTable tbody tr').each(function() { var tr = $(this); var a = tr.find('a')[0]; if (a) { - if (a.text.trim().toUpperCase().indexOf(filter) > -1) { + if (a.text.trim().toUpperCase().indexOf(filterInput) > -1) { tr[0].style.display = ""; } else { tr[0].style.display = "none"; From 00b718397c65bc756edd60d558855bfc6d5572b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 21 Dec 2016 10:16:28 +0100 Subject: [PATCH 71/74] Unbind event on page unload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12838, #12069 Signed-off-by: Michal Čihař --- js/db_structure.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index 726f4be8dc..7e911af9da 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -30,6 +30,7 @@ AJAX.registerTeardown('db_structure.js', function () { $('a.real_row_count').off('click'); $('a.row_count_sum').off('click'); $('select[name=submit_mult]').unbind('change'); + $("#tableSearch").unbind('keyup'); }); /** @@ -209,10 +210,10 @@ AJAX.registerOnload('db_structure.js', function () { buttons: buttonOptions }); }; - + /** * Filtering tables on table listing of particular database -* +* */ $("#tableSearch").keyup(function() { var filterInput = $(this).val().toUpperCase(); From 6a84202981c6d6ce0acd2b633a72d50c62ee98a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 21 Dec 2016 10:22:35 +0100 Subject: [PATCH 72/74] Use existing filtering template for table filtering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #12838, #12069 Signed-off-by: Michal Čihař --- js/db_structure.js | 4 ++-- .../controllers/database/DatabaseStructureController.php | 4 ++++ templates/database/structure/table_header.phtml | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/js/db_structure.js b/js/db_structure.js index 7e911af9da..b7cd057e8f 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -30,7 +30,7 @@ AJAX.registerTeardown('db_structure.js', function () { $('a.real_row_count').off('click'); $('a.row_count_sum').off('click'); $('select[name=submit_mult]').unbind('change'); - $("#tableSearch").unbind('keyup'); + $("#filterText").unbind('keyup'); }); /** @@ -215,7 +215,7 @@ AJAX.registerOnload('db_structure.js', function () { * Filtering tables on table listing of particular database * */ - $("#tableSearch").keyup(function() { + $("#filterText").keyup(function() { var filterInput = $(this).val().toUpperCase(); var structureTable = $('#structureTable')[0]; $('#structureTable tbody tr').each(function() { diff --git a/libraries/controllers/database/DatabaseStructureController.php b/libraries/controllers/database/DatabaseStructureController.php index 408e438d9c..996db1ed22 100644 --- a/libraries/controllers/database/DatabaseStructureController.php +++ b/libraries/controllers/database/DatabaseStructureController.php @@ -364,6 +364,10 @@ class DatabaseStructureController extends DatabaseController */ protected function displayTableList() { + // filtering + $this->response->addHTML( + Template::get('filter')->render(array('filterValue'=>'')) + ); // table form $this->response->addHTML( Template::get('database/structure/table_header') diff --git a/templates/database/structure/table_header.phtml b/templates/database/structure/table_header.phtml index 0c84720c89..39237355c5 100644 --- a/templates/database/structure/table_header.phtml +++ b/templates/database/structure/table_header.phtml @@ -12,7 +12,6 @@ if ($GLOBALS['cfg']['NumFavoriteTables'] > 0) { ?> -
    From c4fcd6c7dd6f0dafd0648db8f1633d0c47c65b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 21 Dec 2016 10:23:34 +0100 Subject: [PATCH 73/74] Changelog for issues #12838 and #12069 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Čihař --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index cc4b49db54..2e33d9af6c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -37,6 +37,7 @@ phpMyAdmin - ChangeLog - issue #12713 Correctly handle HTTP status when doing requests - issue #12247 Add option to delete settings from browser storage - issue #12783 Remove unused PMA_addJSCode function +- issue #12069 Add table filtering to database structure 4.6.6 (not yet released) - issue #12759 Fix Notice regarding 'Undefined index: old_usergroup' From 6f01864e8957f57a83a87f368a06a48f1b57e82c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Wed, 21 Dec 2016 10:45:52 +0100 Subject: [PATCH 74/74] Fixed moving of columns with whitespace in name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #12841 Signed-off-by: Michal Čihař --- ChangeLog | 1 + js/tbl_structure.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c5a129553a..829b3ea0ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ phpMyAdmin - ChangeLog - issue #12826 Honor user configured connection collation - issue #12293 Correctly report OpenSSL errors from cookie encryption - issue #12814 DateTime won't allow to input length in Routine editor +- issue #12841 Fixed moving of columns with whitespace in name 4.6.5.2 (2016-12-05) - issue #12765 Fixed SQL export with newlines diff --git a/js/tbl_structure.js b/js/tbl_structure.js index 279bb42d09..672fb01329 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -354,7 +354,7 @@ AJAX.registerOnload('tbl_structure.js', function () { for (var i in data.columns) { var the_column = data.columns[i]; var $the_row = $rows - .find("input:checkbox[value=" + the_column + "]") + .find("input:checkbox[value='" + the_column + "']") .closest("tr"); // append the row for this column to the table $fields_table.append($the_row);