Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/wp-includes/class-wp-comment-query.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -633,6 +633,7 @@ protected function get_comment_ids() {
$number = absint( $this->query_vars['number'] );
$offset = absint( $this->query_vars['offset'] );
$paged = absint( $this->query_vars['paged'] );
$limits = '';

if ( ! empty( $number ) ) {
if ( $offset ) {
Expand DownExpand Up@@ -817,7 +818,8 @@ protected function get_comment_ids() {
$this->sql_clauses['where']['post_author__not_in'] = 'post_author NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['post_author__not_in'] ) ) . ' )';
}

$join = '';
$join = '';
$groupby = '';

if ( $join_posts_table ) {
$join .= "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
Expand Down
69 changes: 43 additions & 26 deletions src/wp-includes/class-wp-xmlrpc-server.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -3517,38 +3517,44 @@ public function wp_editComment( $args ) {

/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
do_action( 'xmlrpc_call', 'wp.editComment' );
$comment = array(
'comment_ID' => $comment_ID,
);


if ( isset($content_struct['status']) ) {
$statuses = get_comment_statuses();
$statuses = array_keys($statuses);

if ( ! in_array($content_struct['status'], $statuses) )
return new IXR_Error( 401, __( 'Invalid comment status.' ) );
$comment_approved = $content_struct['status'];
$comment['comment_approved'] = $content_struct['status'];
}

// Do some timestamp voodoo
if ( !empty( $content_struct['date_created_gmt'] ) ) {
// We know this is supposed to be GMT, so we're going to slap that Z on there by force
$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
$comment_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
$comment_date_gmt = iso8601_to_datetime($dateCreated, 'GMT');
}

if ( isset($content_struct['content']) )
$comment_content = $content_struct['content'];
$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
$comment['comment_date'] = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
$comment['comment_date_gmt'] = iso8601_to_datetime( $dateCreated, 'GMT' );
}

if ( isset($content_struct['author']) )
$comment_author = $content_struct['author'];
if ( isset($content_struct['content']) ) {
$comment['comment_content'] = $content_struct['content'];
}

if ( isset($content_struct['author_url']) )
$comment_author_url = $content_struct['author_url'];
if ( isset($content_struct['author']) ) {
$comment['comment_author'] = $content_struct['author'];
}

if ( isset($content_struct['author_email']) )
$comment_author_email = $content_struct['author_email'];
if ( isset($content_struct['author_url']) ) {
$comment['comment_author_url'] = $content_struct['author_url'];
}

// We've got all the data -- post it:
$comment = compact('comment_ID', 'comment_content', 'comment_approved', 'comment_date', 'comment_date_gmt', 'comment_author', 'comment_author_email', 'comment_author_url');
if ( isset($content_struct['author_email']) ) {
$comment['comment_author_email'] = $content_struct['author_email'];
}

$result = wp_update_comment($comment);
if ( is_wp_error( $result ) )
Expand DownExpand Up@@ -4989,16 +4995,25 @@ public function mw_newPost($args) {
$post_name = $content_struct['wp_slug'];

// Only use a password if one was given.
if ( isset($content_struct['wp_password']) )
if ( isset($content_struct['wp_password']) ) {
$post_password = $content_struct['wp_password'];
} else {
$post_password = '';
}

// Only set a post parent if one was provided.
if ( isset($content_struct['wp_page_parent_id']) )
if ( isset($content_struct['wp_page_parent_id']) ) {
$post_parent = $content_struct['wp_page_parent_id'];
} else {
$post_parent = 0;
}

// Only set the menu_order if it was provided.
if ( isset($content_struct['wp_page_order']) )
if ( isset($content_struct['wp_page_order']) ) {
$menu_order = $content_struct['wp_page_order'];
} else {
$menu_order = 0;
}

$post_author = $user->ID;

Expand DownExpand Up@@ -5308,14 +5323,16 @@ public function mw_editPost( $args ) {

$this->escape($postdata);

$ID = $postdata['ID'];
$post_content = $postdata['post_content'];
$post_title = $postdata['post_title'];
$post_excerpt = $postdata['post_excerpt'];
$post_password = $postdata['post_password'];
$post_parent = $postdata['post_parent'];
$post_type = $postdata['post_type'];
$menu_order = $postdata['menu_order'];
$ID = $postdata['ID'];
$post_content = $postdata['post_content'];
$post_title = $postdata['post_title'];
$post_excerpt = $postdata['post_excerpt'];
$post_password = $postdata['post_password'];
$post_parent = $postdata['post_parent'];
$post_type = $postdata['post_type'];
$menu_order = $postdata['menu_order'];
$ping_status = $postdata['ping_status'];
$comment_status = $postdata['comment_status'];

// Let WordPress manage slug if none was provided.
$post_name = $postdata['post_name'];
Expand Down
2 changes: 1 addition & 1 deletion src/wp-includes/comment.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -2965,7 +2965,7 @@ function _close_comments_for_old_post( $open, $post_id ) {
*/
function wp_handle_comment_submission( $comment_data ) {

$comment_post_ID = $comment_parent = 0;
$comment_post_ID = $comment_parent = $user_ID = 0;
$comment_author = $comment_author_email = $comment_author_url = $comment_content = null;

if ( isset( $comment_data['comment_post_ID'] ) ) {
Expand Down
9 changes: 8 additions & 1 deletion src/wp-includes/post.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -3415,6 +3415,13 @@ function wp_insert_post( $postarr, $wp_error = false ) {
$post_parent = 0;
}

$new_postarr = array_merge(
array(
'ID' => $post_ID,
),
compact( array_diff( array_keys( $defaults ), array( 'context', 'filter' ) ) )
);

/**
* Filters the post parent -- used to check for and prevent hierarchy loops.
*
Expand All@@ -3425,7 +3432,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
* @param array $new_postarr Array of parsed post data.
* @param array $postarr Array of sanitized, but otherwise unmodified post data.
*/
$post_parent = apply_filters( 'wp_insert_post_parent', $post_parent, $post_ID, compact( array_keys( $postarr ) ), $postarr );
$post_parent = apply_filters( 'wp_insert_post_parent', $post_parent, $post_ID, $new_postarr, $postarr );

/*
* If the post is being untrashed and it has a desired slug stored in post meta,
Expand Down
1 change: 1 addition & 0 deletions tests/phpunit/tests/dependencies/scripts.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -861,6 +861,7 @@ public function test_wp_enqueue_code_editor_when_php_file_will_be_passed() {
* @covers wp_enqueue_code_editor()
*/
public function test_wp_enqueue_code_editor_when_generated_array_by_compact_will_be_passed() {
$file = '';
$wp_enqueue_code_editor = wp_enqueue_code_editor( compact( 'file' ) );
$this->assertNonEmptyMultidimensionalArray( $wp_enqueue_code_editor );

Expand Down