Introduce is_super_admin(). see #11644.
git-svn-id: https://develop.svn.wordpress.org/trunk@12611 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
816ed91f0f
commit
8a5d801117
@ -1062,4 +1062,33 @@ function remove_role( $role ) {
|
||||
return $wp_roles->remove_role( $role );
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if user is a site admin.
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
* @param int $user_id (Optional) The ID of a user. Defaults to the current user.
|
||||
* @return bool True if the user is a site admin.
|
||||
*/
|
||||
function is_super_admin( $user_id = false ) {
|
||||
global $current_user;
|
||||
|
||||
if ( !$current_user && !$user_id )
|
||||
return false;
|
||||
|
||||
if ( !$user_id )
|
||||
$user_id = $current_user->id;
|
||||
|
||||
if ( !$user_id )
|
||||
return false;
|
||||
|
||||
$user = new WP_User($user_id);
|
||||
|
||||
$site_admins = get_site_option( 'site_admins', array('admin') );
|
||||
if ( is_array( $site_admins ) && in_array( $user->user_login, $site_admins ) )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -183,25 +183,28 @@ function get_current_user_id() {
|
||||
return $current_user->ID;
|
||||
}
|
||||
|
||||
function is_site_admin( $user_login = false ) {
|
||||
global $current_user;
|
||||
/**
|
||||
* Determine if user is a site admin.
|
||||
*
|
||||
* @deprecated Use {@link is_keymaster()}
|
||||
*
|
||||
*/
|
||||
function is_site_admin( $user_login = '' ) {
|
||||
// This function must reside in a file included only if is_multsite() since many plugins
|
||||
// test for its existence to determine if multisite is enabled.
|
||||
|
||||
if ( !$current_user && !$user_login )
|
||||
return false;
|
||||
|
||||
if ( $user_login ) {
|
||||
$user_login = sanitize_user( $user_login );
|
||||
} elseif( isset( $current_user->user_login ) ) {
|
||||
$user_login = $current_user->user_login;
|
||||
if ( empty($user_login) ) {
|
||||
$user_id = get_current_user_id();
|
||||
if ( !$user_id )
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
$user = new WP_User(null, $user_login);
|
||||
if ( empty($user->id) )
|
||||
return false;
|
||||
$user_id = $user->id;
|
||||
}
|
||||
|
||||
$site_admins = get_site_option( 'site_admins', array('admin') );
|
||||
if( is_array( $site_admins ) && in_array( $user_login, $site_admins ) )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
return is_super_admin($user_id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user