From 4e4d7ec08cb0d9b06f00cea4c6dd61f15128b42c Mon Sep 17 00:00:00 2001 From: westi Date: Sat, 3 Oct 2009 21:40:27 +0000 Subject: [PATCH] Make the (add|get|update)_site_option functions run the same filters in WP as they do in mu. Fixes #10893. git-svn-id: http://svn.automattic.com/wordpress/trunk@11995 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index b6cf92f37..faa4853e0 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -3158,17 +3158,31 @@ function wp_suspend_cache_invalidation($suspend = true) { } function get_site_option( $key, $default = false, $use_cache = true ) { - return get_option($key, $default); + // Allow plugins to short-circuit site options. + $pre = apply_filters( 'pre_site_option_' . $key, false ); + if ( false !== $pre ) + return $pre; + + $value = get_option($key, $default); + + return apply_filters( 'site_option_' . $key, $value ); } // expects $key, $value not to be SQL escaped function add_site_option( $key, $value ) { - return add_option($key, $value); + $value = apply_filters( 'pre_add_site_option_' . $key, $value ); + $result = add_option($key, $value); + do_action( "add_site_option_{$key}", $key, $value ); + return $result; } // expects $key, $value not to be SQL escaped function update_site_option( $key, $value ) { - return update_option($key, $value); + $oldvalue = get_site_option( $key ); + $value = apply_filters( 'pre_update_site_option_' . $key, $value, $oldvalue ); + $result = update_option($key, $value); + do_action( "update_site_option_{$key}", $key, $value ); + return $result; } /**