WordPress 4.1.4-scripts
[autoinstalls/wordpress.git] / wp-comments-post.php
index 859ccb4644c59e9720bfdaf058e94aa3904fb7b3..b1612d2f7d476c0fd71494c5a5ed05fec996cb01 100644 (file)
@@ -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( __('<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;
 
 $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( __( "<strong>ERROR</strong>: 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.