Make WordPress Core


Ignore:
Timestamp:
10/12/2023 02:48:17 PM (9 months ago)
Author:
davidbaumwald
Message:

Grouped backports to the 4.7 branch.

  • Comments: Prevent users who can not see a post from seeing comments on it.
  • Shortcodes: Restrict media shortcode ajax to certain type.
  • REST API: Ensure no-cache headers are sent when methods are overridden.
  • REST API: Limit search_columns for users without list_users.
  • Prevent unintended behavior when certain objects are unserialized.

Merges [56834], [56835], [56836], [56838], and [56840] to the 4.7 branch.
Props xknown, jorbin, joehoyle, timothyblynjacobs, peterwilsoncc, ehtis, tykoted, antpb, rmccue.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/4.7/src/wp-admin/includes/class-wp-list-table.php

    r38672 r56862  
    655655        $pending_phrase = sprintf( _n( '%s pending comment', '%s pending comments', $pending_comments ), $pending_comments_number );
    656656
    657         // No comments at all.
     657        $post_object   = get_post( $post_id );
     658        $edit_post_cap = $post_object ? 'edit_post' : 'edit_posts';
     659        if (
     660            current_user_can( $edit_post_cap, $post_id ) ||
     661            (
     662                empty( $post_object->post_password ) &&
     663                current_user_can( 'read_post', $post_id )
     664            )
     665        ) {
     666            // The user has access to the post and thus can see comments
     667        } else {
     668            return false;
     669        }
     670
    658671        if ( ! $approved_comments && ! $pending_comments ) {
    659672            printf( '<span aria-hidden="true">—</span><span class="screen-reader-text">%s</span>',
Note: See TracChangeset for help on using the changeset viewer.