diff --git a/libraries/dbi/DBIMysqli.lib.php b/libraries/dbi/DBIMysqli.lib.php index 291eb58e4d..145f09ad05 100644 --- a/libraries/dbi/DBIMysqli.lib.php +++ b/libraries/dbi/DBIMysqli.lib.php @@ -10,7 +10,7 @@ /** * Names of field flags. */ -$pma_mysqli_flag_names = array( +$GLOBALS['pma_mysqli_flag_names'] = array( MYSQLI_NUM_FLAG => 'num', MYSQLI_PART_KEY_FLAG => 'part_key', MYSQLI_SET_FLAG => 'set', @@ -24,4 +24,4 @@ $pma_mysqli_flag_names = array( MYSQLI_UNIQUE_KEY_FLAG => 'unique_key', MYSQLI_PRI_KEY_FLAG => 'primary_key', MYSQLI_NOT_NULL_FLAG => 'not_null', -); \ No newline at end of file +); diff --git a/libraries/mysql_charsets.inc.php b/libraries/mysql_charsets.inc.php deleted file mode 100644 index df31f5baef..0000000000 --- a/libraries/mysql_charsets.inc.php +++ /dev/null @@ -1,19 +0,0 @@ -' . "\n"; - if ($label) { - $return_str .= '' . "\n"; - } - $return_str .= '' . "\n"; - foreach ($mysql_charsets as $current_charset) { - if (!$mysql_charsets_available[$current_charset]) { - continue; - } - $current_cs_descr - = empty($mysql_charsets_descriptions[$current_charset]) - ? $current_charset - : $mysql_charsets_descriptions[$current_charset]; - - if ($type == PMA_CSDROPDOWN_COLLATION) { - $return_str .= '' . "\n"; - foreach ($mysql_collations[$current_charset] as $current_collation) { - if (!$mysql_collations_available[$current_collation]) { - continue; - } - $return_str .= '' . "\n"; - } - $return_str .= '' . "\n"; - } else { - $return_str .= '' . "\n"; - } - } - $return_str .= '' . "\n"; - - return $return_str; -} - -/** - * returns description for given collation - * - * @param string $collation MySQL collation string - * - * @return string collation description - */ -function PMA_getCollationDescr($collation) -{ - if ($collation == 'binary') { - return __('Binary'); - } - $parts = explode('_', $collation); - if (count($parts) == 1) { - $parts[1] = 'general'; - } elseif ($parts[1] == 'ci' || $parts[1] == 'cs') { - $parts[2] = $parts[1]; - $parts[1] = 'general'; - } - $descr = ''; - switch ($parts[1]) { - case 'bulgarian': - $descr = __('Bulgarian'); - break; - case 'chinese': - if ($parts[0] == 'gb2312' || $parts[0] == 'gbk') { - $descr = __('Simplified Chinese'); - } elseif ($parts[0] == 'big5') { - $descr = __('Traditional Chinese'); - } - break; - case 'ci': - $descr = __('case-insensitive'); - break; - case 'cs': - $descr = __('case-sensitive'); - break; - case 'croatian': - $descr = __('Croatian'); - break; - case 'czech': - $descr = __('Czech'); - break; - case 'danish': - $descr = __('Danish'); - break; - case 'english': - $descr = __('English'); - break; - case 'esperanto': - $descr = __('Esperanto'); - break; - case 'estonian': - $descr = __('Estonian'); - break; - case 'german1': - $descr = __('German') . ' (' . __('dictionary') . ')'; - break; - case 'german2': - $descr = __('German') . ' (' . __('phone book') . ')'; - break; - case 'hungarian': - $descr = __('Hungarian'); - break; - case 'icelandic': - $descr = __('Icelandic'); - break; - case 'japanese': - $descr = __('Japanese'); - break; - case 'latvian': - $descr = __('Latvian'); - break; - case 'lithuanian': - $descr = __('Lithuanian'); - break; - case 'korean': - $descr = __('Korean'); - break; - case 'persian': - $descr = __('Persian'); - break; - case 'polish': - $descr = __('Polish'); - break; - case 'roman': - $descr = __('West European'); - break; - case 'romanian': - $descr = __('Romanian'); - break; - case 'sinhala': - $descr = __('Sinhalese'); - break; - case 'slovak': - $descr = __('Slovak'); - break; - case 'slovenian': - $descr = __('Slovenian'); - break; - case 'spanish': - $descr = __('Spanish'); - break; - case 'spanish2': - $descr = __('Traditional Spanish'); - break; - case 'swedish': - $descr = __('Swedish'); - break; - case 'thai': - $descr = __('Thai'); - break; - case 'turkish': - $descr = __('Turkish'); - break; - case 'ukrainian': - $descr = __('Ukrainian'); - break; - case 'unicode': - $descr = __('Unicode') . ' (' . __('multilingual') . ')'; - break; - case 'vietnamese': - $descr = __('Vietnamese'); - break; - /** @noinspection PhpMissingBreakStatementInspection */ - case 'bin': - $is_bin = true; - // no break; statement here, continuing with 'general' section: - case 'general': - switch ($parts[0]) { - // Unicode charsets - case 'ucs2': - case 'utf8': - case 'utf8mb4': - $descr = __('Unicode') . ' (' . __('multilingual') . ')'; - break; - // West European charsets - case 'ascii': - case 'cp850': - case 'dec8': - case 'hp8': - case 'latin1': - case 'macroman': - $descr = __('West European') . ' (' . __('multilingual') . ')'; - break; - // Central European charsets - case 'cp1250': - case 'cp852': - case 'latin2': - case 'macce': - $descr = __('Central European') . ' (' . __('multilingual') . ')'; - break; - // Russian charsets - case 'cp866': - case 'koi8r': - $descr = __('Russian'); - break; - // Simplified Chinese charsets - case 'gb2312': - case 'gbk': - $descr = __('Simplified Chinese'); - break; - // Japanese charsets - case 'sjis': - case 'ujis': - case 'cp932': - case 'eucjpms': - $descr = __('Japanese'); - break; - // Baltic charsets - case 'cp1257': - case 'latin7': - $descr = __('Baltic') . ' (' . __('multilingual') . ')'; - break; - // Other - case 'armscii8': - case 'armscii': - $descr = __('Armenian'); - break; - case 'big5': - $descr = __('Traditional Chinese'); - break; - case 'cp1251': - $descr = __('Cyrillic') . ' (' . __('multilingual') . ')'; - break; - case 'cp1256': - $descr = __('Arabic'); - break; - case 'euckr': - $descr = __('Korean'); - break; - case 'hebrew': - $descr = __('Hebrew'); - break; - case 'geostd8': - $descr = __('Georgian'); - break; - case 'greek': - $descr = __('Greek'); - break; - case 'keybcs2': - $descr = __('Czech-Slovak'); - break; - case 'koi8u': - $descr = __('Ukrainian'); - break; - case 'latin5': - $descr = __('Turkish'); - break; - case 'swe7': - $descr = __('Swedish'); - break; - case 'tis620': - $descr = __('Thai'); - break; - default: - $descr = __('unknown'); - break; - } - if (!empty($is_bin)) { - $descr .= ', ' . __('Binary'); - } - break; - default: $descr = __('unknown'); - } - if (!empty($parts[2])) { - if ($parts[2] == 'ci') { - $descr .= ', ' . __('case-insensitive'); - } elseif ($parts[2] == 'cs') { - $descr .= ', ' . __('case-sensitive'); - } - } - - return $descr; -} diff --git a/test/libraries/PMA_mysql_charsets_test.php b/test/libraries/PMA_mysql_charsets_test.php deleted file mode 100644 index 4341d2bb1b..0000000000 --- a/test/libraries/PMA_mysql_charsets_test.php +++ /dev/null @@ -1,179 +0,0 @@ -assertEquals( - $desc, - PMA_getCollationDescr($collation) - ); - } - - /** - * Data Provider for testPMA_getCollationDescr() - * - * @return array Test data for testPMA_getCollationDescr() - */ - public function collationDescr() - { - return array( - array('binary', 'Binary'), - array('foo_bulgarian_bar', 'Bulgarian'), - array('gb2312_chinese', 'Simplified Chinese'), - array('gbk_chinese', 'Simplified Chinese'), - array('big5_chinese', 'Traditional Chinese'), - array('foo_ci_bar', 'unknown, case-insensitive'), - array('foo_cs_bar', 'unknown, case-sensitive'), - array('foo_croatian_bar', 'Croatian'), - array('foo_czech_bar', 'Czech'), - array('foo_danish_bar', 'Danish'), - array('foo_english_bar', 'English'), - array('foo_esperanto_bar', 'Esperanto'), - array('foo_estonian_bar', 'Estonian'), - array('foo_german1_bar', 'German (dictionary)'), - array('foo_german2_bar', 'German (phone book)'), - array('foo_hungarian_bar', 'Hungarian'), - array('foo_icelandic_bar', 'Icelandic'), - array('foo_japanese_bar', 'Japanese'), - array('foo_latvian_bar', 'Latvian'), - array('foo_lithuanian_bar', 'Lithuanian'), - array('foo_korean_bar', 'Korean'), - array('foo_persian_bar', 'Persian'), - array('foo_polish_bar', 'Polish'), - array('foo_roman_bar', 'West European'), - array('foo_romanian_bar', 'Romanian'), - array('foo_slovak_bar', 'Slovak'), - array('foo_slovenian_bar', 'Slovenian'), - array('foo_spanish_bar', 'Spanish'), - array('foo_spanish2_bar', 'Traditional Spanish'), - array('foo_swedish_bar', 'Swedish'), - array('foo_thai_bar', 'Thai'), - array('foo_turkish_bar', 'Turkish'), - array('foo_ukrainian_bar', 'Ukrainian'), - array('foo_unicode_bar', 'Unicode (multilingual)'), - array('ucs2', 'Unicode (multilingual)'), - array('utf8', 'Unicode (multilingual)'), - array('ascii', 'West European (multilingual)'), - array('cp850', 'West European (multilingual)'), - array('dec8', 'West European (multilingual)'), - array('hp8', 'West European (multilingual)'), - array('latin1', 'West European (multilingual)'), - array('cp1250', 'Central European (multilingual)'), - array('cp852', 'Central European (multilingual)'), - array('latin2', 'Central European (multilingual)'), - array('macce', 'Central European (multilingual)'), - array('cp866', 'Russian'), - array('koi8r', 'Russian'), - array('gb2312', 'Simplified Chinese'), - array('gbk', 'Simplified Chinese'), - array('sjis', 'Japanese'), - array('ujis', 'Japanese'), - array('cp932', 'Japanese'), - array('eucjpms', 'Japanese'), - array('cp1257', 'Baltic (multilingual)'), - array('latin7', 'Baltic (multilingual)'), - array('armscii8', 'Armenian'), - array('armscii', 'Armenian'), - array('big5', 'Traditional Chinese'), - array('cp1251', 'Cyrillic (multilingual)'), - array('cp1256', 'Arabic'), - array('euckr', 'Korean'), - array('hebrew', 'Hebrew'), - array('geostd8', 'Georgian'), - array('greek', 'Greek'), - array('keybcs2', 'Czech-Slovak'), - array('koi8u', 'Ukrainian'), - array('latin5', 'Turkish'), - array('swe7', 'Swedish'), - array('tis620', 'Thai'), - array('foobar', 'unknown'), - array('foo_test_bar', 'unknown'), - array('foo_bin_bar', 'unknown, Binary') - ); - } - - /** - * Test for PMA_generateCharsetDropdownBox - * - * @return void - * @test - */ - public function testGenerateCharsetDropdownBox() - { - $GLOBALS['mysql_charsets'] = array('latin1', 'latin2', 'latin3'); - $GLOBALS['mysql_charsets_available'] = array( - 'latin1' => true, - 'latin2' => false, - 'latin3' => true - ); - $GLOBALS['mysql_charsets_descriptions'] = array( - 'latin1' => 'abc', - 'latin2' => 'def' - ); - $GLOBALS['mysql_collations'] = array( - 'latin1' => array( - 'latin1_german1_ci', - 'latin1_swedish1_ci' - ), - 'latin2' => array('latin1_general_ci'), - 'latin3' => array() - ); - $GLOBALS['mysql_collations_available'] = array( - 'latin1_german1_ci' => true, - 'latin1_swedish1_ci' => false, - 'latin2_general_ci' => true - ); - $result = PMA_generateCharsetDropdownBox(); - - $this->assertContains('name="collation"', $result); - $this->assertNotContains('id="', $result); - $this->assertNotContains('class="autosubmit"', $result); - $this->assertContains('', $result); - $this->assertContains('assertContains('title="latin3', $result); - $this->assertContains('title="abc', $result); - $this->assertNotContains('value="latin1_swedish1_ci"', $result); - $this->assertContains('value="latin1_german1_ci"', $result); - $this->assertNotContains('value="latin2_general1_ci"', $result); - $this->assertContains('title="German', $result); - - $result = PMA_generateCharsetDropdownBox( - 2, null, "test_id", "latin1", false, true - ); - $this->assertContains('name="character_set"', $result); - $this->assertNotContains('Charset', $result); - $this->assertContains('class="autosubmit"', $result); - $this->assertContains('id="test_id"', $result); - $this->assertContains('selected="selected">latin1', $result); - } -}