Comments: Use proper HTTP response codes for validation errors.

props miqrogroove, solarissmoke, mackensen.
fixes #11286.
Built from https://develop.svn.wordpress.org/trunk@30579


git-svn-id: http://core.svn.wordpress.org/trunk@30569 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dominik Schilling 2014-11-26 20:17:24 +00:00
parent 184d327ff4
commit 7e0c893415
3 changed files with 15 additions and 12 deletions

View File

@ -47,7 +47,7 @@ if ( ! comments_open( $comment_post_ID ) ) {
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_closed', $comment_post_ID );
wp_die( __('Sorry, comments are closed for this item.') );
wp_die( __( 'Sorry, comments are closed for this item.' ), 403 );
} elseif ( 'trash' == $status ) {
/**
* Fires when a comment is attempted on a trashed post.
@ -111,21 +111,24 @@ if ( $user->exists() ) {
}
}
} else {
if ( get_option('comment_registration') || 'private' == $status )
wp_die( __('Sorry, you must be logged in to post a comment.') );
if ( get_option( 'comment_registration' ) || 'private' == $status ) {
wp_die( __( 'Sorry, you must be logged in to post a comment.' ), 403 );
}
}
$comment_type = '';
if ( get_option('require_name_email') && !$user->exists() ) {
if ( 6 > strlen($comment_author_email) || '' == $comment_author )
wp_die( __('<strong>ERROR</strong>: please fill the required fields (name, email).') );
elseif ( !is_email($comment_author_email))
wp_die( __('<strong>ERROR</strong>: please enter a valid email address.') );
if ( 6 > strlen( $comment_author_email ) || '' == $comment_author ) {
wp_die( __( '<strong>ERROR</strong>: please fill the required fields (name, email).' ), 200 );
} else if ( ! is_email( $comment_author_email ) ) {
wp_die( __( '<strong>ERROR</strong>: please enter a valid email address.' ), 200 );
}
}
if ( '' == $comment_content )
wp_die( __('<strong>ERROR</strong>: please type a comment.') );
if ( '' == $comment_content ) {
wp_die( __( '<strong>ERROR</strong>: please type a comment.' ), 200 );
}
$comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0;

View File

@ -1131,7 +1131,7 @@ function wp_allow_comment( $commentdata ) {
if ( defined( 'DOING_AJAX' ) ) {
die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
}
wp_die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
wp_die( __( 'Duplicate comment detected; it looks as though you&#8217;ve already said that!' ), 409 );
}
/**
@ -1249,7 +1249,7 @@ function check_comment_flood_db( $ip, $email, $date ) {
if ( defined('DOING_AJAX') )
die( __('You are posting comments too quickly. Slow down.') );
wp_die( __('You are posting comments too quickly. Slow down.'), '', array('response' => 403) );
wp_die( __( 'You are posting comments too quickly. Slow down.' ), 429 );
}
}
}

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.1-beta2-30578';
$wp_version = '4.1-beta2-30579';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.