Changeset 37655
- Timestamp:
- 06/08/2016 04:00:18 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/comment-template.php
r37542 r37655 1961 1961 $current_per_page = get_query_var( 'comments_per_page' ); 1962 1962 if ( $r['page'] != $current_cpage || $r['per_page'] != $current_per_page ) { 1963 1964 $comments = get_comments( array( 1963 $comment_args = array( 1965 1964 'post_id' => get_the_ID(), 1966 1965 'orderby' => 'comment_date_gmt', 1967 1966 'order' => 'ASC', 1968 'status' => 'all', 1969 ) ); 1967 'status' => 'approve', 1968 ); 1969 1970 if ( is_user_logged_in() ) { 1971 $comment_args['include_unapproved'] = get_current_user_id(); 1972 } else { 1973 $commenter = wp_get_current_commenter(); 1974 if ( $commenter['comment_author_email'] ) { 1975 $comment_args['include_unapproved'] = $commenter['comment_author_email']; 1976 } 1977 } 1978 1979 $comments = get_comments( $comment_args ); 1970 1980 1971 1981 if ( 'all' != $r['type'] ) { -
trunk/tests/phpunit/tests/comment/wpListComments.php
r36276 r37655 147 147 $this->assertSame( array( $comments[3] ), array_map( 'intval', $matches[1] ) ); 148 148 } 149 150 /** 151 * @ticket 37048 152 */ 153 public function test_custom_pagination_should_not_result_in_unapproved_comments_being_shown() { 154 $p = self::factory()->post->create(); 155 156 $comments = array(); 157 $now = time(); 158 for ( $i = 0; $i <= 5; $i++ ) { 159 $comments[] = self::factory()->comment->create( array( 160 'comment_post_ID' => $p, 161 'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - $i ), 162 'comment_author' => 'Commenter ' . $i, 163 ) ); 164 } 165 166 // Only 2 and 5 are approved. 167 wp_set_comment_status( $comments[0], '0' ); 168 wp_set_comment_status( $comments[1], '0' ); 169 wp_set_comment_status( $comments[3], '0' ); 170 wp_set_comment_status( $comments[4], '0' ); 171 172 update_option( 'page_comments', true ); 173 update_option( 'comments_per_page', 2 ); 174 175 $this->go_to( get_permalink( $p ) ); 176 177 // comments_template() populates $wp_query->comments 178 get_echo( 'comments_template' ); 179 180 $found = wp_list_comments( array( 181 'echo' => false, 182 'per_page' => 1, 183 'page' => 2, 184 ) ); 185 186 preg_match_all( '|id="comment\-([0-9]+)"|', $found, $matches ); 187 $this->assertSame( array( $comments[2] ), array_map( 'intval', $matches[1] ) ); 188 } 189 190 /** 191 * @ticket 37048 192 */ 193 public function test_custom_pagination_should_allow_ones_own_unapproved_comments() { 194 $p = self::factory()->post->create(); 195 $u = self::factory()->user->create(); 196 197 $comments = array(); 198 $now = time(); 199 for ( $i = 0; $i <= 5; $i++ ) { 200 $comments[] = self::factory()->comment->create( array( 201 'comment_post_ID' => $p, 202 'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - $i ), 203 'comment_author' => 'Commenter ' . $i, 204 'user_id' => $u, 205 ) ); 206 } 207 208 // Only 2 and 5 are approved. 209 wp_set_comment_status( $comments[0], '0' ); 210 wp_set_comment_status( $comments[1], '0' ); 211 wp_set_comment_status( $comments[3], '0' ); 212 wp_set_comment_status( $comments[4], '0' ); 213 214 update_option( 'page_comments', true ); 215 update_option( 'comments_per_page', 2 ); 216 217 wp_set_current_user( $u ); 218 219 $this->go_to( get_permalink( $p ) ); 220 221 // comments_template() populates $wp_query->comments 222 get_echo( 'comments_template' ); 223 224 $found = wp_list_comments( array( 225 'echo' => false, 226 'per_page' => 1, 227 'page' => 2, 228 ) ); 229 230 preg_match_all( '|id="comment\-([0-9]+)"|', $found, $matches ); 231 $this->assertSame( array( $comments[4] ), array_map( 'intval', $matches[1] ) ); 232 } 149 233 }
Note: See TracChangeset
for help on using the changeset viewer.