WordPress.org

Make WordPress Core

Ticket #13074: list-users.diff

File list-users.diff, 5.1 KB (added by josephscott, 5 years ago)
  • wp-includes/version.php

     
    1515 * 
    1616 * @global int $wp_db_version 
    1717 */ 
    18 $wp_db_version = 14138; 
     18$wp_db_version = 14139; 
    1919 
    2020/** 
    2121 * Holds the TinyMCE version 
  • wp-includes/capabilities.php

     
    806806                $caps[] = 'promote_users'; 
    807807                break; 
    808808        case 'edit_user': 
    809                 if ( !isset( $args[0] ) || $user_id != $args[0] ) { 
    810                         $caps[] = 'edit_users'; 
    811                 } 
     809                // Allow user to edit itself 
     810                if ( isset( $args[0] ) && $user_id == $args[0] ) 
     811                        break; 
     812                // Fall through 
     813        case 'edit_users': 
     814                // If multisite these caps are allowed only for super admins. 
     815                if ( is_multisite() && !is_super_admin() ) 
     816                        $caps[] = 'do_not_allow'; 
     817                else 
     818                        $caps[] = $cap; 
    812819                break; 
    813820        case 'delete_post': 
    814821                $author_data = get_userdata( $user_id ); 
  • wp-admin/users.php

     
    1212/** WordPress Registration API */ 
    1313require_once( ABSPATH . WPINC . '/registration.php'); 
    1414 
    15 if ( !current_user_can('edit_users') ) 
     15if ( !current_user_can('list_users') ) 
    1616        wp_die(__('Cheatin’ uh?')); 
    1717 
    1818$title = __('Users'); 
  • wp-admin/includes/upgrade.php

     
    440440        if ( $wp_current_db_version < 11958 ) 
    441441                upgrade_290(); 
    442442 
    443         if ( $wp_current_db_version < 14138 ) 
     443        if ( $wp_current_db_version < 14139 ) 
    444444                upgrade_300(); 
    445445 
    446446        maybe_disable_automattic_widgets(); 
     
    11081108function upgrade_300() { 
    11091109        global $wp_current_db_version, $wpdb; 
    11101110 
    1111         if ( $wp_current_db_version < 12751 ) { 
     1111        if ( $wp_current_db_version < 14139 ) { 
    11121112                populate_roles_300(); 
    11131113                if ( is_multisite() && is_main_site() && ! defined( 'MULTISITE' ) && get_site_option( 'siteurl' ) === false ) 
    11141114                        add_site_option( 'siteurl', '' ); 
  • wp-admin/includes/schema.php

     
    607607 
    608608        if ( !empty( $role ) ) { 
    609609                $role->add_cap( 'update_core' ); 
     610                $role->add_cap( 'list_users' ); 
    610611                $role->add_cap( 'remove_users' ); 
    611612                $role->add_cap( 'add_users' ); 
    612613                $role->add_cap( 'promote_users' ); 
  • wp-admin/includes/template.php

     
    18121812                $short_url = substr( $short_url, 0, 32 ).'...'; 
    18131813        $checkbox = ''; 
    18141814        // Check if the user for this row is editable 
    1815         if ( current_user_can( 'edit_user', $user_object->ID ) ) { 
     1815        if ( current_user_can( 'list_users', $user_object->ID ) ) { 
    18161816                // Set up the user editing link 
    18171817                // TODO: make profile/user-edit determination a separate function 
    18181818                if ($current_user->ID == $user_object->ID) { 
     
    18241824 
    18251825                // Set up the hover actions for this user 
    18261826                $actions = array(); 
    1827                 $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>'; 
     1827 
     1828                if ( current_user_can('edit_user',  $user_object->ID) ) 
     1829                        $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>'; 
    18281830                if ( !is_multisite() && $current_user->ID != $user_object->ID && current_user_can('delete_user', $user_object->ID) ) 
    18291831                        $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url("users.php?action=delete&amp;user=$user_object->ID", 'bulk-users') . "'>" . __('Delete') . "</a>"; 
    18301832                if ( is_multisite() && $current_user->ID != $user_object->ID && current_user_can('remove_user', $user_object->ID) ) 
  • wp-admin/menu.php

     
    172172} 
    173173unset($menu_perms, $update_plugins, $update_count); 
    174174 
    175 if ( current_user_can('edit_users') ) 
    176         $menu[70] = array( __('Users'), 'edit_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' ); 
     175if ( current_user_can('list_users') ) 
     176        $menu[70] = array( __('Users'), 'list_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' ); 
    177177else 
    178178        $menu[70] = array( __('Profile'), 'read', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' ); 
    179179 
    180 if ( current_user_can('edit_users') ) { 
     180if ( current_user_can('list_users') ) { 
    181181        $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php. 
    182         $submenu['users.php'][5] = array(__('Authors & Users'), 'edit_users', 'users.php'); 
     182        $submenu['users.php'][5] = array(__('Authors & Users'), 'list_users', 'users.php'); 
    183183        $submenu['users.php'][10] = array(_x('Add New', 'user'), 'create_users', 'user-new.php'); 
    184184 
    185185        $submenu['users.php'][15] = array(__('Your Profile'), 'read', 'profile.php');