diff --git a/ChangeLog b/ChangeLog index 5f120e39f5..508f6795db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ phpMyAdmin - ChangeLog ====================== +4.6.5.1 (2016-11-25) +- issue #12735 Incorrect parameters to escapeString in Node.php +- issue #12734 Fix PHP error when mbstring is not installed + 4.6.5 (2016-11-24) - issue Remove potentionally license problematic sRGB profile - issue #12459 Display read only fields as read only when editing diff --git a/README b/README index 48afce6480..0a89d47dc2 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ phpMyAdmin - Readme =================== -Version 4.6.5 +Version 4.6.5.1 A web interface for MySQL and MariaDB. diff --git a/doc/conf.py b/doc/conf.py index 48317aeb16..99d29eabda 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -51,7 +51,7 @@ copyright = u'2012 - 2016, The phpMyAdmin devel team' # built documents. # # The short X.Y version. -version = '4.6.5' +version = '4.6.5.1' # The full version, including alpha/beta/rc tags. release = version diff --git a/libraries/Config.php b/libraries/Config.php index d5b6a386ab..a4e22c37d2 100644 --- a/libraries/Config.php +++ b/libraries/Config.php @@ -101,7 +101,7 @@ class Config */ public function checkSystem() { - $this->set('PMA_VERSION', '4.6.5'); + $this->set('PMA_VERSION', '4.6.5.1'); /** * @deprecated */ diff --git a/libraries/navigation/nodes/Node.php b/libraries/navigation/nodes/Node.php index c25d5da348..8265f63192 100644 --- a/libraries/navigation/nodes/Node.php +++ b/libraries/navigation/nodes/Node.php @@ -722,7 +722,7 @@ class Node if (!empty($GLOBALS['cfg']['Server']['hide_db'])) { $whereClause .= "AND " . Util::backquote($columnName) . " NOT REGEXP '" - . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['hide_db'], true) + . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['hide_db']) . "' "; } @@ -737,7 +737,7 @@ class Node foreach ($GLOBALS['cfg']['Server']['only_db'] as $each_only_db) { $subClauses[] = " " . Util::backquote($columnName) . " LIKE '" - . $GLOBALS['dbi']->escapeString($each_only_db, true) . "' "; + . $GLOBALS['dbi']->escapeString($each_only_db) . "' "; } $whereClause .= implode("OR", $subClauses) . ") "; } diff --git a/libraries/navigation/nodes/NodeDatabase.php b/libraries/navigation/nodes/NodeDatabase.php index 54efb6a498..27915fb26f 100644 --- a/libraries/navigation/nodes/NodeDatabase.php +++ b/libraries/navigation/nodes/NodeDatabase.php @@ -342,7 +342,7 @@ class NodeDatabase extends Node $query .= "'" . $GLOBALS['dbi']->escapeString($searchClause) . "'"; } else { $query .= Util::backquote($columnName) . " LIKE "; - $query .= "'%" . $GLOBALS['dbi']->escapeString($searchClause, true) + $query .= "'%" . $GLOBALS['dbi']->escapeString($searchClause) . "%'"; } @@ -459,10 +459,7 @@ class NodeDatabase extends Node $query .= "AND `TABLE_TYPE`" . $condition . "'BASE TABLE' "; if (! empty($searchClause)) { $query .= "AND `TABLE_NAME` LIKE '%"; - $query .= $GLOBALS['dbi']->escapeString( - $searchClause, - true - ); + $query .= $GLOBALS['dbi']->escapeString($searchClause); $query .= "%'"; } $query .= "ORDER BY `TABLE_NAME` ASC "; @@ -477,8 +474,7 @@ class NodeDatabase extends Node "Tables_in_" . $db ); $query .= " LIKE '%" . $GLOBALS['dbi']->escapeString( - $searchClause, - true + $searchClause ); $query .= "%'"; } @@ -550,10 +546,7 @@ class NodeDatabase extends Node $query .= "AND `ROUTINE_TYPE`='" . $routineType . "' "; if (!empty($searchClause)) { $query .= "AND `ROUTINE_NAME` LIKE '%"; - $query .= $GLOBALS['dbi']->escapeString( - $searchClause, - true - ); + $query .= $GLOBALS['dbi']->escapeString($searchClause); $query .= "%'"; } $query .= "ORDER BY `ROUTINE_NAME` ASC "; @@ -564,10 +557,7 @@ class NodeDatabase extends Node $query = "SHOW " . $routineType . " STATUS WHERE `Db`='$escdDb' "; if (!empty($searchClause)) { $query .= "AND `Name` LIKE '%"; - $query .= $GLOBALS['dbi']->escapeString( - $searchClause, - true - ); + $query .= $GLOBALS['dbi']->escapeString($searchClause); $query .= "%'"; } $handle = $GLOBALS['dbi']->tryQuery($query); @@ -636,10 +626,7 @@ class NodeDatabase extends Node . Util::getCollateForIS() . "='$escdDb' "; if (!empty($searchClause)) { $query .= "AND `EVENT_NAME` LIKE '%"; - $query .= $GLOBALS['dbi']->escapeString( - $searchClause, - true - ); + $query .= $GLOBALS['dbi']->escapeString($searchClause); $query .= "%'"; } $query .= "ORDER BY `EVENT_NAME` ASC "; @@ -650,10 +637,7 @@ class NodeDatabase extends Node $query = "SHOW EVENTS FROM $escdDb "; if (!empty($searchClause)) { $query .= "WHERE `Name` LIKE '%"; - $query .= $GLOBALS['dbi']->escapeString( - $searchClause, - true - ); + $query .= $GLOBALS['dbi']->escapeString($searchClause); $query .= "%'"; } $handle = $GLOBALS['dbi']->tryQuery($query); diff --git a/libraries/php-gettext/gettext.inc b/libraries/php-gettext/gettext.inc index 7b97b0d00d..397ce02861 100644 --- a/libraries/php-gettext/gettext.inc +++ b/libraries/php-gettext/gettext.inc @@ -166,17 +166,28 @@ function _check_locale_and_function($function=false) { */ function _get_codeset($domain=null) { global $text_domains, $default_domain, $LC_CATEGORIES; - if (!isset($domain)) $domain = $default_domain; - return (isset($text_domains[$domain]->codeset))? $text_domains[$domain]->codeset : ini_get('mbstring.internal_encoding'); + if (!isset($domain)) { + $domain = $default_domain; + } + if (isset($text_domains[$domain]->codeset)) { + return $text_domains[$domain]->codeset; + } + if (!empty(ini_get('mbstring.internal_encoding'))) { + return ini_get('mbstring.internal_encoding'); + } + return 'utf-8'; } /** * Convert the given string to the encoding set by bind_textdomain_codeset. */ function _encode($text) { - $source_encoding = mb_detect_encoding($text); - if ($source_encoding === false) { - $source_encoding = 'utf-8'; + $source_encoding = 'utf-8'; + if (function_exists('mb_detect_encoding')) { + $source_encoding = mb_detect_encoding($text); + if ($source_encoding === false) { + $source_encoding = 'utf-8'; + } } $target_encoding = _get_codeset(); if ($source_encoding != $target_encoding) { diff --git a/libraries/relation.lib.php b/libraries/relation.lib.php index d0eb888096..7d01c6af35 100644 --- a/libraries/relation.lib.php +++ b/libraries/relation.lib.php @@ -1387,18 +1387,12 @@ function PMA_getForeignData( . '.' . PMA\libraries\Util::backquote($foreign_table); $f_query_filter = empty($foreign_filter) ? '' : ' WHERE ' . PMA\libraries\Util::backquote($foreign_field) - . ' LIKE "%' . $GLOBALS['dbi']->escapeString( - $foreign_filter, - true - ) . '%"' + . ' LIKE "%' . $GLOBALS['dbi']->escapeString($foreign_filter) . '%"' . ( ($foreign_display == false) ? '' : ' OR ' . PMA\libraries\Util::backquote($foreign_display) - . ' LIKE "%' . $GLOBALS['dbi']->escapeString( - $foreign_filter, - true - ) + . ' LIKE "%' . $GLOBALS['dbi']->escapeString($foreign_filter) . '%"' ); $f_query_order = ($foreign_display == false) ? '' :' ORDER BY ' diff --git a/po/cs.po b/po/cs.po index 7bee75c9ca..645a0f6653 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,8 +6,8 @@ msgstr "" "Project-Id-Version: phpMyAdmin 4.6.5-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2016-11-10 09:39+0100\n" -"PO-Revision-Date: 2016-11-17 12:10+0000\n" -"Last-Translator: Liška \n" +"PO-Revision-Date: 2016-11-24 13:35+0000\n" +"Last-Translator: ratajs \n" "Language-Team: Czech " "\n" "Language: cs\n" @@ -786,7 +786,7 @@ msgstr "" #: index.php:509 msgid "The secret passphrase in configuration (blowfish_secret) is too short." -msgstr "" +msgstr "Tajné heslo v konfiguraci (blowfish_secret) je příliš krátké." #: index.php:523 msgid "" @@ -968,6 +968,12 @@ msgid "" "column(s) editing feature (the \"Change\" Link) on the table structure page. " "" msgstr "" +"Prostřednictvím této operace se MySQL pokusí namapovat datové hodnoty mezi " +"řazení. Jestli znakové sady nejsou kompatibilní, může dojít ke ztrátě dat a " +"ztracená data nemusí být obnovitelné jednoduše tím, že změníte zpět " +"collation(s) sloupec. Pro převedení existujících data se doporučuje " +"použít editace funkce (odkaz \"Změnit\") na stránce struktury sloupce " +"tabulky." #: js/messages.php:102 msgid "" @@ -1796,7 +1802,7 @@ msgstr "Export" #: js/messages.php:389 msgid "No routine is exportable. Required privileges may be lacking." -msgstr "" +msgstr "Žádná rutina nejde exportovat. Možná chybí požadovaná oprávnění." #: js/messages.php:392 libraries/rte/rte_routines.lib.php:754 msgid "ENUM/SET editor" @@ -2147,10 +2153,13 @@ msgid "Encryption key" msgstr "Šifrovací klíč" #: js/messages.php:522 +#, 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 " +"přímo podle potřeby" #: js/messages.php:528 msgid ""