WordPress 4.7.1-scripts
[autoinstalls/wordpress.git] / wp-comments-post.php
index 2fb148a8dca418ddd9f050e0dc9574b5d25717ad..2c421d327adee02c9bad3f6820d4bb76bfad1e3c 100644 (file)
@@ -6,8 +6,13 @@
  */
 
 if ( 'POST' != $_SERVER['REQUEST_METHOD'] ) {
+       $protocol = $_SERVER['SERVER_PROTOCOL'];
+       if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) ) {
+               $protocol = 'HTTP/1.0';
+       }
+
        header('Allow: POST');
-       header('HTTP/1.1 405 Method Not Allowed');
+       header("$protocol 405 Method Not Allowed");
        header('Content-Type: text/plain');
        exit;
 }
@@ -19,9 +24,9 @@ nocache_headers();
 
 $comment = wp_handle_comment_submission( wp_unslash( $_POST ) );
 if ( is_wp_error( $comment ) ) {
-       $data = $comment->get_error_data();
+       $data = intval( $comment->get_error_data() );
        if ( ! empty( $data ) ) {
-               wp_die( $comment->get_error_message(), $data );
+               wp_die( '<p>' . $comment->get_error_message() . '</p>', __( 'Comment Submission Failure' ), array( 'response' => $data, 'back_link' => true ) );
        } else {
                exit;
        }
@@ -42,7 +47,7 @@ do_action( 'set_comment_cookies', $comment, $user );
 $location = empty( $_POST['redirect_to'] ) ? get_comment_link( $comment ) : $_POST['redirect_to'] . '#comment-' . $comment->comment_ID;
 
 /**
- * Filter the location URI to send the commenter after posting.
+ * Filters the location URI to send the commenter after posting.
  *
  * @since 2.0.5
  *