Move all calls to mysql_ functions to withiWPDB so that t we don't expect any mysql stuff when we are using a custo$wpdb class. Fixes #5127

props ComputerGuru.


git-svn-id: http://svn.automattic.com/wordpress/trunk@6199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
westi 2007-10-06 08:40:54 +00:00
parent 61f8b8f569
commit e026d1dfa2
3 changed files with 27 additions and 8 deletions

View File

@ -3,7 +3,7 @@
$charset_collate = '';
if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
if ( $wpdb->supports_collation() ) {
if ( ! empty($wpdb->charset) )
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
if ( ! empty($wpdb->collate) )

View File

@ -1239,12 +1239,10 @@ function translate_level_to_role($level) {
}
function wp_check_mysql_version() {
global $wp_version;
// Make sure the server has MySQL 4.0
$mysql_version = preg_replace('|[^0-9\.]|', '', @mysql_get_server_info());
if ( version_compare($mysql_version, '4.0.0', '<') )
die(sprintf(__('<strong>ERROR</strong>: WordPress %s requires MySQL 4.0.0 or higher'), $wp_version));
global $wpdb;
$result = $wpdb->check_database_version();
if ( is_wp_error( $result ) )
die( $result->get_error_message() );
}
function maybe_disable_automattic_widgets() {

View File

@ -403,8 +403,29 @@ class wpdb {
return false;
wp_die($message);
}
/**
* Checks wether of not the database version is high enough to support the features WordPress uses
* @global $wp_version
*/
function check_database_version()
{
global $wp_version;
// Make sure the server has MySQL 4.0
$mysql_version = preg_replace('|[^0-9\.]|', '', @mysql_get_server_info());
if ( version_compare($mysql_version, '4.0.0', '<') )
return new WP_Error('database_version',sprintf(__('<strong>ERROR</strong>: WordPress %s requires MySQL 4.0.0 or higher'), $wp_version));
}
/**
* This function is called when WordPress is generating the table schema to determine wether or not the current database
* supports or needs the collation statements.
*/
function supports_collation()
{
return ( version_compare(mysql_get_server_info(), '4.1.0', '>=') );
}
}
if ( ! isset($wpdb) )
$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
?>
?>