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 );
|
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;
|
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 )
|
if ( empty($user_login) ) {
|
||||||
return false;
|
$user_id = get_current_user_id();
|
||||||
|
if ( !$user_id )
|
||||||
if ( $user_login ) {
|
return false;
|
||||||
$user_login = sanitize_user( $user_login );
|
|
||||||
} elseif( isset( $current_user->user_login ) ) {
|
|
||||||
$user_login = $current_user->user_login;
|
|
||||||
} else {
|
} 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') );
|
return is_super_admin($user_id);
|
||||||
if( is_array( $site_admins ) && in_array( $user_login, $site_admins ) )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue