WordPress.org

Make WordPress Core

Ticket #45423: 45423.2.diff

File 45423.2.diff, 23.8 KB (added by peterwilsoncc, 6 months ago)
  • src/wp-admin/includes/schema.php

    diff --git a/src/wp-admin/includes/schema.php b/src/wp-admin/includes/schema.php
    index 544a9221d1..8547e0cdcd 100644
    a b function populate_roles() { 
    698698        populate_roles_270();
    699699        populate_roles_280();
    700700        populate_roles_300();
     701        populate_roles_510();
    701702}
    702703
    703704/**
    function populate_roles_300() { 
    939940        }
    940941}
    941942
     943/**
     944 * Create and modify WordPress roles for WordPress 5.1.
     945 *
     946 * @since 5.1.0
     947 */
     948function populate_roles_510() {
     949        $high_privileged_caps = array(
     950                'edit_blocks',
     951                'edit_others_blocks',
     952                'publish_blocks',
     953                'read_private_blocks',
     954                'delete_blocks',
     955                'delete_private_blocks',
     956                'delete_published_blocks',
     957                'delete_others_blocks',
     958                'edit_private_blocks',
     959                'edit_published_blocks',
     960        );
     961
     962        $caps_map = array(
     963                'administrator' => $high_privileged_caps,
     964                'editor'        => $high_privileged_caps,
     965                'author'        => array(
     966                        'edit_blocks',
     967                        'publish_blocks',
     968                        'delete_blocks',
     969                        'delete_published_blocks',
     970                        'edit_published_blocks',
     971                ),
     972                'contributor'   => array(
     973                        'edit_blocks',
     974                        'delete_blocks',
     975                ),
     976        );
     977
     978        foreach ( $caps_map as $role_name => $caps ) {
     979                $role = get_role( $role_name );
     980
     981                if ( empty( $role ) ) {
     982                        continue;
     983                }
     984
     985                /*
     986                 * Due to roles being created in the block editor feature plugin,
     987                 * `$role->has_cap( $cap )` needs to run before adding the role.
     988                 */
     989                foreach ( $caps as $cap ) {
     990                        if ( ! $role->has_cap( $cap ) ) {
     991                                $role->add_cap( $cap );
     992                        }
     993                }
     994        }
     995}
     996
    942997if ( ! function_exists( 'install_network' ) ) :
    943998        /**
    944999         * Install Network.
  • src/wp-admin/includes/upgrade.php

    diff --git a/src/wp-admin/includes/upgrade.php b/src/wp-admin/includes/upgrade.php
    index 32d853cb05..321fb650da 100644
    a b function upgrade_all() { 
    815815                upgrade_500();
    816816        }
    817817
     818        if ( $wp_current_db_version < 44658 ) {
     819                upgrade_510();
     820        }
     821
    818822        maybe_disable_link_manager();
    819823
    820824        maybe_disable_automattic_widgets();
    function upgrade_500() { 
    21182122        }
    21192123}
    21202124
     2125/**
     2126 * Executes changes made in WordPress 5.1.0.
     2127 *
     2128 * @ignore
     2129 * @since 5.1.0
     2130 *
     2131 * @global int $wp_current_db_version Current database version.
     2132 */
     2133function upgrade_510() {
     2134        global $wp_current_db_version;
     2135        if ( $wp_current_db_version < 44658 ) {
     2136                populate_roles_510();
     2137        }
     2138}
     2139
    21212140/**
    21222141 * Executes network-level upgrade routines.
    21232142 *
  • src/wp-includes/capabilities.php

    diff --git a/src/wp-includes/capabilities.php b/src/wp-includes/capabilities.php
    index afb6f59507..c235257170 100644
    a b function map_meta_cap( $cap, $user_id ) { 
    582582                                return call_user_func_array( 'map_meta_cap', $args );
    583583                        }
    584584
    585                         // Block capabilities map to their post equivalent.
    586                         $block_caps = array(
    587                                 'edit_blocks',
    588                                 'edit_others_blocks',
    589                                 'publish_blocks',
    590                                 'read_private_blocks',
    591                                 'delete_blocks',
    592                                 'delete_private_blocks',
    593                                 'delete_published_blocks',
    594                                 'delete_others_blocks',
    595                                 'edit_private_blocks',
    596                                 'edit_published_blocks',
    597                         );
    598                         if ( in_array( $cap, $block_caps, true ) ) {
    599                                 $cap = str_replace( '_blocks', '_posts', $cap );
    600                         }
    601 
    602585                        // If no meta caps match, return the original cap.
    603586                        $caps[] = $cap;
    604587        }
  • src/wp-includes/post.php

    diff --git a/src/wp-includes/post.php b/src/wp-includes/post.php
    index 00a05babc5..e797acd36c 100644
    a b function create_initial_post_types() { 
    288288                        'rest_controller_class' => 'WP_REST_Blocks_Controller',
    289289                        'capability_type'       => 'block',
    290290                        'capabilities'          => array(
    291                                 // You need to be able to edit posts, in order to read blocks in their raw form.
    292                                 'read'                   => 'edit_posts',
     291                                // You need to be able to edit blocks, in order to read blocks in their raw form.
     292                                'read'         => 'edit_blocks',
    293293                                // You need to be able to publish posts, in order to create blocks.
    294                                 'create_posts'           => 'publish_posts',
    295                                 'edit_published_posts'   => 'edit_published_posts',
    296                                 'delete_published_posts' => 'delete_published_posts',
    297                                 'edit_others_posts'      => 'edit_others_posts',
    298                                 'delete_others_posts'    => 'delete_others_posts',
     294                                'create_posts' => 'publish_blocks',
    299295                        ),
    300296                        'map_meta_cap'          => true,
    301297                        'supports'              => array(
  • src/wp-includes/version.php

    diff --git a/src/wp-includes/version.php b/src/wp-includes/version.php
    index f86babb3f8..df3124c43e 100644
    a b  
    2020 *
    2121 * @global int $wp_db_version
    2222 */
    23 $wp_db_version = 44467;
     23$wp_db_version = 44658;
    2424
    2525/**
    2626 * Holds the TinyMCE version
  • tests/phpunit/tests/user/capabilities.php

    diff --git a/tests/phpunit/tests/user/capabilities.php b/tests/phpunit/tests/user/capabilities.php
    index 69742c3972..4ec6c58b87 100644
    a b function _meta_filter( $meta_value, $meta_key, $meta_type ) { 
    7676        final private function _getSingleSitePrimitiveCaps() {
    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 
    105                         'moderate_comments'      => array( 'administrator', 'editor' ),
    106                         'manage_categories'      => array( 'administrator', 'editor' ),
    107                         'edit_others_posts'      => array( 'administrator', 'editor' ),
    108                         'edit_pages'             => array( 'administrator', 'editor' ),
    109                         'edit_others_pages'      => array( 'administrator', 'editor' ),
    110                         'edit_published_pages'   => array( 'administrator', 'editor' ),
    111                         'publish_pages'          => array( 'administrator', 'editor' ),
    112                         'delete_pages'           => array( 'administrator', 'editor' ),
    113                         'delete_others_pages'    => array( 'administrator', 'editor' ),
    114                         'delete_published_pages' => array( 'administrator', 'editor' ),
    115                         'delete_others_posts'    => array( 'administrator', 'editor' ),
    116                         'delete_private_posts'   => array( 'administrator', 'editor' ),
    117                         'edit_private_posts'     => array( 'administrator', 'editor' ),
    118                         'read_private_posts'     => array( 'administrator', 'editor' ),
    119                         'delete_private_pages'   => array( 'administrator', 'editor' ),
    120                         'edit_private_pages'     => array( 'administrator', 'editor' ),
    121                         'read_private_pages'     => array( 'administrator', 'editor' ),
    122 
    123                         'edit_published_posts'   => array( 'administrator', 'editor', 'author' ),
    124                         'upload_files'           => array( 'administrator', 'editor', 'author' ),
    125                         'publish_posts'          => array( 'administrator', 'editor', 'author' ),
    126                         'delete_published_posts' => array( 'administrator', 'editor', 'author' ),
    127 
    128                         'edit_posts'             => array( 'administrator', 'editor', 'author', 'contributor' ),
    129                         'delete_posts'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    130 
    131                         'read'                   => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    132 
    133                         'level_10'               => array( 'administrator' ),
    134                         'level_9'                => array( 'administrator' ),
    135                         'level_8'                => array( 'administrator' ),
    136                         'level_7'                => array( 'administrator', 'editor' ),
    137                         'level_6'                => array( 'administrator', 'editor' ),
    138                         'level_5'                => array( 'administrator', 'editor' ),
    139                         'level_4'                => array( 'administrator', 'editor' ),
    140                         'level_3'                => array( 'administrator', 'editor' ),
    141                         'level_2'                => array( 'administrator', 'editor', 'author' ),
    142                         'level_1'                => array( 'administrator', 'editor', 'author', 'contributor' ),
    143                         'level_0'                => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    144 
    145                         'administrator'          => array( 'administrator' ),
    146                         'editor'                 => array( 'editor' ),
    147                         'author'                 => array( 'author' ),
    148                         'contributor'            => array( 'contributor' ),
    149                         '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
     105                        'moderate_comments'       => array( 'administrator', 'editor' ),
     106                        'manage_categories'       => array( 'administrator', 'editor' ),
     107                        'edit_others_posts'       => array( 'administrator', 'editor' ),
     108                        'edit_pages'              => array( 'administrator', 'editor' ),
     109                        'edit_others_pages'       => array( 'administrator', 'editor' ),
     110                        'edit_published_pages'    => array( 'administrator', 'editor' ),
     111                        'publish_pages'           => array( 'administrator', 'editor' ),
     112                        'delete_pages'            => array( 'administrator', 'editor' ),
     113                        'delete_others_pages'     => array( 'administrator', 'editor' ),
     114                        'delete_published_pages'  => array( 'administrator', 'editor' ),
     115                        'delete_others_posts'     => array( 'administrator', 'editor' ),
     116                        'delete_private_posts'    => array( 'administrator', 'editor' ),
     117                        'edit_private_posts'      => array( 'administrator', 'editor' ),
     118                        'read_private_posts'      => array( 'administrator', 'editor' ),
     119                        'delete_private_pages'    => array( 'administrator', 'editor' ),
     120                        'edit_private_pages'      => array( 'administrator', 'editor' ),
     121                        'read_private_pages'      => array( 'administrator', 'editor' ),
     122
     123                        'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
     124                        'upload_files'            => array( 'administrator', 'editor', 'author' ),
     125                        'publish_posts'           => array( 'administrator', 'editor', 'author' ),
     126                        'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
     127
     128                        'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
     129                        'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     130
     131                        'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     132
     133                        'edit_blocks'             => array( 'administrator', 'editor', 'author', 'contributor' ),
     134                        'edit_others_blocks'      => array( 'administrator', 'editor' ),
     135                        'publish_blocks'          => array( 'administrator', 'editor', 'author' ),
     136                        'read_private_blocks'     => array( 'administrator', 'editor' ),
     137                        'delete_blocks'           => array( 'administrator', 'editor', 'author', 'contributor' ),
     138                        'delete_private_blocks'   => array( 'administrator', 'editor' ),
     139                        'delete_published_blocks' => array( 'administrator', 'editor', 'author' ),
     140                        'delete_others_blocks'    => array( 'administrator', 'editor' ),
     141                        'edit_private_blocks'     => array( 'administrator', 'editor' ),
     142                        'edit_published_blocks'   => array( 'administrator', 'editor', 'author' ),
     143
     144                        'level_10'                => array( 'administrator' ),
     145                        'level_9'                 => array( 'administrator' ),
     146                        'level_8'                 => array( 'administrator' ),
     147                        'level_7'                 => array( 'administrator', 'editor' ),
     148                        'level_6'                 => array( 'administrator', 'editor' ),
     149                        'level_5'                 => array( 'administrator', 'editor' ),
     150                        'level_4'                 => array( 'administrator', 'editor' ),
     151                        'level_3'                 => array( 'administrator', 'editor' ),
     152                        'level_2'                 => array( 'administrator', 'editor', 'author' ),
     153                        'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
     154                        'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     155
     156                        'administrator'           => array( 'administrator' ),
     157                        'editor'                  => array( 'editor' ),
     158                        'author'                  => array( 'author' ),
     159                        'contributor'             => array( 'contributor' ),
     160                        'subscriber'              => array( 'subscriber' ),
    150161
    151162                );
    152163
    function _meta_filter( $meta_value, $meta_key, $meta_type ) { 
    155166        final private function _getMultiSitePrimitiveCaps() {
    156167                return array(
    157168
    158                         'unfiltered_html'        => array(),
    159 
    160                         'activate_plugins'       => array(),
    161                         'create_users'           => array(),
    162                         'delete_plugins'         => array(),
    163                         'delete_themes'          => array(),
    164                         'delete_users'           => array(),
    165                         'edit_files'             => array(),
    166                         'edit_plugins'           => array(),
    167                         'edit_themes'            => array(),
    168                         'edit_users'             => array(),
    169                         'install_plugins'        => array(),
    170                         'install_themes'         => array(),
    171                         'update_core'            => array(),
    172                         'update_plugins'         => array(),
    173                         'update_themes'          => array(),
    174 
    175                         'edit_theme_options'     => array( 'administrator' ),
    176                         'export'                 => array( 'administrator' ),
    177                         'import'                 => array( 'administrator' ),
    178                         'list_users'             => array( 'administrator' ),
    179                         'manage_options'         => array( 'administrator' ),
    180                         'promote_users'          => array( 'administrator' ),
    181                         'remove_users'           => array( 'administrator' ),
    182                         'switch_themes'          => array( 'administrator' ),
    183                         'edit_dashboard'         => array( 'administrator' ),
    184 
    185                         'moderate_comments'      => array( 'administrator', 'editor' ),
    186                         'manage_categories'      => array( 'administrator', 'editor' ),
    187                         'edit_others_posts'      => array( 'administrator', 'editor' ),
    188                         'edit_pages'             => array( 'administrator', 'editor' ),
    189                         'edit_others_pages'      => array( 'administrator', 'editor' ),
    190                         'edit_published_pages'   => array( 'administrator', 'editor' ),
    191                         'publish_pages'          => array( 'administrator', 'editor' ),
    192                         'delete_pages'           => array( 'administrator', 'editor' ),
    193                         'delete_others_pages'    => array( 'administrator', 'editor' ),
    194                         'delete_published_pages' => array( 'administrator', 'editor' ),
    195                         'delete_others_posts'    => array( 'administrator', 'editor' ),
    196                         'delete_private_posts'   => array( 'administrator', 'editor' ),
    197                         'edit_private_posts'     => array( 'administrator', 'editor' ),
    198                         'read_private_posts'     => array( 'administrator', 'editor' ),
    199                         'delete_private_pages'   => array( 'administrator', 'editor' ),
    200                         'edit_private_pages'     => array( 'administrator', 'editor' ),
    201                         'read_private_pages'     => array( 'administrator', 'editor' ),
    202 
    203                         'edit_published_posts'   => array( 'administrator', 'editor', 'author' ),
    204                         'upload_files'           => array( 'administrator', 'editor', 'author' ),
    205                         'publish_posts'          => array( 'administrator', 'editor', 'author' ),
    206                         'delete_published_posts' => array( 'administrator', 'editor', 'author' ),
    207 
    208                         'edit_posts'             => array( 'administrator', 'editor', 'author', 'contributor' ),
    209                         'delete_posts'           => array( 'administrator', 'editor', 'author', 'contributor' ),
    210 
    211                         'read'                   => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    212 
    213                         'level_10'               => array( 'administrator' ),
    214                         'level_9'                => array( 'administrator' ),
    215                         'level_8'                => array( 'administrator' ),
    216                         'level_7'                => array( 'administrator', 'editor' ),
    217                         'level_6'                => array( 'administrator', 'editor' ),
    218                         'level_5'                => array( 'administrator', 'editor' ),
    219                         'level_4'                => array( 'administrator', 'editor' ),
    220                         'level_3'                => array( 'administrator', 'editor' ),
    221                         'level_2'                => array( 'administrator', 'editor', 'author' ),
    222                         'level_1'                => array( 'administrator', 'editor', 'author', 'contributor' ),
    223                         'level_0'                => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
    224 
    225                         'administrator'          => array( 'administrator' ),
    226                         'editor'                 => array( 'editor' ),
    227                         'author'                 => array( 'author' ),
    228                         'contributor'            => array( 'contributor' ),
    229                         'subscriber'             => array( 'subscriber' ),
     169                        'unfiltered_html'         => array(),
     170
     171                        'activate_plugins'        => array(),
     172                        'create_users'            => array(),
     173                        'delete_plugins'          => array(),
     174                        'delete_themes'           => array(),
     175                        'delete_users'            => array(),
     176                        'edit_files'              => array(),
     177                        'edit_plugins'            => array(),
     178                        'edit_themes'             => array(),
     179                        'edit_users'              => array(),
     180                        'install_plugins'         => array(),
     181                        'install_themes'          => array(),
     182                        'update_core'             => array(),
     183                        'update_plugins'          => array(),
     184                        'update_themes'           => array(),
     185
     186                        'edit_theme_options'      => array( 'administrator' ),
     187                        'export'                  => array( 'administrator' ),
     188                        'import'                  => array( 'administrator' ),
     189                        'list_users'              => array( 'administrator' ),
     190                        'manage_options'          => array( 'administrator' ),
     191                        'promote_users'           => array( 'administrator' ),
     192                        'remove_users'            => array( 'administrator' ),
     193                        'switch_themes'           => array( 'administrator' ),
     194                        'edit_dashboard'          => array( 'administrator' ),
     195
     196                        'moderate_comments'       => array( 'administrator', 'editor' ),
     197                        'manage_categories'       => array( 'administrator', 'editor' ),
     198                        'edit_others_posts'       => array( 'administrator', 'editor' ),
     199                        'edit_pages'              => array( 'administrator', 'editor' ),
     200                        'edit_others_pages'       => array( 'administrator', 'editor' ),
     201                        'edit_published_pages'    => array( 'administrator', 'editor' ),
     202                        'publish_pages'           => array( 'administrator', 'editor' ),
     203                        'delete_pages'            => array( 'administrator', 'editor' ),
     204                        'delete_others_pages'     => array( 'administrator', 'editor' ),
     205                        'delete_published_pages'  => array( 'administrator', 'editor' ),
     206                        'delete_others_posts'     => array( 'administrator', 'editor' ),
     207                        'delete_private_posts'    => array( 'administrator', 'editor' ),
     208                        'edit_private_posts'      => array( 'administrator', 'editor' ),
     209                        'read_private_posts'      => array( 'administrator', 'editor' ),
     210                        'delete_private_pages'    => array( 'administrator', 'editor' ),
     211                        'edit_private_pages'      => array( 'administrator', 'editor' ),
     212                        'read_private_pages'      => array( 'administrator', 'editor' ),
     213
     214                        'edit_published_posts'    => array( 'administrator', 'editor', 'author' ),
     215                        'upload_files'            => array( 'administrator', 'editor', 'author' ),
     216                        'publish_posts'           => array( 'administrator', 'editor', 'author' ),
     217                        'delete_published_posts'  => array( 'administrator', 'editor', 'author' ),
     218
     219                        'edit_posts'              => array( 'administrator', 'editor', 'author', 'contributor' ),
     220                        'delete_posts'            => array( 'administrator', 'editor', 'author', 'contributor' ),
     221
     222                        'read'                    => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     223
     224                        'edit_blocks'             => array( 'administrator', 'editor', 'author', 'contributor' ),
     225                        'edit_others_blocks'      => array( 'administrator', 'editor' ),
     226                        'publish_blocks'          => array( 'administrator', 'editor', 'author' ),
     227                        'read_private_blocks'     => array( 'administrator', 'editor' ),
     228                        'delete_blocks'           => array( 'administrator', 'editor', 'author', 'contributor' ),
     229                        'delete_private_blocks'   => array( 'administrator', 'editor' ),
     230                        'delete_published_blocks' => array( 'administrator', 'editor', 'author' ),
     231                        'delete_others_blocks'    => array( 'administrator', 'editor' ),
     232                        'edit_private_blocks'     => array( 'administrator', 'editor' ),
     233                        'edit_published_blocks'   => array( 'administrator', 'editor', 'author' ),
     234
     235                        'level_10'                => array( 'administrator' ),
     236                        'level_9'                 => array( 'administrator' ),
     237                        'level_8'                 => array( 'administrator' ),
     238                        'level_7'                 => array( 'administrator', 'editor' ),
     239                        'level_6'                 => array( 'administrator', 'editor' ),
     240                        'level_5'                 => array( 'administrator', 'editor' ),
     241                        'level_4'                 => array( 'administrator', 'editor' ),
     242                        'level_3'                 => array( 'administrator', 'editor' ),
     243                        'level_2'                 => array( 'administrator', 'editor', 'author' ),
     244                        'level_1'                 => array( 'administrator', 'editor', 'author', 'contributor' ),
     245                        'level_0'                 => array( 'administrator', 'editor', 'author', 'contributor', 'subscriber' ),
     246
     247                        'administrator'           => array( 'administrator' ),
     248                        'editor'                  => array( 'editor' ),
     249                        'author'                  => array( 'author' ),
     250                        'contributor'             => array( 'contributor' ),
     251                        'subscriber'              => array( 'subscriber' ),
    230252
    231253                );
    232254
    function test_block_caps( $role, $cap, $use_post, $expected ) { 
    21292151
    21302152        function data_block_caps() {
    21312153                $post_caps = array(
    2132                         'edit_block',
    2133                         'read_block',
    2134                         'delete_block',
     2154                        'edit_post',
     2155                        'read_post',
     2156                        'delete_post',
    21352157                );
    21362158
    21372159                $all_caps = array(
    2138                         'edit_block',
    2139                         'read_block',
    2140                         'delete_block',
     2160                        'edit_post',
     2161                        'read_post',
     2162                        'delete_post',
    21412163                        'edit_blocks',
    21422164                        'edit_others_blocks',
    21432165                        'publish_blocks',
    function data_block_caps() { 
    21542176                        'administrator' => $all_caps,
    21552177                        'editor'        => $all_caps,
    21562178                        'author'        => array(
    2157                                 'read_block',
     2179                                'read_post',
    21582180                                'edit_blocks',
    21592181                                'publish_blocks',
    21602182                                'delete_blocks',
    function data_block_caps() { 
    21622184                                'edit_published_blocks',
    21632185                        ),
    21642186                        'contributor'   => array(
    2165                                 'read_block',
     2187                                'read_post',
    21662188                                'edit_blocks',
    21672189                                'delete_blocks',
    21682190                        ),