WordPress.org

Make WordPress Core

Ticket #18429: dates_and_featured_image3.patch

File dates_and_featured_image3.patch, 18.0 KB (added by markoheijnen, 4 years ago)
  • wp-includes/class-wp-xmlrpc-server.php

     
    467467        } 
    468468 
    469469        /** 
     470         * Convert a WordPress date string to an IXR_Date object. 
     471         * 
     472         * @access protected 
     473         * 
     474         * @param $date 
     475         * @return IXR_Date 
     476         */ 
     477        protected function _convert_date( $date, $format = 'Ymd\TH:i:s' ) { 
     478                if ( $date === '0000-00-00 00:00:00' ) { 
     479                        return new IXR_Date( '00000000T00:00:00Z' ); 
     480                } 
     481                return new IXR_Date( mysql2date( $format, $date, false ) ); 
     482        } 
     483 
     484        /** 
     485         * Convert a WordPress date string to an IXR_Date object. 
     486         * 
     487         * @access protected 
     488         * 
     489         * @param $date 
     490         * @return IXR_Date 
     491         */ 
     492        protected function _convert_date_gmt( $date, $format = 'Ymd\TH:i:s' ) { 
     493                if ( $date === '0000-00-00 00:00:00' ) { 
     494                        return new IXR_Date( '00000000T00:00:00Z' ); 
     495                } 
     496                return new IXR_Date( get_gmt_from_date( mysql2date( $format, $date, false ) ) ); 
     497        } 
     498 
     499        /** 
    470500         * Prepares post data for return in an XML-RPC object. 
    471501         * 
    472502         * @access private 
     
    477507         */ 
    478508        function _prepare_post( $post, $fields ) { 
    479509                // holds the data for this post. built up based on $fields 
    480                 $_post = array( 'post_id' => $post['ID'] ); 
     510                $_post = array( 'post_id' => strval( $post['ID'] ) ); 
    481511 
    482512                // prepare common post fields 
    483513                $post_fields = array( 
    484514                        'post_title'        => $post['post_title'], 
    485                         'post_date'         => new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_date'], false ) ), 
    486                         'post_date_gmt'     => new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_date_gmt'], false ) ), 
    487                         'post_modified'     => new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_modified'], false ) ), 
    488                         'post_modified_gmt' => new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_modified_gmt'], false ) ), 
     515                        'post_date'         => $this->_convert_date( $post['post_date'] ), 
     516                        'post_date_gmt'     => $this->_convert_date( $post['post_date_gmt'] ), 
     517                        'post_modified'     => $this->_convert_date( $post['post_modified'] ), 
     518                        'post_modified_gmt' => $this->_convert_date( $post['post_modified_gmt'] ), 
    489519                        'post_status'       => $post['post_status'], 
    490520                        'post_type'         => $post['post_type'], 
    491521                        'post_name'         => $post['post_name'], 
     
    499529                        'sticky'            => ( $post['post_type'] === 'post' && is_sticky( $post['ID'] ) ), 
    500530                ); 
    501531 
     532                if( current_theme_supports( 'post-thumbnails' ) ) { 
     533                        $post_fields['featured_image'] = get_post_thumbnail_id( $post['ID'] ); 
     534                } 
     535 
    502536                // Consider future posts as published 
    503537                if ( $post_fields['post_status'] === 'future' ) 
    504538                        $post_fields['post_status'] = 'publish'; 
     
    591625         *      - comment_status - can be 'open' | 'closed' 
    592626         *      - ping_status - can be 'open' | 'closed' 
    593627         *      - sticky 
     628         *      - featured_image - ID of a media item to use as the featured image 
    594629         *      - custom_fields - array, with each element containing 'key' and 'value' 
    595630         *      - terms - array, with taxonomy names as keys and arrays of term IDs as values 
    596631         *      - terms_names - array, with taxonomy names as keys and arrays of term names as values 
     
    724759                        stick_post( $post_ID ); 
    725760                } 
    726761 
     762                if ( isset ( $post_data['featured_image'] ) ) { 
     763                        if( current_theme_supports( 'post-thumbnails' ) ) { 
     764                                // empty value deletes, non-empty value adds/updates 
     765                                if ( empty( $post_data['featured_image'] ) ) { 
     766                                        delete_post_thumbnail( $post_ID ); 
     767                                } 
     768                                else { 
     769                                        if ( set_post_thumbnail( $post_ID, $post_data['featured_image'] ) === false ) 
     770                                                return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); 
     771                                } 
     772                                unset( $content_struct['featured_image'] ); 
     773                        } 
     774                        else { 
     775                                return new IXR_Error( 401, __( 'Sorry, you are not able to set a post thumbnail.' ) ); 
     776                        } 
     777                } 
     778 
    727779                if ( isset ( $post_data['custom_fields'] ) && post_type_supports( $post_data['post_type'], 'custom-fields' ) ) { 
    728780                        $this->set_custom_fields( $post_ID, $post_data['custom_fields'] ); 
    729781                } 
     
    880932                        return new IXR_Error( 404, __( 'Invalid post ID.' ) ); 
    881933 
    882934                // convert the date field back to IXR form 
    883                 $post['post_date'] = new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_date'], false ) ); 
     935                $post['post_date'] = $this->_convert_date( $post['post_date'] ); 
    884936 
    885937                // ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct, 
    886938                // since _insert_post will ignore the non-GMT date if the GMT date is set 
    887939                if ( $post['post_date_gmt'] == '0000-00-00 00:00:00' || isset( $content_struct['post_date'] ) ) 
    888940                        unset( $post['post_date_gmt'] ); 
    889941                else 
    890                         $post['post_date_gmt'] = new IXR_Date( mysql2date( 'Ymd\TH:i:s', $post['post_date_gmt'], false ) ); 
     942                        $post['post_date_gmt'] = $this->_convert_date( $post['post_date_gmt'] ); 
    891943 
    892944                $this->escape( $post ); 
    893945                $merged_content_struct = array_merge( $post, $content_struct ); 
     
    10801132                                $query['order'] = $filter['order']; 
    10811133                } 
    10821134 
    1083                 do_action( 'xmlrpc_call', 'wp.getPosts' ); 
    1084  
    10851135                $posts_list = wp_get_recent_posts( $query ); 
    10861136 
    10871137                if ( ! $posts_list ) 
     
    11511201                        $allow_pings = pings_open($page->ID) ? 1 : 0; 
    11521202 
    11531203                        // Format page date. 
    1154                         $page_date = mysql2date('Ymd\TH:i:s', $page->post_date, false); 
    1155                         $page_date_gmt = mysql2date('Ymd\TH:i:s', $page->post_date_gmt, false); 
     1204                        $page_date = $this->_convert_date( $page->post_date ); 
     1205                        $page_date_gmt = $this->_convert_date( $page->post_date_gmt ); 
    11561206 
    11571207                        // For drafts use the GMT version of the date 
    1158                         if ( $page->post_status == 'draft' ) 
    1159                                 $page_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page->post_date ), 'Ymd\TH:i:s' ); 
     1208                        if ( in_array( $page->post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) 
     1209                                $page_date_gmt = $this->_convert_date_gmt( $page->post_date ); 
    11601210 
    11611211                        // Pull the categories info together. 
    11621212                        $categories = array(); 
     
    11721222                                $page_template = 'default'; 
    11731223 
    11741224                        $page_struct = array( 
    1175                                 'dateCreated'                   => new IXR_Date($page_date), 
     1225                                'dateCreated'                   => $page_date, 
    11761226                                'userid'                                => $page->post_author, 
    11771227                                'page_id'                               => $page->ID, 
    11781228                                'page_status'                   => $page->post_status, 
     
    11931243                                'wp_page_order'                 => $page->menu_order, 
    11941244                                'wp_author_id'                  => (string) $author->ID, 
    11951245                                'wp_author_display_name'        => $author->display_name, 
    1196                                 'date_created_gmt'              => new IXR_Date($page_date_gmt), 
     1246                                'date_created_gmt'              => $page_date_gmt, 
    11971247                                'custom_fields'                 => $this->get_custom_fields($page_id), 
    11981248                                'wp_page_template'              => $page_template 
    11991249                        ); 
     
    14101460                // The date needs to be formatted properly. 
    14111461                $num_pages = count($page_list); 
    14121462                for ( $i = 0; $i < $num_pages; $i++ ) { 
    1413                         $post_date = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date, false); 
    1414                         $post_date_gmt = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date_gmt, false); 
     1463                        $page_list[$i]->dateCreated = $this->_convert_date(  $page_list[$i]->post_date ); 
     1464                        $page_list[$i]->date_created_gmt = $this->_convert_date( $page_list[$i]->post_date_gmt ); 
    14151465 
    1416                         $page_list[$i]->dateCreated = new IXR_Date($post_date); 
    1417                         $page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt); 
    1418  
    14191466                        // For drafts use the GMT version of the date 
    1420                         if ( $page_list[$i]->post_status == 'draft' ) { 
    1421                                 $page_list[$i]->date_created_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page_list[$i]->post_date ), 'Ymd\TH:i:s' ); 
    1422                                 $page_list[$i]->date_created_gmt = new IXR_Date( $page_list[$i]->date_created_gmt ); 
     1467                        if ( in_array( $page_list[$i]->post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) { 
     1468                                $page_list[$i]->date_created_gmt = $this->_convert_date_gmt( $page_list[$i]->post_date ); 
    14231469                        } 
    14241470 
    14251471                        unset($page_list[$i]->post_date_gmt); 
     
    16581704                        return new IXR_Error( 404, __( 'Invalid comment ID.' ) ); 
    16591705 
    16601706                // Format page date. 
    1661                 $comment_date = mysql2date('Ymd\TH:i:s', $comment->comment_date, false); 
    1662                 $comment_date_gmt = mysql2date('Ymd\TH:i:s', $comment->comment_date_gmt, false); 
     1707                $comment_date = $this->_convert_date( $comment->comment_date ); 
     1708                $comment_date_gmt = $this->_convert_date( $comment->comment_date_gmt ); 
    16631709 
    16641710                if ( '0' == $comment->comment_approved ) 
    16651711                        $comment_status = 'hold'; 
     
    16731719                $link = get_comment_link($comment); 
    16741720 
    16751721                $comment_struct = array( 
    1676                         'date_created_gmt'              => new IXR_Date($comment_date_gmt), 
     1722                        'date_created_gmt'              => $comment_date_gmt, 
    16771723                        'user_id'                               => $comment->user_id, 
    16781724                        'comment_id'                    => $comment->comment_ID, 
    16791725                        'parent'                                => $comment->comment_parent, 
     
    22412287                        return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); 
    22422288 
    22432289                // Format page date. 
    2244                 $attachment_date = mysql2date('Ymd\TH:i:s', $attachment->post_date, false); 
    2245                 $attachment_date_gmt = mysql2date('Ymd\TH:i:s', $attachment->post_date_gmt, false); 
     2290                $attachment_date = $this->_convert_date( $attachment->post_date ); 
     2291                $attachment_date_gmt = $this->_convert_date( $attachment->post_date_gmt ); 
    22462292 
    22472293                $link = wp_get_attachment_url($attachment->ID); 
    22482294                $thumbnail_link = wp_get_attachment_thumb_url($attachment->ID); 
    22492295 
    22502296                $attachment_struct = array( 
    2251                         'date_created_gmt'              => new IXR_Date($attachment_date_gmt), 
     2297                        'date_created_gmt'              => $attachment_date_gmt, 
    22522298                        'parent'                                => $attachment->post_parent, 
    22532299                        'link'                                  => $link, 
    22542300                        'thumbnail'                             => $thumbnail_link, 
     
    25032549 
    25042550                $struct = array( 
    25052551                        'userid'    => $post_data['post_author'], 
    2506                         'dateCreated' => new IXR_Date(mysql2date('Ymd\TH:i:s', $post_data['post_date'], false)), 
     2552                        'dateCreated' => $this->_convert_date( $post_data['post_date'] ), 
    25072553                        'content'     => $content, 
    25082554                        'postid'  => (string) $post_data['ID'] 
    25092555                ); 
     
    25482594                        if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
    25492595                                continue; 
    25502596 
    2551                         $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
     2597                        $post_date  = $this->_convert_date( $entry['post_date'] ); 
    25522598                        $categories = implode(',', wp_get_post_categories($entry['ID'])); 
    25532599 
    25542600                        $content  = '<title>'.stripslashes($entry['post_title']).'</title>'; 
     
    25572603 
    25582604                        $struct[] = array( 
    25592605                                'userid' => $entry['post_author'], 
    2560                                 'dateCreated' => new IXR_Date($post_date), 
     2606                                'dateCreated' => $post_date, 
    25612607                                'content' => $content, 
    25622608                                'postid' => (string) $entry['ID'], 
    25632609                        ); 
     
    28162862         *  - wp_page_parent_id 
    28172863         *  - wp_page_order 
    28182864         *  - wp_author_id 
     2865         *  - wp_featured_image 
    28192866         *  - post_status | page_status - can be 'draft', 'private', 'publish', or 'pending' 
    28202867         *  - mt_allow_comments - can be 'open' or 'closed' 
    28212868         *  - mt_allow_pings - can be 'open' or 'closed' 
     
    30673114                if ( isset($content_struct['custom_fields']) ) 
    30683115                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    30693116 
     3117                if ( isset ( $post_data['wp_featured_image'] ) ) { 
     3118                        if( current_theme_supports( 'post-thumbnails' ) && ! empty( $post_data['wp_featured_image'] ) ) { 
     3119                                if ( set_post_thumbnail( $post_ID, $post_data['wp_featured_image'] ) === false ) 
     3120                                        return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); 
     3121 
     3122                                unset( $content_struct['wp_featured_image'] ); 
     3123                        } 
     3124                        else { 
     3125                                return new IXR_Error( 401, __( 'Sorry, you are not able to set a post thumbnail.' ) ); 
     3126                        } 
     3127                } 
     3128 
    30703129                // Handle enclosures 
    30713130                $thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null; 
    30723131                $this->add_enclosure_if_new($post_ID, $thisEnclosure); 
     
    33653424                if ( isset($content_struct['custom_fields']) ) 
    33663425                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    33673426 
     3427                if ( isset ( $post_data['wp_featured_image'] ) ) { 
     3428                        if( current_theme_supports( 'post-thumbnails' ) ) { 
     3429                                // empty value deletes, non-empty value adds/updates 
     3430                                if ( empty( $post_data['wp_featured_image'] ) ) { 
     3431                                        delete_post_thumbnail( $post_ID ); 
     3432                                } 
     3433                                else { 
     3434                                        if ( set_post_thumbnail( $post_ID, $post_data['wp_featured_image'] ) === false ) 
     3435                                                return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); 
     3436                                } 
     3437                                unset( $content_struct['wp_featured_image'] ); 
     3438                        } 
     3439                        else { 
     3440                                return new IXR_Error( 401, __( 'Sorry, you are not able to set a post thumbnail.' ) ); 
     3441                        } 
     3442                } 
     3443 
    33683444                // Handle enclosures 
    33693445                $thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null; 
    33703446                $this->add_enclosure_if_new($post_ID, $thisEnclosure); 
     
    34063482                $postdata = wp_get_single_post($post_ID, ARRAY_A); 
    34073483 
    34083484                if ($postdata['post_date'] != '') { 
    3409                         $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date'], false); 
    3410                         $post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt'], false); 
    3411                         $post_modified = mysql2date('Ymd\TH:i:s', $postdata['post_modified'], false); 
    3412                         $post_modified_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_modified_gmt'], false); 
     3485                        $post_date = $this->_convert_date( $postdata['post_date'] ); 
     3486                        $post_date_gmt = $this->_convert_date( $postdata['post_date_gmt'] ); 
     3487                        $post_modified = $this->_convert_date( $postdata['post_modified'] ); 
     3488                        $post_modified_gmt = $this->_convert_date( $postdata['post_modified_gmt'] ); 
    34133489 
    34143490                        // For drafts use the GMT version of the post date 
    34153491                        if ( $postdata['post_status'] == 'draft' ) { 
    3416                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $postdata['post_date'] ), 'Ymd\TH:i:s' ); 
    3417                                 $post_modified_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $postdata['post_modified'] ), 'Ymd\TH:i:s' ); 
     3492                                $post_date_gmt = $this->_convert_date_gmt( $postdata['post_date'] ); 
     3493                                $post_modified_gmt = $this->_convert_date_gmt( $postdata['post_modified'] ); 
    34183494                        } 
    34193495 
    34203496                        $categories = array(); 
     
    34683544                        } 
    34693545 
    34703546                        $resp = array( 
    3471                                 'dateCreated' => new IXR_Date($post_date), 
     3547                                'dateCreated' => $post_date, 
    34723548                                'userid' => $postdata['post_author'], 
    34733549                                'postid' => $postdata['ID'], 
    34743550                                'description' => $post['main'], 
     
    34863562                                'wp_slug' => $postdata['post_name'], 
    34873563                                'wp_password' => $postdata['post_password'], 
    34883564                                'wp_author_id' => (string) $author->ID, 
    3489                                 'wp_author_display_name'        => $author->display_name, 
    3490                                 'date_created_gmt' => new IXR_Date($post_date_gmt), 
     3565                                'wp_author_display_name' => $author->display_name, 
     3566                                'date_created_gmt' => $post_date_gmt, 
    34913567                                'post_status' => $postdata['post_status'], 
    34923568                                'custom_fields' => $this->get_custom_fields($post_ID), 
    34933569                                'wp_post_format' => $post_format, 
    34943570                                'sticky' => $sticky, 
    3495                                 'date_modified' => new IXR_Date( $post_modified ), 
    3496                                 'date_modified_gmt' => new IXR_Date( $post_modified_gmt ) 
     3571                                'date_modified' => $post_modified, 
     3572                                'date_modified_gmt' => $post_modified_gmt 
    34973573                        ); 
    34983574 
    34993575                        if ( !empty($enclosure) ) $resp['enclosure'] = $enclosure; 
    35003576 
     3577                        if( current_theme_supports( 'post-thumbnails' ) ) { 
     3578                                $resp['wp_featured_image'] = get_post_thumbnail_id( $postdata['ID'] ); 
     3579                        } 
     3580 
    35013581                        return $resp; 
    35023582                } else { 
    35033583                        return new IXR_Error(404, __('Sorry, no such post.')); 
     
    35383618                        if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
    35393619                                continue; 
    35403620 
    3541                         $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
    3542                         $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false); 
    3543                         $post_modified = mysql2date('Ymd\TH:i:s', $entry['post_modified'], false); 
    3544                         $post_modified_gmt = mysql2date('Ymd\TH:i:s', $entry['post_modified_gmt'], false); 
     3621                        $post_date = $this->_convert_date( $entry['post_date'] ); 
     3622                        $post_date_gmt = $this->_convert_date( $entry['post_date_gmt'] ); 
     3623                        $post_modified = $this->_convert_date( $entry['post_modified'] ); 
     3624                        $post_modified_gmt = $this->_convert_date( $entry['post_modified_gmt'] ); 
    35453625 
    35463626                        // For drafts use the GMT version of the date 
    35473627                        if ( $entry['post_status'] == 'draft' ) { 
    3548                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); 
    3549                                 $post_modified_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_modified'] ), 'Ymd\TH:i:s' ); 
     3628                                $post_date_gmt = $this->_convert_date_gmt( $entry['post_date'] ); 
     3629                                $post_modified_gmt = $this->_convert_date_gmt( $entry['post_modified'] ); 
    35503630                        } 
    35513631 
    35523632                        $categories = array(); 
     
    35843664                                $post_format = 'standard'; 
    35853665 
    35863666                        $struct[] = array( 
    3587                                 'dateCreated' => new IXR_Date($post_date), 
     3667                                'dateCreated' => $post_date, 
    35883668                                'userid' => $entry['post_author'], 
    35893669                                'postid' => (string) $entry['ID'], 
    35903670                                'description' => $post['main'], 
     
    36033683                                'wp_password' => $entry['post_password'], 
    36043684                                'wp_author_id' => (string) $author->ID, 
    36053685                                'wp_author_display_name' => $author->display_name, 
    3606                                 'date_created_gmt' => new IXR_Date($post_date_gmt), 
     3686                                'date_created_gmt' => $post_date_gmt, 
    36073687                                'post_status' => $entry['post_status'], 
    36083688                                'custom_fields' => $this->get_custom_fields($entry['ID']), 
    36093689                                'wp_post_format' => $post_format, 
    3610                                 'date_modified' => new IXR_Date( $post_modified ), 
    3611                                 'date_modified_gmt' => new IXR_Date( $post_modified_gmt ) 
     3690                                'date_modified' => $post_modified, 
     3691                                'date_modified_gmt' => $post_modified_gmt 
    36123692                        ); 
    36133693 
     3694                        $entry_index = count( $struct ) - 1; 
     3695                        if( current_theme_supports( 'post-thumbnails' ) ) { 
     3696                                $struct[ $entry_index ][ 'wp_featured_image' ] = get_post_thumbnail_id( $entry['ID'] ); 
     3697                        } 
    36143698                } 
    36153699 
    36163700                $recent_posts = array(); 
     
    37833867                        if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
    37843868                                continue; 
    37853869 
    3786                         $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
    3787                         $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false); 
     3870                        $post_date = $this->_convert_date( $entry['post_date'] ); 
     3871                        $post_date_gmt = $this->_convert_date( $entry['post_date_gmt'] ); 
    37883872 
    37893873                        // For drafts use the GMT version of the date 
    3790                         if ( $entry['post_status'] == 'draft' ) 
    3791                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); 
     3874                        if ( in_array( $entry['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) 
     3875                                $post_date_gmt = $this->_convert_date_gmt( $entry['post_date'] ); 
    37923876 
    37933877                        $struct[] = array( 
    3794                                 'dateCreated' => new IXR_Date($post_date), 
     3878                                'dateCreated' => $post_date, 
    37953879                                'userid' => $entry['post_author'], 
    37963880                                'postid' => (string) $entry['ID'], 
    37973881                                'title' => $entry['post_title'], 
    37983882                                'post_status' => $entry['post_status'], 
    3799                                 'date_created_gmt' => new IXR_Date($post_date_gmt) 
     3883                                'date_created_gmt' => $post_date_gmt 
    38003884                        ); 
    38013885 
    38023886                }