summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-09-06 13:34:46 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2005-09-06 13:34:46 +0000
commit0a131b1fcf7fc538fedb1b904a640458aba87bb1 (patch)
tree8d883a691dc5a33e52a653e748f4898927f47c89
parent6d37e66b8f875c212adfe47345a176ada2e6ba21 (diff)
Added get_blog_option(), add_blog_option(), update_blog_option() functions
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@294 7be80a69-a1ef-0310-a953-fb0f7c49ff36
-rw-r--r--wp-inst/wp-includes/wpmu-functions.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/wp-inst/wp-includes/wpmu-functions.php b/wp-inst/wp-includes/wpmu-functions.php
index 851fae3..47cdd55 100644
--- a/wp-inst/wp-includes/wpmu-functions.php
+++ b/wp-inst/wp-includes/wpmu-functions.php
@@ -488,6 +488,60 @@ function update_site_option( $key, $value ) {
return update_site_settings( $key, $value );
}
+function get_blog_option( $blog_id, $key, $default='na' ) {
+ global $wpdb, $wpmuBaseTablePrefix;
+
+ $option = $wpdb->get_row( "SELECT option_value FROM {$wpmuBaseTablePrefix}{$blog_id}_options WHERE option_name = '$key'" );
+ if( $option == false ) {
+ if( $default != 'na' ) {
+ return $default;
+ } else {
+ return false;
+ }
+ } else {
+ @ $kellogs = unserialize($option->option_value);
+ if ($kellogs !== FALSE) {
+ $option_value = $kellogs;
+ } else {
+ $option_value = $option->option_value;
+ }
+ return $option_value;
+ }
+}
+
+function add_blog_option( $blog_id, $key, $value ) {
+ global $wpdbi, $wpmuBaseTablePrefix;
+
+ if( $value != get_blog_option( $blog_id, $key ) ) {
+ if ( is_array($value) || is_object($value) )
+ $value = serialize($value);
+ $query = "SELECT option_value FROM {$wpmuBaseTablePrefix}{$blog_id}_options WHERE option_name = '$key'";
+ if( $wpdb->get_row( $query ) == false ) {
+ $wpdb->query( "INSERT INTO {$wpmuBaseTablePrefix}{$blog_id}_options ( `option_id` , `blog_id` , `option_name` , `option_can_override` , `option_type` , `option_value` , `option_width` , `option_height` , `option_description` , `option_admin_level` , `autoload` ) VALUES ( NULL, '0', '{$key}', 'Y', '1', '{$value}', '20', '8', '', '10', 'yes')" );
+ } else {
+ update_blog_option( $blog_id, $key, $value );
+ }
+ }
+}
+
+
+function update_blog_option( $blog_id, $key, $value ) {
+ global $wpdb, $wpmuBaseTablePrefix;
+
+ if( $value != get_blog_option( $blog_id, $key ) ) {
+ if ( is_array($value) || is_object($value) )
+ $value = serialize($value);
+
+ $value = trim($value); // I can't think of any situation we wouldn't want to trim
+ $query = "SELECT option_name, option_value FROM {$wpmuBaseTablePrefix}{$blog_id}_options WHERE option_name = '$key'";
+ if( $wpdb->get_row( $query ) == false ) {
+ add_blog_option( $blog_id, $key, $value );
+ } else {
+ $wpdb->query( "UPDATE {$wpmuBaseTablePrefix}{$blog_id}_options SET option_value = '".$wpdb->escape( $value )."' WHERE option_name = '".$key."'" );
+ }
+ }
+}
+
function switch_to_blogid( $blog_id ) {
global $tmpoldblogdetails, $wpdb, $wpmuBaseTablePrefix, $cache_settings;