WordPress.org

Make WordPress Core

Ticket #14842: 14842.next-iteration.patch

File 14842.next-iteration.patch, 1.6 KB (added by hakre, 4 years ago)

+ WS fix / and two docblock changes

  • wp-includes/capabilities.php

     
    206206         * @access public 
    207207         * 
    208208         * @param string $role Role name. 
    209          * @return object|null Null, if role does not exist. WP_Role object, if found. 
     209         * @return WP_Role|null Null, if role does not exist. WP_Role object, if found. 
    210210         */ 
    211211        function &get_role( $role ) { 
    212212                if ( isset( $this->role_objects[$role] ) ) 
     
    11371137 * @since 2.0.0 
    11381138 * 
    11391139 * @param string $role Role name. 
    1140  * @return object 
     1140 * @return WP_Role|null Null, if role does not exist. WP_Role object, if found. 
    11411141 */ 
    11421142function get_role( $role ) { 
    11431143        global $wp_roles; 
     
    12131213 * @return bool True if the user is a site admin. 
    12141214 */ 
    12151215function is_super_admin( $user_id = false ) { 
    1216         if ( $user_id ) 
    1217                 $user = new WP_User( $user_id ); 
    1218         else 
    1219                 $user = wp_get_current_user(); 
     1216        $user = $user_id 
     1217                ? new WP_User( $user_id ) 
     1218                : wp_get_current_user(); 
    12201219 
    1221         if ( empty( $user->id ) ) 
     1220        // invalid users are never superadmins 
     1221        if ( empty ( $user->id ) ) 
    12221222                return false; 
    12231223 
    1224         if ( is_multisite() ) { 
    1225                 $super_admins = get_super_admins(); 
    1226                 if ( is_array( $super_admins ) && in_array( $user->user_login, $super_admins ) ) 
    1227                         return true; 
    1228         } else { 
    1229                 if ( $user->has_cap('delete_users') ) 
    1230                         return true; 
    1231         } 
     1224        // multisite 
     1225        if ( is_multisite() ) 
     1226                return ( $super_admins = array_flip( get_super_admins() ) ) 
     1227                        && isset ( $super_admins[ $user->user_login ] ); 
    12321228 
    1233         return false; 
     1229        // singlesite 
     1230        return $user->has_cap('delete_users'); 
    12341231} 
    12351232 
    12361233?>