Ticket #39730: 39730.4.patch
File 39730.4.patch, 3.7 KB (added by , 8 years ago) |
---|
-
src/wp-admin/includes/ajax-actions.php
1100 1100 } 1101 1101 1102 1102 $comment_id = wp_new_comment( $commentdata ); 1103 1104 if ( is_wp_error( $comment_id ) ) { 1105 wp_die ( $comment_id->get_error_message() ); 1106 } 1107 1103 1108 $comment = get_comment($comment_id); 1104 1109 if ( ! $comment ) wp_die( 1 ); 1105 1110 -
tests/phpunit/tests/ajax/ReplytoComment.php
222 222 } 223 223 return $sql; 224 224 } 225 226 /** 227 * @ticket 39730 228 */ 229 public function test_pre_comments_approved () { 230 231 // Become an administrator 232 $this->_setRole( 'administrator' ); 233 234 // Set up a default request 235 $_POST['_ajax_nonce-replyto-comment'] = wp_create_nonce( 'replyto-comment' ); 236 $_POST['content'] = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'; 237 $_POST['comment_post_ID'] = self::$comment_post->ID; 238 239 // Simulate filter check error 240 add_filter( 'pre_comment_approved', array( $this, '_pre_comment_approved_filter' ), 10, 2 ); 241 242 // Make the request 243 $this->setExpectedException( 'WPAjaxDieStopException', 'pre_comment_approved filter fails for new comment' ); 244 $this->_handleAjax( 'replyto-comment' ); 245 246 remove_filter( 'pre_comment_approved', array( $this, '_pre_comment_approved_filter' ), 10, 2 ); 247 } 248 249 /** 250 * Block comments from being saved 'pre_comment_approved', by returning WP_Error 251 */ 252 function _pre_comment_approved_filter ( $approved, $commentdata ) { 253 return new WP_Error( 'comment_wrong', __( 'pre_comment_approved filter fails for new comment' ), 403 ); 254 } 225 255 } -
src/wp-trackback.php
126 126 127 127 $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type'); 128 128 129 wp_new_comment($commentdata); 129 $result = wp_new_comment($commentdata); 130 131 if ( is_wp_error( $result ) ) { 132 trackback_response( 1, $result->get_error_message() ); 133 } 134 130 135 $trackback_id = $wpdb->insert_id; 131 136 132 137 /** -
src/wp-includes/class-wp-xmlrpc-server.php
6505 6505 6506 6506 $comment_ID = wp_new_comment($commentdata); 6507 6507 6508 if ( is_wp_error( $comment_ID ) ) { 6509 return $this->pingback_error( 0, $comment_ID->get_error_message() ); 6510 } 6511 6508 6512 /** 6509 6513 * Fires after a post pingback has been sent. 6510 6514 * -
src/wp-includes/comment.php
756 756 /** 757 757 * Filters a comment's approval status before it is set. 758 758 * 759 * Returning a WP_Error value from the filter will shortcircuit comment insertion and 760 * allow skipping further processing. 761 * 759 762 * @since 2.1.0 760 763 * 761 * @param bool|string $approved The approval status. Accepts 1, 0, or 'spam'.762 * @param array $commentdata Comment data.764 * @param bool|string|WP_Error $approved The approval status. Accepts 1, 0, 'spam' or WP_Error. 765 * @param array $commentdata Comment data. 763 766 */ 764 767 $approved = apply_filters( 'pre_comment_approved', $approved, $commentdata ); 765 768 return $approved;