From b5dfef492500cac988b442088402df432162b072 Mon Sep 17 00:00:00 2001 From: Matt Mullenweg Date: Fri, 8 Oct 2004 19:49:58 +0000 Subject: [PATCH] Automatically trigger DB upgrade. git-svn-id: https://develop.svn.wordpress.org/trunk@1764 602fd350-edb4-49c9-b593-d223f7449a82 --- 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 3c5d381151..cfd3b38b6c 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; }