Make WordPress Core


Ignore:
Timestamp:
04/02/2010 06:46:07 AM (16 years ago)
Author:
nacin
Message:

Move add/remove super admin out of bulk edit and into user-edit.php. Introduce grant_super_admin() and revoke_super_admin(). Link to profile.php in ms-users user row for current user. Add defensive check by forcing IS_PROFILE_PAGE on user-edit if trying to edit your own user_id. see #12460

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/ms-edit.php

    r13918 r13941  
    525525
    526526            foreach ( (array) $_POST['allusers'] as $key => $val ) {
    527                 if ( $val != '' || $val != '0' ) {
     527                if ( !empty( $val ) ) {
    528528                    switch ( $doaction ) {
    529529                        case 'delete':
     
    540540                        case 'superadmin':
    541541                            $userfunction = 'add_superadmin';
    542                             $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
    543 
    544                             $user = new WP_User( $val );
    545                             if ( ! in_array( $user->user_login, $super_admins ) ) {
    546                                 if ( $current_site->blog_id )
    547                                     add_user_to_blog( $current_site->blog_id, $user->ID, 'administrator' );
    548 
    549                                 $super_admins[] = $user->user_login;
    550                                 update_site_option( 'site_admins' , $super_admins );
    551                             }
     542                            grant_super_admin( $val );
    552543                        break;
    553544
    554545                        case 'notsuperadmin':
    555546                            $userfunction = 'remove_superadmin';
    556                             $super_admins = get_site_option( 'site_admins', array( 'admin' ) );
    557                             $admin_email = get_site_option( 'admin_email' );
    558                            
    559                             $user = new WP_User( $val );
    560                             if ( $user->ID != $current_user->ID || $user->user_email != $admin_email ) {
    561                                 foreach ( $super_admins as $key => $username ) {
    562                                     if ( $username == $user->user_login ) {
    563                                         unset( $super_admins[$key] );
    564                                         break;
    565                                     }
    566                                 }
    567                             }
    568 
    569                             update_site_option( 'site_admins' , $super_admins );
     547                            revoke_super_admin( $val );
    570548                        break;
    571549
Note: See TracChangeset for help on using the changeset viewer.