Make WordPress Core

Ticket #12815: 12815.diff

File 12815.diff, 1009 bytes (added by ryan, 12 years ago)
  • wp-includes/capabilities.php

     
    11591159 * @return bool True if the user is a site admin.
    11601160 */
    11611161function is_super_admin( $user_id = false ) {
     1162        global $site_admins;
     1163
    11621164        if ( ! $user_id ) {
    11631165                $current_user = wp_get_current_user();
    11641166                $user_id = ! empty($current_user) ? $current_user->id : 0;
     
    11701172        $user = new WP_User($user_id);
    11711173
    11721174        if ( is_multisite() ) {
    1173                 $site_admins = get_site_option( 'site_admins', array('admin') );
    1174                 if ( is_array( $site_admins ) && in_array( $user->user_login, $site_admins ) )
     1175                if ( isset($site_admins) )
     1176                        $super_admins = $site_admins;
     1177                else
     1178                        $super_admins = get_site_option( 'site_admins', array('admin') );
     1179
     1180                if ( is_array( $super_admins ) && in_array( $user->user_login, $super_admins ) )
    11751181                        return true;
    11761182        } else {
    11771183                if ( $user->has_cap('delete_users') )