diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-09-06 13:34:46 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2005-09-06 13:34:46 +0000 |
| commit | 0a131b1fcf7fc538fedb1b904a640458aba87bb1 (patch) | |
| tree | 8d883a691dc5a33e52a653e748f4898927f47c89 | |
| parent | 6d37e66b8f875c212adfe47345a176ada2e6ba21 (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.php | 54 |
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; |
