Make WordPress Core


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

Grouped backports to the 4.6 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.
  • Prevent unintended behavior when certain objects are unserialized.

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

File:
1 edited

Legend:

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

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