X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/72836ec95a52eacbda4dc5aa296b7dd6de08bd3b..c46e6dd20c438dddfea40c35935b877ac3e67daa:/wp-comments-post.php
diff --git a/wp-comments-post.php b/wp-comments-post.php
index 859ccb46..e1e41720 100644
--- a/wp-comments-post.php
+++ b/wp-comments-post.php
@@ -25,7 +25,8 @@ if ( empty( $post->comment_status ) ) {
/**
* Fires when a comment is attempted on a post that does not exist.
*
- * @since unknown
+ * @since 1.5.0
+ *
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_id_not_found', $comment_post_ID );
@@ -41,16 +42,18 @@ if ( ! comments_open( $comment_post_ID ) ) {
/**
* Fires when a comment is attempted on a post that has comments closed.
*
- * @since unknown
+ * @since 1.5.0
+ *
* @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.
*
* @since 2.9.0
+ *
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_on_trash', $comment_post_ID );
@@ -59,7 +62,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
/**
* Fires when a comment is attempted on a post in draft mode.
*
- * @since unknown
+ * @since 1.5.1
+ *
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_on_draft', $comment_post_ID );
@@ -68,7 +72,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
/**
* Fires when a comment is attempted on a password-protected post.
*
- * @since unknown
+ * @since 2.9.0
+ *
* @param int $comment_post_ID Post ID.
*/
do_action( 'comment_on_password_protected', $comment_post_ID );
@@ -77,7 +82,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
/**
* Fires before a comment is posted.
*
- * @since unknown
+ * @since 2.8.0
+ *
* @param int $comment_post_ID Post ID.
*/
do_action( 'pre_comment_on_post', $comment_post_ID );
@@ -105,28 +111,35 @@ 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( __('ERROR: please fill the required fields (name, email).') );
- elseif ( !is_email($comment_author_email))
- wp_die( __('ERROR: please enter a valid email address.') );
+ if ( 6 > strlen( $comment_author_email ) || '' == $comment_author ) {
+ wp_die( __( 'ERROR: please fill the required fields (name, email).' ), 200 );
+ } elseif ( ! is_email( $comment_author_email ) ) {
+ wp_die( __( 'ERROR: please enter a valid email address.' ), 200 );
+ }
}
-if ( '' == $comment_content )
- wp_die( __('ERROR: please type a comment.') );
+if ( '' == $comment_content ) {
+ wp_die( __( 'ERROR: please type a comment.' ), 200 );
+}
$comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0;
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
$comment_id = wp_new_comment( $commentdata );
-$comment = get_comment($comment_id);
+if ( ! $comment_id ) {
+ wp_die( __( "ERROR: The comment could not be saved. Please try again later." ) );
+}
+
+$comment = get_comment( $comment_id );
/**
* Perform other actions when comment cookies are set.
@@ -141,9 +154,9 @@ do_action( 'set_comment_cookies', $comment, $user );
$location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
/**
- * The location URI to send commenter after posting.
+ * Filter the location URI to send the commenter after posting.
*
- * @since unknown
+ * @since 2.0.5
*
* @param string $location The 'redirect_to' URI sent via $_POST.
* @param object $comment Comment object.