2010-01-06 21:22:51 -05:00
< ? php
2010-01-07 02:32:44 -05:00
/**
* Deprecated functions from WordPress MU and the multisite feature . You shouldn ' t
* use these functions and look for the alternatives instead . The functions will be
* removed in a later version .
*
* @ package WordPress
* @ subpackage Deprecated
2010-04-04 09:29:35 -04:00
* @ since 3.0 . 0
2010-01-07 02:32:44 -05:00
*/
2010-01-06 21:22:51 -05:00
2010-01-07 02:32:44 -05:00
/*
* Deprecated functions come here to die .
*/
2010-01-15 17:11:12 -05:00
2013-08-06 12:07:46 -04:00
/**
* Get the " dashboard blog " , the blog where users without a blog edit their profile data .
* Dashboard blog functionality was removed in WordPress 3.1 , replaced by the user admin .
*
* @ since MU
2016-10-25 01:05:33 -04:00
* @ deprecated 3.1 . 0 Use get_site ()
2016-10-25 23:39:29 -04:00
* @ see get_site ()
2015-08-20 18:36:25 -04:00
*
2016-10-25 23:39:29 -04:00
* @ return WP_Site Current site object .
2013-08-06 12:07:46 -04:00
*/
function get_dashboard_blog () {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.1.0' );
2016-10-25 01:05:33 -04:00
if ( $blog = get_site_option ( 'dashboard_blog' ) ) {
return get_site ( $blog );
}
2013-08-06 12:07:46 -04:00
2016-10-25 01:05:33 -04:00
return get_site ( get_network () -> site_id );
2013-08-06 12:07:46 -04:00
}
2010-01-07 02:32:44 -05:00
/**
2015-08-20 18:36:25 -04:00
* Generates a random password .
*
2010-12-20 04:25:21 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use wp_generate_password ()
2010-01-07 02:32:44 -05:00
* @ see wp_generate_password ()
2016-02-26 03:54:26 -05:00
*
* @ param int $len Optional . The length of password to generate . Default 8.
2010-01-07 02:32:44 -05:00
*/
2010-01-06 21:22:51 -05:00
function generate_random_password ( $len = 8 ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'wp_generate_password()' );
2010-01-28 11:09:52 -05:00
return wp_generate_password ( $len );
2010-01-06 21:22:51 -05:00
}
2010-01-07 10:50:46 -05:00
/**
* Determine if user is a site admin .
*
* Plugins should use is_multisite () instead of checking if this function exists
* to determine if multisite is enabled .
*
* This function must reside in a file included only if is_multisite () due to
* legacy function_exists () checks to determine if multisite is enabled .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use is_super_admin ()
2010-01-07 10:50:46 -05:00
* @ see is_super_admin ()
2016-02-26 03:56:26 -05:00
*
* @ param string $user_login Optional . Username for the user to check . Default empty .
2010-01-07 10:50:46 -05:00
*/
function is_site_admin ( $user_login = '' ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'is_super_admin()' );
2010-01-07 10:50:46 -05:00
if ( empty ( $user_login ) ) {
$user_id = get_current_user_id ();
if ( ! $user_id )
return false ;
} else {
2010-06-25 11:11:36 -04:00
$user = get_user_by ( 'login' , $user_login );
2012-04-06 15:18:45 -04:00
if ( ! $user -> exists () )
2010-01-07 10:50:46 -05:00
return false ;
2010-06-25 11:11:36 -04:00
$user_id = $user -> ID ;
2010-01-07 10:50:46 -05:00
}
return is_super_admin ( $user_id );
}
2010-01-28 11:09:52 -05:00
if ( ! function_exists ( 'graceful_fail' ) ) :
2010-01-25 17:09:43 -05:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to gracefully fail .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use wp_die ()
2010-01-28 11:09:52 -05:00
* @ see wp_die ()
2010-01-25 17:09:43 -05:00
*/
function graceful_fail ( $message ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'wp_die()' );
2010-01-28 11:09:52 -05:00
$message = apply_filters ( 'graceful_fail' , $message );
2010-01-25 17:09:43 -05:00
$message_template = apply_filters ( 'graceful_fail_template' ,
2011-07-21 20:25:41 -04:00
' <! DOCTYPE html >
2014-03-25 13:22:15 -04:00
< html xmlns = " http://www.w3.org/1999/xhtml " >< head >
2010-01-25 17:09:43 -05:00
< meta http - equiv = " Content-Type " content = " text/html; charset=UTF-8 " />
< title > Error !</ title >
< style type = " text/css " >
img {
border : 0 ;
}
body {
line - height : 1.6 em ; font - family : Georgia , serif ; width : 390 px ; margin : auto ;
text - align : center ;
}
. message {
font - size : 22 px ;
width : 350 px ;
margin : auto ;
}
</ style >
</ head >
< body >
< p class = " message " >% s </ p >
</ body >
</ html > ' );
die ( sprintf ( $message_template , $message ) );
}
endif ;
2010-01-26 12:16:49 -05:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to retrieve user information .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use get_user_by ()
2010-01-28 11:09:52 -05:00
* @ see get_user_by ()
2016-02-26 04:16:26 -05:00
*
* @ param string $username Username .
2010-01-26 12:16:49 -05:00
*/
function get_user_details ( $username ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'get_user_by()' );
2010-01-26 12:16:49 -05:00
return get_user_by ( 'login' , $username );
}
2010-01-26 13:39:12 -05:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to clear the global post cache .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use clean_post_cache ()
2010-01-28 11:09:52 -05:00
* @ see clean_post_cache ()
2016-02-26 04:16:26 -05:00
*
* @ param int $post_id Post ID .
2010-01-26 13:39:12 -05:00
*/
function clear_global_post_cache ( $post_id ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'clean_post_cache()' );
2010-01-26 13:39:12 -05:00
}
2010-01-26 17:46:09 -05:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to determin if the current site is the main site .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use is_main_site ()
2010-01-28 11:09:52 -05:00
* @ see is_main_site ()
2010-01-26 17:46:09 -05:00
*/
function is_main_blog () {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'is_main_site()' );
2010-01-26 17:46:09 -05:00
return is_main_site ();
}
2010-01-26 20:27:25 -05:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to validate an email address .
*
2010-01-28 11:09:52 -05:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use is_email ()
2010-01-28 11:09:52 -05:00
* @ see is_email ()
2016-01-08 20:45:26 -05:00
*
* @ param string $email Email address to verify .
* @ param bool $check_domain Deprecated .
* @ return string | bool Either false or the valid email address .
2010-01-26 20:27:25 -05:00
*/
function validate_email ( $email , $check_domain = true ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'is_email()' );
2010-01-26 20:27:25 -05:00
return is_email ( $email , $check_domain );
}
2010-06-08 09:00:09 -04:00
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to retrieve a list of all sites .
*
2010-06-08 09:00:09 -04:00
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.0 . 0 Use wp_get_sites ()
* @ see wp_get_sites ()
2016-02-26 04:16:26 -05:00
*
* @ param int $start Optional . Offset for retrieving the blog list . Default 0.
* @ param int $num Optional . Number of blogs to list . Default 10.
* @ param string $deprecated Unused .
2010-06-08 09:00:09 -04:00
*/
function get_blog_list ( $start = 0 , $num = 10 , $deprecated = '' ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' , 'wp_get_sites()' );
2010-06-08 09:56:20 -04:00
global $wpdb ;
$blogs = $wpdb -> get_results ( $wpdb -> prepare ( " SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = %d AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC " , $wpdb -> siteid ), ARRAY_A );
2014-12-20 17:47:22 -05:00
$blog_list = array ();
2010-06-08 09:56:20 -04:00
foreach ( ( array ) $blogs as $details ) {
$blog_list [ $details [ 'blog_id' ] ] = $details ;
$blog_list [ $details [ 'blog_id' ] ][ 'postcount' ] = $wpdb -> get_var ( " SELECT COUNT(ID) FROM " . $wpdb -> get_blog_prefix ( $details [ 'blog_id' ] ) . " posts WHERE post_status='publish' AND post_type='post' " );
}
2014-12-20 17:47:22 -05:00
if ( ! $blog_list ) {
2010-06-08 09:56:20 -04:00
return array ();
2014-12-20 17:47:22 -05:00
}
2010-06-08 09:56:20 -04:00
2014-12-20 17:47:22 -05:00
if ( $num == 'all' ) {
return array_slice ( $blog_list , $start , count ( $blog_list ) );
} else {
return array_slice ( $blog_list , $start , $num );
}
2010-06-08 09:00:09 -04:00
}
/**
2015-08-20 18:36:25 -04:00
* Deprecated functionality to retrieve a list of the most active sites .
*
2010-06-08 09:00:09 -04:00
* @ since MU
* @ deprecated 3.0 . 0
2015-08-20 18:36:25 -04:00
*
2016-02-26 04:16:26 -05:00
* @ param int $num Optional . Number of activate blogs to retrieve . Default 10.
* @ param bool $display Optional . Whether or not to display the most active blogs list . Default true .
2015-08-20 18:36:25 -04:00
* @ return array List of " most active " sites .
2010-06-08 09:00:09 -04:00
*/
function get_most_active_blogs ( $num = 10 , $display = true ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.0.0' );
2010-06-08 09:56:20 -04:00
$blogs = get_blog_list ( 0 , 'all' , false ); // $blog_id -> $details
if ( is_array ( $blogs ) ) {
reset ( $blogs );
2015-01-16 13:37:24 -05:00
$most_active = array ();
$blog_list = array ();
2010-06-08 09:56:20 -04:00
foreach ( ( array ) $blogs as $key => $details ) {
$most_active [ $details [ 'blog_id' ] ] = $details [ 'postcount' ];
$blog_list [ $details [ 'blog_id' ] ] = $details ; // array_slice() removes keys!!
}
arsort ( $most_active );
reset ( $most_active );
2015-01-16 13:37:24 -05:00
$t = array ();
foreach ( ( array ) $most_active as $key => $details ) {
2010-06-08 09:56:20 -04:00
$t [ $key ] = $blog_list [ $key ];
2015-01-16 13:37:24 -05:00
}
2010-06-08 09:56:20 -04:00
unset ( $most_active );
$most_active = $t ;
}
2015-06-12 13:48:26 -04:00
if ( $display ) {
2010-06-08 09:56:20 -04:00
if ( is_array ( $most_active ) ) {
reset ( $most_active );
foreach ( ( array ) $most_active as $key => $details ) {
$url = esc_url ( 'http://' . $details [ 'domain' ] . $details [ 'path' ]);
echo '<li>' . $details [ 'postcount' ] . " <a href=' $url '> $url </a></li> " ;
}
}
}
return array_slice ( $most_active , 0 , $num );
2010-06-08 09:00:09 -04:00
}
2011-09-30 11:13:13 -04:00
/**
* Redirect a user based on $_GET or $_POST arguments .
*
* The function looks for redirect arguments in the following order :
* 1 ) $_GET [ 'ref' ]
* 2 ) $_POST [ 'ref' ]
* 3 ) $_SERVER [ 'HTTP_REFERER' ]
* 4 ) $_GET [ 'redirect' ]
* 5 ) $_POST [ 'redirect' ]
* 6 ) $url
*
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.3 . 0 Use wp_redirect ()
* @ see wp_redirect ()
2011-09-30 11:13:13 -04:00
*
2016-02-26 04:16:26 -05:00
* @ param string $url Optional . Redirect URL . Default empty .
2011-09-30 11:13:13 -04:00
*/
function wpmu_admin_do_redirect ( $url = '' ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.3.0' );
2011-09-30 11:13:13 -04:00
$ref = '' ;
2018-12-12 20:39:22 -05:00
if ( isset ( $_GET [ 'ref' ] ) && isset ( $_POST [ 'ref' ] ) && $_GET [ 'ref' ] !== $_POST [ 'ref' ] ) {
wp_die ( __ ( 'A variable mismatch has been detected.' ), __ ( 'Sorry, you are not allowed to view this item.' ), 400 );
} elseif ( isset ( $_POST [ 'ref' ] ) ) {
$ref = $_POST [ 'ref' ];
} elseif ( isset ( $_GET [ 'ref' ] ) ) {
$ref = $_GET [ 'ref' ];
}
2011-09-30 11:13:13 -04:00
if ( $ref ) {
$ref = wpmu_admin_redirect_add_updated_param ( $ref );
wp_redirect ( $ref );
exit ();
}
2015-06-12 13:48:26 -04:00
if ( ! empty ( $_SERVER [ 'HTTP_REFERER' ] ) ) {
2011-09-30 11:13:13 -04:00
wp_redirect ( $_SERVER [ 'HTTP_REFERER' ] );
exit ();
}
$url = wpmu_admin_redirect_add_updated_param ( $url );
2018-12-12 20:39:22 -05:00
if ( isset ( $_GET [ 'redirect' ] ) && isset ( $_POST [ 'redirect' ] ) && $_GET [ 'redirect' ] !== $_POST [ 'redirect' ] ) {
wp_die ( __ ( 'A variable mismatch has been detected.' ), __ ( 'Sorry, you are not allowed to view this item.' ), 400 );
} elseif ( isset ( $_GET [ 'redirect' ] ) ) {
2011-09-30 11:13:13 -04:00
if ( substr ( $_GET [ 'redirect' ], 0 , 2 ) == 's_' )
$url .= '&action=blogs&s=' . esc_html ( substr ( $_GET [ 'redirect' ], 2 ) );
} elseif ( isset ( $_POST [ 'redirect' ] ) ) {
$url = wpmu_admin_redirect_add_updated_param ( $_POST [ 'redirect' ] );
}
wp_redirect ( $url );
exit ();
}
/**
* Adds an 'updated=true' argument to a URL .
*
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.3 . 0 Use add_query_arg ()
* @ see add_query_arg ()
2011-09-30 11:13:13 -04:00
*
2016-02-26 04:16:26 -05:00
* @ param string $url Optional . Redirect URL . Default empty .
2011-09-30 11:13:13 -04:00
* @ return string
*/
function wpmu_admin_redirect_add_updated_param ( $url = '' ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.3.0' );
2011-09-30 11:13:13 -04:00
if ( strpos ( $url , 'updated=true' ) === false ) {
if ( strpos ( $url , '?' ) === false )
return $url . '?updated=true' ;
else
return $url . '&updated=true' ;
}
return $url ;
}
2013-02-15 22:02:15 -05:00
/**
* Get a numeric user ID from either an email address or a login .
*
* A numeric string is considered to be an existing user ID
* and is simply returned as such .
*
* @ since MU
2015-08-20 18:36:25 -04:00
* @ deprecated 3.6 . 0 Use get_user_by ()
* @ see get_user_by ()
2013-02-15 22:02:15 -05:00
*
* @ param string $string Either an email address or a login .
* @ return int
*/
function get_user_id_from_string ( $string ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.6.0' , 'get_user_by()' );
2013-02-15 22:02:15 -05:00
if ( is_email ( $string ) )
$user = get_user_by ( 'email' , $string );
elseif ( is_numeric ( $string ) )
return $string ;
else
$user = get_user_by ( 'login' , $string );
if ( $user )
return $user -> ID ;
return 0 ;
}
2013-09-06 07:41:09 -04:00
/**
* Get a full blog URL , given a domain and a path .
*
* @ since MU
* @ deprecated 3.7 . 0
*
* @ param string $domain
* @ param string $path
* @ return string
*/
function get_blogaddress_by_domain ( $domain , $path ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '3.7.0' );
2013-09-06 07:41:09 -04:00
if ( is_subdomain_install () ) {
$url = " http:// " . $domain . $path ;
} else {
if ( $domain != $_SERVER [ 'HTTP_HOST' ] ) {
$blogname = substr ( $domain , 0 , strpos ( $domain , '.' ) );
$url = 'http://' . substr ( $domain , strpos ( $domain , '.' ) + 1 ) . $path ;
// we're not installing the main blog
if ( $blogname != 'www.' )
$url .= $blogname . '/' ;
} else { // main blog
$url = 'http://' . $domain . $path ;
}
}
return esc_url_raw ( $url );
2015-08-20 18:36:25 -04:00
}
2015-10-01 18:10:26 -04:00
/**
* Create an empty blog .
*
* @ since MU 1.0
* @ deprecated 4.4 . 0
*
* @ param string $domain The new blog ' s domain .
* @ param string $path The new blog ' s path .
* @ param string $weblog_title The new blog ' s title .
* @ param int $site_id Optional . Defaults to 1.
* @ return string | int The ID of the newly created blog
*/
function create_empty_blog ( $domain , $path , $weblog_title , $site_id = 1 ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '4.4.0' );
2015-10-01 18:10:26 -04:00
if ( empty ( $path ) )
$path = '/' ;
// Check if the domain has been used already. We should return an error message.
if ( domain_exists ( $domain , $path , $site_id ) )
return __ ( '<strong>ERROR</strong>: Site URL already taken.' );
// Need to back up wpdb table names, and create a new wp_blogs entry for new blog.
// Need to get blog_id from wp_blogs, and create new table names.
// Must restore table names at the end of function.
if ( ! $blog_id = insert_blog ( $domain , $path , $site_id ) )
return __ ( '<strong>ERROR</strong>: problem creating site entry.' );
switch_to_blog ( $blog_id );
install_blog ( $blog_id );
restore_current_blog ();
return $blog_id ;
}
2015-10-01 18:27:24 -04:00
/**
* Get the admin for a domain / path combination .
*
* @ since MU 1.0
* @ deprecated 4.4 . 0
*
2015-10-14 19:44:25 -04:00
* @ global wpdb $wpdb WordPress database abstraction object .
2015-10-01 18:27:24 -04:00
*
* @ param string $sitedomain Optional . Site domain .
* @ param string $path Optional . Site path .
* @ return array | false The network admins
*/
function get_admin_users_for_domain ( $sitedomain = '' , $path = '' ) {
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '4.4.0' );
2015-10-01 18:27:24 -04:00
global $wpdb ;
if ( ! $sitedomain )
$site_id = $wpdb -> siteid ;
else
$site_id = $wpdb -> get_var ( $wpdb -> prepare ( " SELECT id FROM $wpdb->site WHERE domain = %s AND path = %s " , $sitedomain , $path ) );
if ( $site_id )
return $wpdb -> get_results ( $wpdb -> prepare ( " SELECT u.ID, u.user_login, u.user_pass FROM $wpdb->users AS u, $wpdb->sitemeta AS sm WHERE sm.meta_key = 'admin_user_id' AND u.ID = sm.meta_value AND sm.site_id = %d " , $site_id ), ARRAY_A );
return false ;
}
2016-06-07 23:03:27 -04:00
/**
* Return an array of sites for a network or networks .
*
* @ since 3.7 . 0
* @ deprecated 4.6 . 0
* @ see get_sites ()
*
* @ global wpdb $wpdb WordPress database abstraction object .
*
* @ param array $args {
* Array of default arguments . Optional .
*
* @ type int | array $network_id A network ID or array of network IDs . Set to null to retrieve sites
* from all networks . Defaults to current network ID .
* @ type int $public Retrieve public or non - public sites . Default null , for any .
* @ type int $archived Retrieve archived or non - archived sites . Default null , for any .
* @ type int $mature Retrieve mature or non - mature sites . Default null , for any .
* @ type int $spam Retrieve spam or non - spam sites . Default null , for any .
* @ type int $deleted Retrieve deleted or non - deleted sites . Default null , for any .
* @ type int $limit Number of sites to limit the query to . Default 100.
* @ type int $offset Exclude the first x sites . Used in combination with the $limit parameter . Default 0.
* }
* @ return array An empty array if the install is considered " large " via wp_is_large_network () . Otherwise ,
* an associative array of site data arrays , each containing the site ( network ) ID , blog ID ,
* site domain and path , dates registered and modified , and the language ID . Also , boolean
* values for whether the site is public , archived , mature , spam , and / or deleted .
*/
function wp_get_sites ( $args = array () ) {
global $wpdb ;
2016-07-06 08:40:29 -04:00
_deprecated_function ( __FUNCTION__ , '4.6.0' , 'get_sites()' );
2016-06-07 23:03:27 -04:00
if ( wp_is_large_network () )
return array ();
$defaults = array (
'network_id' => $wpdb -> siteid ,
'public' => null ,
'archived' => null ,
'mature' => null ,
'spam' => null ,
'deleted' => null ,
'limit' => 100 ,
'offset' => 0 ,
);
$args = wp_parse_args ( $args , $defaults );
// Backwards compatibility
if ( is_array ( $args [ 'network_id' ] ) ){
$args [ 'network__in' ] = $args [ 'network_id' ];
$args [ 'network_id' ] = null ;
}
if ( is_numeric ( $args [ 'limit' ] ) ){
$args [ 'number' ] = $args [ 'limit' ];
$args [ 'limit' ] = null ;
}
// Make sure count is disabled.
$args [ 'count' ] = false ;
$_sites = get_sites ( $args );
$results = array ();
foreach ( $_sites as $_site ) {
2016-06-09 14:10:29 -04:00
$_site = get_site ( $_site );
$results [] = $_site -> to_array ();
2016-06-07 23:03:27 -04:00
}
return $results ;
}