Make WordPress Core

Changeset 47269


Ignore:
Timestamp:
02/11/2020 06:34:08 PM (5 years ago)
Author:
SergeyBiryukov
Message:

Privacy: Un-map privacy capabilities to make them available to be assigned for custom roles:

  • erase_others_personal_data
  • export_others_personal_data
  • manage_privacy_options

Previously mapped to manage_options or manage_network (on Multisite), these are now added to the Administrator role separately.

Additionally, manage_privacy_options is added to the Editor role.

Props garrett-eclipse, xkon, pbiron, desrosj, johnbillion, flixos90, juliobox, lakenh, Ov3rfly, ianatkins.
Fixes #44176.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/schema.php

    r47122 r47269  
    696696    populate_roles_280();
    697697    populate_roles_300();
     698    populate_roles_540();
    698699}
    699700
     
    924925}
    925926
     927/**
     928 * Create and modify WordPress roles for WordPress 5.4.0.
     929 *
     930 * @since 5.4.0
     931 */
     932function populate_roles_540() {
     933    // Add the privacy caps to the Administrators.
     934    $role = get_role( 'administrator' );
     935
     936    if ( ! empty( $role ) ) {
     937        $role->add_cap( 'export_others_personal_data' );
     938        $role->add_cap( 'erase_others_personal_data' );
     939        $role->add_cap( 'manage_privacy_options' );
     940    }
     941
     942    $role = get_role( 'editor' );
     943    if ( ! empty( $role ) ) {
     944        $role->add_cap( 'manage_privacy_options' );
     945    }
     946}
     947
    926948if ( ! function_exists( 'install_network' ) ) :
    927949    /**
  • trunk/src/wp-admin/includes/upgrade.php

    r47219 r47269  
    835835    }
    836836
     837    if ( $wp_current_db_version < 47269 ) {
     838        upgrade_540();
     839    }
     840
    837841    maybe_disable_link_manager();
    838842
     
    21562160
    21572161/**
     2162 * Executes changes made in WordPress 5.4.0.
     2163 *
     2164 * @ignore
     2165 * @since 5.4.0
     2166 *
     2167 * @global int $wp_current_db_version The old (current) database version.
     2168 */
     2169function upgrade_540() {
     2170    global $wp_current_db_version;
     2171
     2172    if ( $wp_current_db_version < 47269 ) {
     2173        populate_roles_540();
     2174    }
     2175}
     2176
     2177/**
    21582178 * Executes network-level upgrade routines.
    21592179 *
  • trunk/src/wp-admin/menu.php

    r47219 r47269  
    289289}
    290290
    291 $menu[80]                               = array( __( 'Settings' ), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
     291$menu[80] = array( __( 'Settings' ), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
     292if ( current_user_can( 'manage_privacy_options' ) && ! current_user_can( 'manage_options' ) ) {
     293    $menu[80] = array( __( 'Settings' ), 'manage_privacy_options', 'options-privacy.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
     294}
     295
    292296    $submenu['options-general.php'][10] = array( _x( 'General', 'settings screen' ), 'manage_options', 'options-general.php' );
    293297    $submenu['options-general.php'][15] = array( __( 'Writing' ), 'manage_options', 'options-writing.php' );
  • trunk/src/wp-includes/capabilities.php

    r47219 r47269  
    133133             */
    134134            if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
    135                 $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
     135                $caps[] = 'manage_privacy_options';
    136136            }
    137137
     
    204204             */
    205205            if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) {
    206                 $caps = array_merge( $caps, map_meta_cap( 'manage_privacy_options', $user_id ) );
     206                $caps[] = 'manage_privacy_options';
    207207            }
    208208
     
    581581            }
    582582            break;
    583         case 'export_others_personal_data':
    584         case 'erase_others_personal_data':
    585         case 'manage_privacy_options':
    586             $caps[] = is_multisite() ? 'manage_network' : 'manage_options';
    587             break;
    588583        default:
    589584            // Handle meta capabilities for custom post types.
  • trunk/src/wp-includes/version.php

    r47230 r47269  
    2121 * @global int $wp_db_version
    2222 */
    23 $wp_db_version = 47018;
     23$wp_db_version = 47269;
    2424
    2525/**
  • trunk/tests/phpunit/tests/user/capabilities.php

    r47178 r47269  
    7777        return array(
    7878
    79             'unfiltered_html'         => array( 'administrator', 'editor' ),
    80 
    81             'activate_plugins'        => array( 'administrator' ),
    82             'create_users'            => array( 'administrator' ),
    83             'delete_plugins'          => array( 'administrator' ),
    84             'delete_themes'           => array( 'administrator' ),
    85             'delete_users'            => array( 'administrator' ),
    86             'edit_files'              => array( 'administrator' ),
    87             'edit_plugins'            => array( 'administrator' ),
    88             'edit_themes'             => array( 'administrator' ),
    89             'edit_users'              => array( 'administrator' ),
    90             'install_plugins'         => array( 'administrator' ),
    91             'install_themes'          => array( 'administrator' ),
    92             'update_core'             => array( 'administrator' ),
    93             'update_plugins'          => array( 'administrator' ),
    94             'update_themes'           => array( 'administrator' ),
    95             'edit_theme_options'      => array( 'administrator' ),
    96             'export'                  => array( 'administrator' ),
    97             'import'                  => array( 'administrator' ),
    98             'list_users'              => array( 'administrator' ),
    99             'manage_options'          => array( 'administrator' ),
    100             'promote_users'           => array( 'administrator' ),
    101             'remove_users'            => array( 'administrator' ),
    102             'switch_themes'           => array( 'administrator' ),
    103             'edit_dashboard'          => array( 'administrator' ),
    104             'resume_plugins'          => array( 'administrator' ),
    105             'resume_themes'           => array( 'administrator' ),
    106             'view_site_health_checks' => array( 'administrator' ),
    107 
    108             'moderate_comments'       => array( 'administrator', 'editor' ),
    109             'manage_categories'       => array( 'administrator', 'editor' ),
    110             'edit_others_posts'       => array( 'administrator', 'editor' ),
    111             'edit_pages'              => array( 'administrator', 'editor' ),
    112             'edit_others_pages'       => array( 'administrator', 'editor' ),
    113             'edit_published_pages'    => array( 'administrator', 'editor' ),
    114             'publish_pages'           => array( 'administrator', 'editor' ),
    115             'delete_pages'            => array( 'administrator', 'editor' ),
    116             'delete_others_pages'     => array( 'administrator', 'editor' ),
    117             'delete_published_pages'  => array( 'administrator', 'editor' ),
    118             'delete_others_posts'     => array( 'administrator', 'editor' ),
    119             'delete_private_posts'    => array( 'administrator', 'editor' ),
    120             'edit_private_posts'      => array( 'administrator', 'editor' ),
    121             'read_private_posts'      => array( 'administrator', 'editor' ),
    122             'delete_private_pages'    => array( 'administrator', 'editor' ),
    123             'edit_private_pages'      => array( 'administrator', 'editor' ),
    124             'read_private_pages'      => array( 'administrator', 'editor' ),
    125 
    126             'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
    127             'upload_files'            => array( 'administrator', 'editor', 'author' ),
    128             'publish_posts'           => array( 'administrator', 'editor', 'author' ),
    129             'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
    130 
    131             'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
    132             'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
    133 
    134             'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    135 
    136             'level_10'                => array( 'administrator' ),
    137             'level_9'                 => array( 'administrator' ),
    138             'level_8'                 => array( 'administrator' ),
    139             'level_7'                 => array( 'administrator', 'editor' ),
    140             'level_6'                 => array( 'administrator', 'editor' ),
    141             'level_5'                 => array( 'administrator', 'editor' ),
    142             'level_4'                 => array( 'administrator', 'editor' ),
    143             'level_3'                 => array( 'administrator', 'editor' ),
    144             'level_2'                 => array( 'administrator', 'editor', 'author' ),
    145             'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
    146             'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    147 
    148             'administrator'           => array( 'administrator' ),
    149             'editor'                  => array( 'editor' ),
    150             'author'                  => array( 'author' ),
    151             'contributor'             => array( 'contributor' ),
    152             'subscriber'              => array( 'subscriber' ),
     79            'unfiltered_html'             => array( 'administrator', 'editor' ),
     80
     81            'activate_plugins'            => array( 'administrator' ),
     82            'create_users'                => array( 'administrator' ),
     83            'delete_plugins'              => array( 'administrator' ),
     84            'delete_themes'               => array( 'administrator' ),
     85            'delete_users'                => array( 'administrator' ),
     86            'edit_files'                  => array( 'administrator' ),
     87            'edit_plugins'                => array( 'administrator' ),
     88            'edit_themes'                 => array( 'administrator' ),
     89            'edit_users'                  => array( 'administrator' ),
     90            'install_plugins'             => array( 'administrator' ),
     91            'install_themes'              => array( 'administrator' ),
     92            'update_core'                 => array( 'administrator' ),
     93            'update_plugins'              => array( 'administrator' ),
     94            'update_themes'               => array( 'administrator' ),
     95            'edit_theme_options'          => array( 'administrator' ),
     96            'export'                      => array( 'administrator' ),
     97            'import'                      => array( 'administrator' ),
     98            'list_users'                  => array( 'administrator' ),
     99            'manage_options'              => array( 'administrator' ),
     100            'promote_users'               => array( 'administrator' ),
     101            'remove_users'                => array( 'administrator' ),
     102            'switch_themes'               => array( 'administrator' ),
     103            'edit_dashboard'              => array( 'administrator' ),
     104            'resume_plugins'              => array( 'administrator' ),
     105            'resume_themes'               => array( 'administrator' ),
     106            'view_site_health_checks'     => array( 'administrator' ),
     107
     108            'manage_privacy_options'      => array( 'administrator', 'editor' ),
     109            'export_others_personal_data' => array( 'administrator' ),
     110            'erase_others_personal_data'  => array( 'administrator' ),
     111
     112            'moderate_comments'           => array( 'administrator', 'editor' ),
     113            'manage_categories'           => array( 'administrator', 'editor' ),
     114            'edit_others_posts'           => array( 'administrator', 'editor' ),
     115            'edit_pages'                  => array( 'administrator', 'editor' ),
     116            'edit_others_pages'           => array( 'administrator', 'editor' ),
     117            'edit_published_pages'        => array( 'administrator', 'editor' ),
     118            'publish_pages'               => array( 'administrator', 'editor' ),
     119            'delete_pages'                => array( 'administrator', 'editor' ),
     120            'delete_others_pages'         => array( 'administrator', 'editor' ),
     121            'delete_published_pages'      => array( 'administrator', 'editor' ),
     122            'delete_others_posts'         => array( 'administrator', 'editor' ),
     123            'delete_private_posts'        => array( 'administrator', 'editor' ),
     124            'edit_private_posts'          => array( 'administrator', 'editor' ),
     125            'read_private_posts'          => array( 'administrator', 'editor' ),
     126            'delete_private_pages'        => array( 'administrator', 'editor' ),
     127            'edit_private_pages'          => array( 'administrator', 'editor' ),
     128            'read_private_pages'          => array( 'administrator', 'editor' ),
     129
     130            'edit_published_posts'        => array( 'administrator', 'editor', 'author' ),
     131            'upload_files'                => array( 'administrator', 'editor', 'author' ),
     132            'publish_posts'               => array( 'administrator', 'editor', 'author' ),
     133            'delete_published_posts'      => array( 'administrator', 'editor', 'author' ),
     134
     135            'edit_posts'                  => array( 'administrator', 'editor', 'author', 'contributor' ),
     136            'delete_posts'                => array( 'administrator', 'editor', 'author', 'contributor' ),
     137
     138            'read'                        => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     139
     140            'level_10'                    => array( 'administrator' ),
     141            'level_9'                     => array( 'administrator' ),
     142            'level_8'                     => array( 'administrator' ),
     143            'level_7'                     => array( 'administrator', 'editor' ),
     144            'level_6'                     => array( 'administrator', 'editor' ),
     145            'level_5'                     => array( 'administrator', 'editor' ),
     146            'level_4'                     => array( 'administrator', 'editor' ),
     147            'level_3'                     => array( 'administrator', 'editor' ),
     148            'level_2'                     => array( 'administrator', 'editor', 'author' ),
     149            'level_1'                     => array( 'administrator', 'editor', 'author', 'contributor' ),
     150            'level_0'                     => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     151
     152            'administrator'               => array( 'administrator' ),
     153            'editor'                      => array( 'editor' ),
     154            'author'                      => array( 'author' ),
     155            'contributor'                 => array( 'contributor' ),
     156            'subscriber'                  => array( 'subscriber' ),
    153157
    154158        );
     
    159163        return array(
    160164
    161             'unfiltered_html'         => array(),
    162 
    163             'activate_plugins'        => array(),
    164             'create_users'            => array(),
    165             'delete_plugins'          => array(),
    166             'delete_themes'           => array(),
    167             'delete_users'            => array(),
    168             'edit_files'              => array(),
    169             'edit_plugins'            => array(),
    170             'edit_themes'             => array(),
    171             'edit_users'              => array(),
    172             'install_plugins'         => array(),
    173             'install_themes'          => array(),
    174             'update_core'             => array(),
    175             'update_plugins'          => array(),
    176             'update_themes'           => array(),
    177             'view_site_health_checks' => array(),
    178 
    179             'edit_theme_options'      => array( 'administrator' ),
    180             'export'                  => array( 'administrator' ),
    181             'import'                  => array( 'administrator' ),
    182             'list_users'              => array( 'administrator' ),
    183             'manage_options'          => array( 'administrator' ),
    184             'promote_users'           => array( 'administrator' ),
    185             'remove_users'            => array( 'administrator' ),
    186             'switch_themes'           => array( 'administrator' ),
    187             'edit_dashboard'          => array( 'administrator' ),
    188             'resume_plugins'          => array( 'administrator' ),
    189             'resume_themes'           => array( 'administrator' ),
    190 
    191             'moderate_comments'       => array( 'administrator', 'editor' ),
    192             'manage_categories'       => array( 'administrator', 'editor' ),
    193             'edit_others_posts'       => array( 'administrator', 'editor' ),
    194             'edit_pages'              => array( 'administrator', 'editor' ),
    195             'edit_others_pages'       => array( 'administrator', 'editor' ),
    196             'edit_published_pages'    => array( 'administrator', 'editor' ),
    197             'publish_pages'           => array( 'administrator', 'editor' ),
    198             'delete_pages'            => array( 'administrator', 'editor' ),
    199             'delete_others_pages'     => array( 'administrator', 'editor' ),
    200             'delete_published_pages'  => array( 'administrator', 'editor' ),
    201             'delete_others_posts'     => array( 'administrator', 'editor' ),
    202             'delete_private_posts'    => array( 'administrator', 'editor' ),
    203             'edit_private_posts'      => array( 'administrator', 'editor' ),
    204             'read_private_posts'      => array( 'administrator', 'editor' ),
    205             'delete_private_pages'    => array( 'administrator', 'editor' ),
    206             'edit_private_pages'      => array( 'administrator', 'editor' ),
    207             'read_private_pages'      => array( 'administrator', 'editor' ),
    208 
    209             'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
    210             'upload_files'            => array( 'administrator', 'editor', 'author' ),
    211             'publish_posts'           => array( 'administrator', 'editor', 'author' ),
    212             'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
    213 
    214             'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
    215             'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
    216 
    217             'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    218 
    219             'level_10'                => array( 'administrator' ),
    220             'level_9'                 => array( 'administrator' ),
    221             'level_8'                 => array( 'administrator' ),
    222             'level_7'                 => array( 'administrator', 'editor' ),
    223             'level_6'                 => array( 'administrator', 'editor' ),
    224             'level_5'                 => array( 'administrator', 'editor' ),
    225             'level_4'                 => array( 'administrator', 'editor' ),
    226             'level_3'                 => array( 'administrator', 'editor' ),
    227             'level_2'                 => array( 'administrator', 'editor', 'author' ),
    228             'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
    229             'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    230 
    231             'administrator'           => array( 'administrator' ),
    232             'editor'                  => array( 'editor' ),
    233             'author'                  => array( 'author' ),
    234             'contributor'             => array( 'contributor' ),
    235             'subscriber'              => array( 'subscriber' ),
     165            'unfiltered_html'             => array(),
     166
     167            'activate_plugins'            => array(),
     168            'create_users'                => array(),
     169            'delete_plugins'              => array(),
     170            'delete_themes'               => array(),
     171            'delete_users'                => array(),
     172            'edit_files'                  => array(),
     173            'edit_plugins'                => array(),
     174            'edit_themes'                 => array(),
     175            'edit_users'                  => array(),
     176            'install_plugins'             => array(),
     177            'install_themes'              => array(),
     178            'update_core'                 => array(),
     179            'update_plugins'              => array(),
     180            'update_themes'               => array(),
     181            'view_site_health_checks'     => array(),
     182
     183            'manage_privacy_options'      => array( 'administrator', 'editor' ),
     184            'export_others_personal_data' => array( 'administrator' ),
     185            'erase_others_personal_data'  => array( 'administrator' ),
     186
     187            'edit_theme_options'          => array( 'administrator' ),
     188            'export'                      => array( 'administrator' ),
     189            'import'                      => array( 'administrator' ),
     190            'list_users'                  => array( 'administrator' ),
     191            'manage_options'              => array( 'administrator' ),
     192            'promote_users'               => array( 'administrator' ),
     193            'remove_users'                => array( 'administrator' ),
     194            'switch_themes'               => array( 'administrator' ),
     195            'edit_dashboard'              => array( 'administrator' ),
     196            'resume_plugins'              => array( 'administrator' ),
     197            'resume_themes'               => array( 'administrator' ),
     198
     199            'moderate_comments'           => array( 'administrator', 'editor' ),
     200            'manage_categories'           => array( 'administrator', 'editor' ),
     201            'edit_others_posts'           => array( 'administrator', 'editor' ),
     202            'edit_pages'                  => array( 'administrator', 'editor' ),
     203            'edit_others_pages'           => array( 'administrator', 'editor' ),
     204            'edit_published_pages'        => array( 'administrator', 'editor' ),
     205            'publish_pages'               => array( 'administrator', 'editor' ),
     206            'delete_pages'                => array( 'administrator', 'editor' ),
     207            'delete_others_pages'         => array( 'administrator', 'editor' ),
     208            'delete_published_pages'      => array( 'administrator', 'editor' ),
     209            'delete_others_posts'         => array( 'administrator', 'editor' ),
     210            'delete_private_posts'        => array( 'administrator', 'editor' ),
     211            'edit_private_posts'          => array( 'administrator', 'editor' ),
     212            'read_private_posts'          => array( 'administrator', 'editor' ),
     213            'delete_private_pages'        => array( 'administrator', 'editor' ),
     214            'edit_private_pages'          => array( 'administrator', 'editor' ),
     215            'read_private_pages'          => array( 'administrator', 'editor' ),
     216
     217            'edit_published_posts'        => array( 'administrator', 'editor', 'author' ),
     218            'upload_files'                => array( 'administrator', 'editor', 'author' ),
     219            'publish_posts'               => array( 'administrator', 'editor', 'author' ),
     220            'delete_published_posts'      => array( 'administrator', 'editor', 'author' ),
     221
     222            'edit_posts'                  => array( 'administrator', 'editor', 'author', 'contributor' ),
     223            'delete_posts'                => array( 'administrator', 'editor', 'author', 'contributor' ),
     224
     225            'read'                        => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     226
     227            'level_10'                    => array( 'administrator' ),
     228            'level_9'                     => array( 'administrator' ),
     229            'level_8'                     => array( 'administrator' ),
     230            'level_7'                     => array( 'administrator', 'editor' ),
     231            'level_6'                     => array( 'administrator', 'editor' ),
     232            'level_5'                     => array( 'administrator', 'editor' ),
     233            'level_4'                     => array( 'administrator', 'editor' ),
     234            'level_3'                     => array( 'administrator', 'editor' ),
     235            'level_2'                     => array( 'administrator', 'editor', 'author' ),
     236            'level_1'                     => array( 'administrator', 'editor', 'author', 'contributor' ),
     237            'level_0'                     => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     238
     239            'administrator'               => array( 'administrator' ),
     240            'editor'                      => array( 'editor' ),
     241            'author'                      => array( 'author' ),
     242            'contributor'                 => array( 'contributor' ),
     243            'subscriber'                  => array( 'subscriber' ),
    236244
    237245        );
     
    241249    final private function _getSingleSiteMetaCaps() {
    242250        return array(
    243             'create_sites'                => array(),
    244             'delete_sites'                => array(),
    245             'manage_network'              => array(),
    246             'manage_sites'                => array(),
    247             'manage_network_users'        => array(),
    248             'manage_network_plugins'      => array(),
    249             'manage_network_themes'       => array(),
    250             'manage_network_options'      => array(),
    251             'delete_site'                 => array(),
    252             'upgrade_network'             => array(),
    253 
    254             'setup_network'               => array( 'administrator' ),
    255             'upload_plugins'              => array( 'administrator' ),
    256             'upload_themes'               => array( 'administrator' ),
    257             'customize'                   => array( 'administrator' ),
    258             'add_users'                   => array( 'administrator' ),
    259             'install_languages'           => array( 'administrator' ),
    260             'update_languages'            => array( 'administrator' ),
    261             'deactivate_plugins'          => array( 'administrator' ),
    262             'update_php'                  => array( 'administrator' ),
    263             'export_others_personal_data' => array( 'administrator' ),
    264             'erase_others_personal_data'  => array( 'administrator' ),
    265             'manage_privacy_options'      => array( 'administrator' ),
    266 
    267             'edit_categories'             => array( 'administrator', 'editor' ),
    268             'delete_categories'           => array( 'administrator', 'editor' ),
    269             'manage_post_tags'            => array( 'administrator', 'editor' ),
    270             'edit_post_tags'              => array( 'administrator', 'editor' ),
    271             'delete_post_tags'            => array( 'administrator', 'editor' ),
    272             'edit_css'                    => array( 'administrator', 'editor' ),
    273 
    274             'assign_categories'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    275             'assign_post_tags'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     251            'create_sites'           => array(),
     252            'delete_sites'           => array(),
     253            'manage_network'         => array(),
     254            'manage_sites'           => array(),
     255            'manage_network_users'   => array(),
     256            'manage_network_plugins' => array(),
     257            'manage_network_themes'  => array(),
     258            'manage_network_options' => array(),
     259            'delete_site'            => array(),
     260            'upgrade_network'        => array(),
     261
     262            'setup_network'          => array( 'administrator' ),
     263            'upload_plugins'         => array( 'administrator' ),
     264            'upload_themes'          => array( 'administrator' ),
     265            'customize'              => array( 'administrator' ),
     266            'add_users'              => array( 'administrator' ),
     267            'install_languages'      => array( 'administrator' ),
     268            'update_languages'       => array( 'administrator' ),
     269            'deactivate_plugins'     => array( 'administrator' ),
     270            'update_php'             => array( 'administrator' ),
     271
     272            'edit_categories'        => array( 'administrator', 'editor' ),
     273            'delete_categories'      => array( 'administrator', 'editor' ),
     274            'manage_post_tags'       => array( 'administrator', 'editor' ),
     275            'edit_post_tags'         => array( 'administrator', 'editor' ),
     276            'delete_post_tags'       => array( 'administrator', 'editor' ),
     277            'edit_css'               => array( 'administrator', 'editor' ),
     278
     279            'assign_categories'      => array( 'administrator', 'editor', 'author', 'contributor' ),
     280            'assign_post_tags'       => array( 'administrator', 'editor', 'author', 'contributor' ),
    276281        );
    277282    }
     
    279284    final private function _getMultiSiteMetaCaps() {
    280285        return array(
    281             'create_sites'                => array(),
    282             'delete_sites'                => array(),
    283             'manage_network'              => array(),
    284             'manage_sites'                => array(),
    285             'manage_network_users'        => array(),
    286             'manage_network_plugins'      => array(),
    287             'manage_network_themes'       => array(),
    288             'manage_network_options'      => array(),
    289             'setup_network'               => array(),
    290             'upload_plugins'              => array(),
    291             'upload_themes'               => array(),
    292             'edit_css'                    => array(),
    293             'upgrade_network'             => array(),
    294             'install_languages'           => array(),
    295             'update_languages'            => array(),
    296             'deactivate_plugins'          => array(),
    297             'update_php'                  => array(),
    298             'export_others_personal_data' => array( '' ),
    299             'erase_others_personal_data'  => array( '' ),
    300             'manage_privacy_options'      => array(),
    301 
    302             'customize'                   => array( 'administrator' ),
    303             'delete_site'                 => array( 'administrator' ),
    304             'add_users'                   => array( 'administrator' ),
    305 
    306             'edit_categories'             => array( 'administrator', 'editor' ),
    307             'delete_categories'           => array( 'administrator', 'editor' ),
    308             'manage_post_tags'            => array( 'administrator', 'editor' ),
    309             'edit_post_tags'              => array( 'administrator', 'editor' ),
    310             'delete_post_tags'            => array( 'administrator', 'editor' ),
    311 
    312             'assign_categories'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    313             'assign_post_tags'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     286            'create_sites'           => array(),
     287            'delete_sites'           => array(),
     288            'manage_network'         => array(),
     289            'manage_sites'           => array(),
     290            'manage_network_users'   => array(),
     291            'manage_network_plugins' => array(),
     292            'manage_network_themes'  => array(),
     293            'manage_network_options' => array(),
     294            'setup_network'          => array(),
     295            'upload_plugins'         => array(),
     296            'upload_themes'          => array(),
     297            'edit_css'               => array(),
     298            'upgrade_network'        => array(),
     299            'install_languages'      => array(),
     300            'update_languages'       => array(),
     301            'deactivate_plugins'     => array(),
     302            'update_php'             => array(),
     303
     304            'customize'              => array( 'administrator' ),
     305            'delete_site'            => array( 'administrator' ),
     306            'add_users'              => array( 'administrator' ),
     307
     308            'edit_categories'        => array( 'administrator', 'editor' ),
     309            'delete_categories'      => array( 'administrator', 'editor' ),
     310            'manage_post_tags'       => array( 'administrator', 'editor' ),
     311            'edit_post_tags'         => array( 'administrator', 'editor' ),
     312            'delete_post_tags'       => array( 'administrator', 'editor' ),
     313
     314            'assign_categories'      => array( 'administrator', 'editor', 'author', 'contributor' ),
     315            'assign_post_tags'       => array( 'administrator', 'editor', 'author', 'contributor' ),
    314316        );
    315317    }
Note: See TracChangeset for help on using the changeset viewer.