diff --git a/libraries/StorageEngine.class.php b/libraries/StorageEngine.class.php index d16b7a5d0..453a9f347 100644 --- a/libraries/StorageEngine.class.php +++ b/libraries/StorageEngine.class.php @@ -50,8 +50,6 @@ class PMA_StorageEngine * @static * @staticvar array $storage_engines storage engines * @access public - * @uses PMA_MYSQL_INT_VERSION - * @uses PMA_StorageEngine::_getStorageEnginesBefore40102() * @uses PMA_DBI_fetch_result() * @return array of storage engines */ @@ -63,16 +61,7 @@ class PMA_StorageEngine return $storage_engines; } - $storage_engines = array(); - - // SHOW STORAGE ENGINES comes with MySQL 4.1.2 - if (PMA_MYSQL_INT_VERSION < 40102) { - $storage_engines = PMA_StorageEngine::_getStorageEnginesBefore40102(); - } else { - $storage_engines = PMA_DBI_fetch_result('SHOW STORAGE ENGINES', 'Engine'); - } - - return $storage_engines; + return PMA_DBI_fetch_result('SHOW STORAGE ENGINES', 'Engine'); } /** @@ -114,62 +103,6 @@ class PMA_StorageEngine return $output; } - /** - * returns array of storage engines for MySQL < 4.1, hard coded - * Emulating SHOW STORAGE ENGINES... - * - * @static - * @access public - * @uses PMA_DBI_query() - * @uses PMA_DBI_fetch_row() - * @uses PMA_DBI_free_result() - * @uses substr() - * @return array of storage engines - */ - static protected function _getStorageEnginesBefore40102() - { - $storage_engines = array( - 'myisam' => array( - 'Engine' => 'MyISAM', - 'Support' => 'DEFAULT' - ), - 'merge' => array( - 'Engine' => 'MERGE', - 'Support' => 'YES' - ), - 'heap' => array( - 'Engine' => 'HEAP', - 'Support' => 'YES' - ), - 'memory' => array( - 'Engine' => 'MEMORY', - 'Support' => 'YES' - ) - ); - $known_engines = array( - 'archive' => 'ARCHIVE', - 'bdb' => 'BDB', - 'csv' => 'CSV', - 'innodb' => 'InnoDB', - 'isam' => 'ISAM', - 'gemini' => 'Gemini' - ); - $res = PMA_DBI_query('SHOW VARIABLES LIKE \'have\\_%\';'); - while ($row = PMA_DBI_fetch_row($res)) { - $current = substr($row[0], 5); - if (! empty($known_engines[$current])) { - $storage_engines[$current] = array( - 'Engine' => $known_engines[$current], - 'Support' => $row[1] - ); - } - } - PMA_DBI_free_result($res); - - return $storage_engines; - } - - /** * public static final PMA_StorageEngine getEngine() * @@ -270,7 +203,6 @@ class PMA_StorageEngine * @uses PMA_ENGINE_DETAILS_TYPE_PLAINTEXT * @uses PMA_StorageEngine::getVariables() * @uses PMA_StorageEngine::getVariablesLikePattern() - * @uses PMA_MYSQL_INT_VERSION * @uses PMA_DBI_query() * @uses PMA_DBI_fetch_assoc() * @uses PMA_DBI_free_result() @@ -287,15 +219,9 @@ class PMA_StorageEngine $like = ''; } - if (PMA_MYSQL_INT_VERSION >= 40102) { - $global = ' GLOBAL '; - } else { - $global = ''; - } - $mysql_vars = array(); - $sql_query = 'SHOW ' . $global . ' VARIABLES ' . $like . ';'; + $sql_query = 'SHOW GLOBAL VARIABLES ' . $like . ';'; $res = PMA_DBI_query($sql_query); while ($row = PMA_DBI_fetch_assoc($res)) { if (isset($variables[$row['Variable_name']])) { diff --git a/libraries/mult_submits.inc.php b/libraries/mult_submits.inc.php index 5e4b2448b..af4dfb9e9 100644 --- a/libraries/mult_submits.inc.php +++ b/libraries/mult_submits.inc.php @@ -161,11 +161,7 @@ if (!empty($submit_mult) && !empty($what)) { break; case 'empty_tbl': - if (PMA_MYSQL_INT_VERSION >= 40000) { - $full_query .= 'TRUNCATE '; - } else { - $full_query .= 'DELETE FROM '; - } + $full_query .= 'TRUNCATE '; $full_query .= PMA_backquote(htmlspecialchars(urldecode($sval))) . ';
'; break; diff --git a/libraries/mysql_charsets.lib.php b/libraries/mysql_charsets.lib.php index b4a6d3b07..022638eac 100644 --- a/libraries/mysql_charsets.lib.php +++ b/libraries/mysql_charsets.lib.php @@ -8,138 +8,117 @@ /** * */ -if (PMA_MYSQL_INT_VERSION >= 40100){ +$res = PMA_DBI_query('SHOW CHARACTER SET;'); - $res = PMA_DBI_query('SHOW CHARACTER SET;'); +$mysql_charsets = array(); +while ($row = PMA_DBI_fetch_assoc($res)) { + $mysql_charsets[] = $row['Charset']; + // never used + //$mysql_charsets_maxlen[$row['Charset']] = $row['Maxlen']; + $mysql_charsets_descriptions[$row['Charset']] = $row['Description']; +} +@PMA_DBI_free_result($res); - $mysql_charsets = array(); - while ($row = PMA_DBI_fetch_assoc($res)) { - $mysql_charsets[] = $row['Charset']; - // never used - //$mysql_charsets_maxlen[$row['Charset']] = $row['Maxlen']; - $mysql_charsets_descriptions[$row['Charset']] = $row['Description']; +$mysql_charsets_count = count($mysql_charsets); +sort($mysql_charsets, SORT_STRING); + +$mysql_collations = array_flip($mysql_charsets); +$mysql_default_collations = $mysql_collations_flat = $mysql_charsets_available = $mysql_collations_available = array(); + +$res = PMA_DBI_query('SHOW COLLATION;'); +while ($row = PMA_DBI_fetch_assoc($res)) { + if (!is_array($mysql_collations[$row['Charset']])) { + $mysql_collations[$row['Charset']] = array($row['Collation']); + } else { + $mysql_collations[$row['Charset']][] = $row['Collation']; } - @PMA_DBI_free_result($res); + $mysql_collations_flat[] = $row['Collation']; + if ((isset($row['D']) && $row['D'] == 'Y') || (isset($row['Default']) && $row['Default'] == 'Yes')) { + $mysql_default_collations[$row['Charset']] = $row['Collation']; + } + //$mysql_collations_available[$row['Collation']] = !isset($row['Compiled']) || $row['Compiled'] == 'Yes'; + $mysql_collations_available[$row['Collation']] = TRUE; + $mysql_charsets_available[$row['Charset']] = !empty($mysql_charsets_available[$row['Charset']]) || !empty($mysql_collations_available[$row['Collation']]); +} +@PMA_DBI_free_result($res); +unset($res, $row); - $mysql_charsets_count = count($mysql_charsets); - sort($mysql_charsets, SORT_STRING); +$mysql_collations_count = count($mysql_collations_flat); +sort($mysql_collations_flat, SORT_STRING); +foreach ($mysql_collations AS $key => $value) { + sort($mysql_collations[$key], SORT_STRING); + reset($mysql_collations[$key]); +} +unset($key, $value); - $mysql_collations = array_flip($mysql_charsets); - $mysql_default_collations = $mysql_collations_flat = $mysql_charsets_available = $mysql_collations_available = array(); +define('PMA_CSDROPDOWN_COLLATION', 0); +define('PMA_CSDROPDOWN_CHARSET', 1); - $res = PMA_DBI_query('SHOW COLLATION;'); - while ($row = PMA_DBI_fetch_assoc($res)) { - if (!is_array($mysql_collations[$row['Charset']])) { - $mysql_collations[$row['Charset']] = array($row['Collation']); +function PMA_generateCharsetDropdownBox($type = PMA_CSDROPDOWN_COLLATION, $name = null, $id = null, $default = null, $label = TRUE, $indent = 0, $submitOnChange = FALSE, $displayUnavailable = FALSE) { + global $mysql_charsets, $mysql_charsets_descriptions, $mysql_charsets_available, $mysql_collations, $mysql_collations_available; + + if (empty($name)) { + if ($type == PMA_CSDROPDOWN_COLLATION) { + $name = 'collation'; } else { - $mysql_collations[$row['Charset']][] = $row['Collation']; + $name = 'character_set'; } - $mysql_collations_flat[] = $row['Collation']; - if ((isset($row['D']) && $row['D'] == 'Y') || (isset($row['Default']) && $row['Default'] == 'Yes')) { - $mysql_default_collations[$row['Charset']] = $row['Collation']; - } - //$mysql_collations_available[$row['Collation']] = !isset($row['Compiled']) || $row['Compiled'] == 'Yes'; - $mysql_collations_available[$row['Collation']] = TRUE; - $mysql_charsets_available[$row['Charset']] = !empty($mysql_charsets_available[$row['Charset']]) || !empty($mysql_collations_available[$row['Collation']]); } - @PMA_DBI_free_result($res); - unset($res, $row); - $mysql_collations_count = count($mysql_collations_flat); - sort($mysql_collations_flat, SORT_STRING); - foreach ($mysql_collations AS $key => $value) { - sort($mysql_collations[$key], SORT_STRING); - reset($mysql_collations[$key]); + $spacer = ''; + for ($i = 1; $i <= $indent; $i++) $spacer .= ' '; + + $return_str = $spacer . '' . "\n"; - if ($label) { - $return_str .= $spacer . ' ' . "\n"; - } - $return_str .= $spacer . ' ' . "\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 .= $spacer . ' ' . "\n"; - foreach ($mysql_collations[$current_charset] as $current_collation) { - if (!$mysql_collations_available[$current_collation]) { - continue; - } - $return_str .= $spacer . ' ' . "\n"; + $current_cs_descr = empty($mysql_charsets_descriptions[$current_charset]) ? $current_charset : $mysql_charsets_descriptions[$current_charset]; + if ($type == PMA_CSDROPDOWN_COLLATION) { + $return_str .= $spacer . ' ' . "\n"; + foreach ($mysql_collations[$current_charset] as $current_collation) { + if (!$mysql_collations_available[$current_collation]) { + continue; } - $return_str .= $spacer . ' ' . "\n"; - } else { - $return_str .= $spacer . ' ' . "\n"; + $return_str .= $spacer . ' ' . "\n"; } + $return_str .= $spacer . ' ' . "\n"; + } else { + $return_str .= $spacer . ' ' . "\n"; } - $return_str .= $spacer . '' . "\n"; + } + $return_str .= $spacer . '' . "\n"; - return $return_str; + return $return_str; +} + +function PMA_generateCharsetQueryPart($collation) { + list($charset) = explode('_', $collation); + return ' CHARACTER SET ' . $charset . ($charset == $collation ? '' : ' COLLATE ' . $collation); +} + +/** + * returns collation of given db + * + * @uses PMA_DBI_fetch_value() + * @uses PMA_DBI_select_db() + * @uses PMA_sqlAddSlashes() + * @uses $GLOBALS['db'] + * @param string $db name of db + * @return string collation of $db + */ +function PMA_getDbCollation($db) { + if ($db == 'information_schema') { + // We don't have to check the collation of the virtual + // information_schema database: We know it! + return 'utf8_general_ci'; } - function PMA_generateCharsetQueryPart($collation) { - list($charset) = explode('_', $collation); - return ' CHARACTER SET ' . $charset . ($charset == $collation ? '' : ' COLLATE ' . $collation); - } - - /** - * returns collation of given db - * - * @uses PMA_MYSQL_INT_VERSION - * @uses PMA_DBI_fetch_value() - * @uses PMA_DBI_select_db() - * @uses PMA_sqlAddSlashes() - * @uses $GLOBALS['db'] - * @param string $db name of db - * @return string collation of $db - */ - function PMA_getDbCollation($db) { - if (PMA_MYSQL_INT_VERSION >= 50000 && $db == 'information_schema') { - // We don't have to check the collation of the virtual - // information_schema database: We know it! - return 'utf8_general_ci'; - } - if (PMA_MYSQL_INT_VERSION >= 50006) { - // Since MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore. - return PMA_DBI_fetch_value('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;'); - } elseif (PMA_MYSQL_INT_VERSION >= 40101) { - // MySQL 4.1.0 does not support seperate charset settings - // for databases. - PMA_DBI_select_db($db); - // the query does not work if this string is in double quotes - // and MySQL is running in ANSI mode - $return = PMA_DBI_fetch_value('SHOW VARIABLES LIKE \'collation_database\'', 0, 1); - if ($db !== $GLOBALS['db']) { - PMA_DBI_select_db($GLOBALS['db']); - } - return $return; - } - return ''; - } - -} else { - function PMA_getDbCollation($db) { return PMA_getServerCollation(); } + return PMA_DBI_fetch_value('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;'); } /** diff --git a/libraries/server_links.inc.php b/libraries/server_links.inc.php index 96ad5bb1f..305154d33 100644 --- a/libraries/server_links.inc.php +++ b/libraries/server_links.inc.php @@ -48,11 +48,9 @@ $tabs['vars']['icon'] = 's_vars.png'; $tabs['vars']['link'] = 'server_variables.php'; $tabs['vars']['text'] = $strServerTabVariables; -if (PMA_MYSQL_INT_VERSION >= 40100) { - $tabs['charset']['icon'] = 's_asci.png'; - $tabs['charset']['link'] = 'server_collations.php'; - $tabs['charset']['text'] = $strCharsets; -} +$tabs['charset']['icon'] = 's_asci.png'; +$tabs['charset']['link'] = 'server_collations.php'; +$tabs['charset']['text'] = $strCharsets; $tabs['engine']['icon'] = 'b_engine.png'; $tabs['engine']['link'] = 'server_engines.php'; diff --git a/libraries/sql_query_form.lib.php b/libraries/sql_query_form.lib.php index c4af277c3..7b8419bbb 100644 --- a/libraries/sql_query_form.lib.php +++ b/libraries/sql_query_form.lib.php @@ -373,13 +373,11 @@ function PMA_sqlQueryFormInsert($query = '', $is_querywindow = false, $delimiter } echo '' . "\n"; echo '
' . "\n"; - if (PMA_MYSQL_INT_VERSION >= 50000) { - echo '' . "\n"; - echo ' ]' . "\n"; - } + echo '' . "\n"; + echo ' ]' . "\n"; echo '' . "\n" @@ -496,7 +494,6 @@ function PMA_sqlQueryFormBookmark() * @uses PMA_displayMaximumUploadSize() * @uses PMA_generateCharsetDropdownBox() * @uses PMA_generateHiddenMaxFileSize() - * @uses PMA_MYSQL_INT_VERSION * @uses PMA_CSDROPDOWN_CHARSET * @uses empty() */ @@ -539,24 +536,9 @@ function PMA_sqlQueryFormUpload(){ echo '
'; - if (PMA_MYSQL_INT_VERSION < 40100 - && $GLOBALS['cfg']['AllowAnywhereRecoding'] - && $GLOBALS['allow_recoding']) { - echo $GLOBALS['strCharsetOfFile'] . "\n" - . '' . "\n"; - } elseif (PMA_MYSQL_INT_VERSION >= 40100) { - echo $GLOBALS['strCharsetOfFile'] . "\n"; - echo PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_CHARSET, - 'charset_of_file', null, 'utf8', FALSE); - } // end if (recoding) + echo $GLOBALS['strCharsetOfFile'] . "\n"; + echo PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_CHARSET, + 'charset_of_file', null, 'utf8', FALSE); echo '' . "\n"; echo '
' . "\n";