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:
Ryan Boren 2010-01-06 23:27:22 +00:00
parent 816ed91f0f
commit 8a5d801117
2 changed files with 47 additions and 15 deletions

View File

@ -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;
}
?>

View File

@ -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);
}
/**