From e72de79fa212ff6c18b7c5122a9fc0c83dbc77a7 Mon Sep 17 00:00:00 2001 From: saxmatt Date: Fri, 8 Oct 2004 19:49:58 +0000 Subject: [PATCH] Automatically trigger DB upgrade. git-svn-id: http://svn.automattic.com/wordpress/trunk@1764 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/upgrade-functions.php | 3 ++- wp-includes/functions.php | 32 +++++++++++++++++++------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/wp-admin/upgrade-functions.php b/wp-admin/upgrade-functions.php index 3c5d38115..cfd3b38b6 100644 --- a/wp-admin/upgrade-functions.php +++ b/wp-admin/upgrade-functions.php @@ -1,5 +1,6 @@ get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'")) { - foreach ($options as $option) { - // "When trying to design a foolproof system, - // never underestimate the ingenuity of the fools :)" -- Dougal - if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); - if ('home' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); - if ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); - if (@ $value = unserialize($option->option_value) ) - $all_options->{$option->option_name} = $value; - else $value = $option->option_value; - $all_options->{$option->option_name} = $value; - } + global $wpdb, $wp_queries; + $wpdb->hide_errors(); + if (!$options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'")) { + include_once(ABSPATH . '/wp-admin/upgrade-functions.php'); + make_db_current_silent(); + $options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options"); + } + $wpdb->show_errors(); + + foreach ($options as $option) { + // "When trying to design a foolproof system, + // never underestimate the ingenuity of the fools :)" -- Dougal + if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); + if ('home' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); + if ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); + if (@ $value = unserialize($option->option_value) ) + $all_options->{$option->option_name} = $value; + else $value = $option->option_value; + $all_options->{$option->option_name} = $value; } return $all_options; }