Changes to options system and query improvements.

git-svn-id: http://svn.automattic.com/wordpress/trunk@1401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
saxmatt 2004-06-10 08:42:25 +00:00
parent 50e5276b0a
commit e2d3bb0acc
4 changed files with 37 additions and 27 deletions

View File

@ -841,6 +841,18 @@ function upgrade_130() {
if(!$wpdb->get_var("SELECT option_id FROM $wpdb->options WHERE option_name = 'default_email_category'")) { if(!$wpdb->get_var("SELECT option_id FROM $wpdb->options WHERE option_name = 'default_email_category'")) {
$wpdb->query("INSERT INTO $wpdb->options (option_name, option_type, option_value, option_description, option_admin_level) VALUES('default_email_category', 1, '1', 'by default posts by email will have this category', 8)"); $wpdb->query("INSERT INTO $wpdb->options (option_name, option_type, option_value, option_description, option_admin_level) VALUES('default_email_category', 1, '1', 'by default posts by email will have this category', 8)");
} }
if(!$wpdb->get_var("SELECT option_id FROM $wpdb->options WHERE option_name = 'recently_edited'")) {
$wpdb->query("INSERT INTO $wpdb->options (option_name, option_type, option_value, option_admin_level) VALUES ('recently_edited', 3, '', 8)");
}
maybe_add_column($wpdb->options, 'autoload', "ALTER TABLE `$wpdb->options` ADD `autoload` ENUM( 'yes', 'no' ) NOT NULL ;");
// Set up a few options not to load by default
$fatoptions = array( 'moderation_keys', 'recently_edited' );
foreach ($fatoptions as $fatoption) :
$wpdb->query("UPDATE $wpdb->options SET `autoload` = 'no' WHERE option_name = '$fatoption'");
endforeach;
} }
?> ?>

View File

@ -148,7 +148,6 @@ foreach (array_merge($wpvarstoreset, $more_wpvars) as $wpvar) {
if ($pagenow != 'post.php') { timer_start(); } if ($pagenow != 'post.php') { timer_start(); }
// Update some caches. // Update some caches.
update_user_cache();
update_category_cache(); update_category_cache();
// Call query posts to do the work. // Call query posts to do the work.

View File

@ -188,7 +188,7 @@ function get_userdata($userid) {
function get_userdatabylogin($user_login) { function get_userdatabylogin($user_login) {
global $cache_userdata, $wpdb; global $cache_userdata, $wpdb;
if ( empty($cache_userdata["$user_login"]) ) { if ( !empty($user_login) && empty($cache_userdata["$user_login"]) ) {
$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'"); $user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'");
$cache_userdata["$user_login"] = $user; $cache_userdata["$user_login"] = $user;
} else { } else {
@ -199,7 +199,7 @@ function get_userdatabylogin($user_login) {
function get_userid($user_login) { function get_userid($user_login) {
global $cache_userdata, $wpdb; global $cache_userdata, $wpdb;
if ( empty($cache_userdata["$user_login"]) ) { if ( !empty($user_login) && empty($cache_userdata["$user_login"]) ) {
$user_id = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$user_login'"); $user_id = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$user_login'");
$cache_userdata["$user_login"] = $user_id; $cache_userdata["$user_login"] = $user_id;
@ -300,38 +300,34 @@ function url_to_postid($url = '') {
function get_settings($setting) { function get_settings($setting) {
global $wpdb, $cache_settings; global $wpdb, $cache_settings;
if (strstr($_SERVER['REQUEST_URI'], 'install.php')) { if ( strstr($_SERVER['REQUEST_URI'], 'install.php') || strstr($_SERVER['REQUEST_URI'], 'upgrade.php') ) {
return false; return false;
} }
if ( (empty($cache_settings)) ) { if ( empty($cache_settings) ) {
$settings = get_alloptions(); $cache_settings = get_alloptions();
$cache_settings = $settings;
} else {
$settings = $cache_settings;
} }
if ('home' == $setting && '' == $settings->home) return $settings->siteurl; if ('home' == $setting && '' == $cache_settings->home) return $cache_settings->siteurl;
if (!isset($settings->$setting)) { if (!isset($cache_settings->$setting)) {
return false; return $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = '$setting'");
} else { } else {
return stripslashes($settings->$setting); return $cache_settings->$setting;
} }
} }
function get_alloptions() { function get_alloptions() {
global $wpdb; global $wpdb;
$options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options"); if ($options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'")) {
if ($options) {
foreach ($options as $option) { foreach ($options as $option) {
// "When trying to design a foolproof system, // "When trying to design a foolproof system,
// never underestimate the ingenuity of the fools :)" // never underestimate the ingenuity of the fools :)" -- Dougal
if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); 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 ('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 ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
$all_options->{$option->option_name} = $option->option_value; $all_options->{$option->option_name} = stripslashes($option->option_value);
} }
} }
return $all_options; return $all_options;
@ -1811,10 +1807,14 @@ function update_category_cache() {
function update_user_cache() { function update_user_cache() {
global $cache_userdata, $wpdb; global $cache_userdata, $wpdb;
$users = $wpdb->get_results("SELECT * FROM $wpdb->users WHERE user_level > 0"); if ( $users = $wpdb->get_results("SELECT * FROM $wpdb->users WHERE user_level > 0") ) :
foreach ($users as $user) { foreach ($users as $user) :
$cache_userdata[$user->ID] = $user; $cache_userdata[$user->ID] = $user;
} endforeach;
return true;
else:
return false;
endif;
} }
function wp_head() { function wp_head() {

View File

@ -47,12 +47,6 @@ if ( !(phpversion() >= '4.1') )
die( 'Your server is running PHP version ' . phpversion() . ' but WordPress requires at least 4.1' ); die( 'Your server is running PHP version ' . phpversion() . ' but WordPress requires at least 4.1' );
$wpdb->hide_errors();
$users = $wpdb->get_results("SELECT * FROM $wpdb->users");
if ( !$users && !strstr($_SERVER['PHP_SELF'], 'install.php') )
die("It doesn't look like you've installed WP yet. Try running <a href='wp-admin/install.php'>install.php</a>.");
$wpdb->show_errors();
require (ABSPATH . WPINC . '/functions.php'); require (ABSPATH . WPINC . '/functions.php');
require (ABSPATH . WPINC . '/functions-formatting.php'); require (ABSPATH . WPINC . '/functions-formatting.php');
require (ABSPATH . WPINC . '/template-functions.php'); require (ABSPATH . WPINC . '/template-functions.php');
@ -60,6 +54,11 @@ require (ABSPATH . WPINC . '/links.php');
require (ABSPATH . WPINC . '/kses.php'); require (ABSPATH . WPINC . '/kses.php');
require_once (ABSPATH . WPINC . '/wp-l10n.php'); require_once (ABSPATH . WPINC . '/wp-l10n.php');
$wpdb->hide_errors();
if ( !update_user_cache() && !strstr($_SERVER['PHP_SELF'], 'install.php') )
die("It doesn't look like you've installed WP yet. Try running <a href='wp-admin/install.php'>install.php</a>.");
$wpdb->show_errors();
if (!strstr($_SERVER['PHP_SELF'], 'install.php') && !strstr($_SERVER['PHP_SELF'], 'wp-admin/import')) { if (!strstr($_SERVER['PHP_SELF'], 'install.php') && !strstr($_SERVER['PHP_SELF'], 'wp-admin/import')) {
$querystring_start = '?'; $querystring_start = '?';