diff --git a/ChangeLog b/ChangeLog index ac79c1dd57..a77a6fb173 100644 --- a/ChangeLog +++ b/ChangeLog @@ -63,6 +63,7 @@ phpMyAdmin - ChangeLog - bug #4774 SQL links are completely wrong - bug #4768 MariaDB: version mismatch - bug #4777 Some images are missing in Designer for original theme +- bug #4767 Drizzle: undefined index in mysql_charsets.inc.php 4.3.10.0 (2015-02-20) - bug Undefined index navwork diff --git a/libraries/mysql_charsets.inc.php b/libraries/mysql_charsets.inc.php index b335862632..d4d74e17df 100644 --- a/libraries/mysql_charsets.inc.php +++ b/libraries/mysql_charsets.inc.php @@ -43,43 +43,29 @@ if (! PMA_Util::cacheExists('mysql_charsets')) { : 'SELECT * FROM information_schema.COLLATIONS'; $res = $GLOBALS['dbi']->query($sql); while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { - if (! is_array($mysql_collations[$row['CHARACTER_SET_NAME']])) { - $mysql_collations[$row['CHARACTER_SET_NAME']] - = array($row['COLLATION_NAME']); + $char_set_name = PMA_DRIZZLE + ? $row['DESCRIPTION'] + : $row['CHARACTER_SET_NAME']; + if (! is_array($mysql_collations[$char_set_name])) { + $mysql_collations[$char_set_name] = array($row['COLLATION_NAME']); } else { - $mysql_collations[$row['CHARACTER_SET_NAME']][] = $row['COLLATION_NAME']; + $mysql_collations[$char_set_name][] = $row['COLLATION_NAME']; } $mysql_collations_flat[] = $row['COLLATION_NAME']; if ($row['IS_DEFAULT'] == 'Yes' || $row['IS_DEFAULT'] == '1') { - $mysql_default_collations[$row['CHARACTER_SET_NAME']] + $mysql_default_collations[$char_set_name] = $row['COLLATION_NAME']; } //$mysql_collations_available[$row['Collation']] // = ! isset($row['Compiled']) || $row['Compiled'] == 'Yes'; $mysql_collations_available[$row['COLLATION_NAME']] = true; - $mysql_charsets_available[$row['CHARACTER_SET_NAME']] - = !empty($mysql_charsets_available[$row['CHARACTER_SET_NAME']]) + $mysql_charsets_available[$char_set_name] + = !empty($mysql_charsets_available[$char_set_name]) || !empty($mysql_collations_available[$row['COLLATION_NAME']]); } $GLOBALS['dbi']->freeResult($res); unset($res, $row); - if (PMA_DRIZZLE - && isset($mysql_collations['utf8_general_ci']) - && isset($mysql_collations['utf8']) - ) { - $mysql_collations['utf8'] = $mysql_collations['utf8_general_ci']; - $mysql_default_collations['utf8'] - = $mysql_default_collations['utf8_general_ci']; - $mysql_charsets_available['utf8'] - = $mysql_charsets_available['utf8_general_ci']; - unset( - $mysql_collations['utf8_general_ci'], - $mysql_default_collations['utf8_general_ci'], - $mysql_charsets_available['utf8_general_ci'] - ); - } - sort($mysql_collations_flat, SORT_STRING); foreach ($mysql_collations as $key => $value) { sort($mysql_collations[$key], SORT_STRING);