Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Foellmann <foellmann@foe-services.de>2014-12-23 14:48:13 +0300
committerChristian Foellmann <foellmann@foe-services.de>2014-12-23 14:48:13 +0300
commit2bfb20e57418ebf396149782be9f98e868fe8608 (patch)
treea5ec4011410970603d3f462a535a5a359057fa77 /libraries/mysql_charsets.lib.php
parent20f1bf77c8281efc675a14e0f6bf52f657dabd9a (diff)
UPDATE 4.3.34.3.3
Diffstat (limited to 'libraries/mysql_charsets.lib.php')
-rw-r--r--libraries/mysql_charsets.lib.php46
1 files changed, 28 insertions, 18 deletions
diff --git a/libraries/mysql_charsets.lib.php b/libraries/mysql_charsets.lib.php
index 87610a6fc4..af48c264ee 100644
--- a/libraries/mysql_charsets.lib.php
+++ b/libraries/mysql_charsets.lib.php
@@ -12,20 +12,18 @@ if (! defined('PHPMYADMIN')) {
/**
* Generate charset dropdown box
*
- * @param int $type Type
- * @param null|string $name Element name
- * @param null|string $id Element id
- * @param null|string $default Default value
- * @param bool $label Label
- * @param int $indent Indent
- * @param bool $submitOnChange Submit on change
- * @param bool $displayUnavailable Display unavailable
+ * @param int $type Type
+ * @param string $name Element name
+ * @param string $id Element id
+ * @param null|string $default Default value
+ * @param bool $label Label
+ * @param bool $submitOnChange Submit on change
*
* @return string
*/
function PMA_generateCharsetDropdownBox($type = PMA_CSDROPDOWN_COLLATION,
- $name = null, $id = null, $default = null, $label = true, $indent = 0,
- $submitOnChange = false, $displayUnavailable = false
+ $name = null, $id = null, $default = null, $label = true,
+ $submitOnChange = false
) {
global $mysql_charsets, $mysql_charsets_descriptions,
$mysql_charsets_available, $mysql_collations, $mysql_collations_available;
@@ -116,14 +114,26 @@ function PMA_getDbCollation($db)
return 'utf8_general_ci';
}
- $sql = PMA_DRIZZLE
- ? 'SELECT DEFAULT_COLLATION_NAME FROM data_dictionary.SCHEMAS'
- . ' WHERE SCHEMA_NAME = \'' . PMA_Util::sqlAddSlashes($db)
- . '\' LIMIT 1'
- : 'SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA'
- . ' WHERE SCHEMA_NAME = \'' . PMA_Util::sqlAddSlashes($db)
- . '\' LIMIT 1';
- return $GLOBALS['dbi']->fetchValue($sql);
+ if (! $GLOBALS['cfg']['Server']['DisableIS']) {
+ // this is slow with thousands of databases
+ $sql = PMA_DRIZZLE
+ ? 'SELECT DEFAULT_COLLATION_NAME FROM data_dictionary.SCHEMAS'
+ . ' WHERE SCHEMA_NAME = \'' . PMA_Util::sqlAddSlashes($db)
+ . '\' LIMIT 1'
+ : 'SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA'
+ . ' WHERE SCHEMA_NAME = \'' . PMA_Util::sqlAddSlashes($db)
+ . '\' LIMIT 1';
+ return $GLOBALS['dbi']->fetchValue($sql);
+ } else {
+ $GLOBALS['dbi']->selectDb($db);
+ $return = $GLOBALS['dbi']->fetchValue(
+ 'SHOW VARIABLES LIKE \'collation_database\'', 0, 1
+ );
+ if ($db !== $GLOBALS['db']) {
+ $GLOBALS['dbi']->selectDb($GLOBALS['db']);
+ }
+ return $return;
+ }
}
/**