WordPress.org

Make WordPress Core

Ticket #15405: XMLRPCpostformats.2.diff

File XMLRPCpostformats.2.diff, 3.5 KB (added by ericmann, 8 years ago)

Fixed an error with the output of wp.getPostFormats

  • class-wp-xmlrpc-server.php

     
    6363                        'wp.getCommentStatusList' => 'this:wp_getCommentStatusList',
    6464                        'wp.getMediaItem'               => 'this:wp_getMediaItem',
    6565                        'wp.getMediaLibrary'    => 'this:wp_getMediaLibrary',
     66                        'wp.getPostFormats'             => 'this:wp_getPostFormats',
    6667
    6768                        // Blogger API
    6869                        'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs',
     
    16021603                return $attachments_struct;
    16031604        }
    16041605
     1606        /**
     1607         * Retrives a list of post formats used by the site
     1608         *
     1609         * @since 3.1.0
     1610         *
     1611         * @param array $args Method parameters. Contains:
     1612         *  - blog_id
     1613         *  - username
     1614         *  - password
     1615         * @return array
     1616         */
     1617         function wp_getPostFormats($args) {
     1618                $this->escape($args);
     1619               
     1620                $blog_ID = (int) $args[0];      // we will support this in the near future
     1621                $username = $args[1];
     1622                $password = $args[2];
     1623               
     1624                if ( !$user = $this->login($username, $password) )
     1625                        return $this->error;
     1626                       
     1627                do_action('xmlrpc_call', 'wp.getPostFormats');
     1628               
     1629                $strings = get_post_format_strings();
     1630               
     1631                return $strings;
     1632         }
     1633
    16051634        /* Blogger API functions.
    16061635         * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/
    16071636         */
     
    22662301                $this->add_enclosure_if_new($post_ID, $content_struct['enclosure']);
    22672302
    22682303                $this->attach_uploads( $post_ID, $post_content );
     2304               
     2305                // Handle post formats if assigned
     2306                if ( isset($content_struct["wp_post_format"]) ) {
     2307                        $format = sanitize_key( $content_struct["wp_post_format"] );
     2308                        wp_set_post_terms( $post_ID, array('post-format-' . $format), 'post_format' );
     2309                }
    22692310
    22702311                logIO('O', "Posted ! ID: $post_ID");
    22712312
     
    25522593                $this->add_enclosure_if_new($post_ID, $content_struct['enclosure']);
    25532594
    25542595                $this->attach_uploads( $ID, $post_content );
     2596               
     2597                // Handle post formats if assigned
     2598                if ( isset($content_struct["wp_post_format"]) ) {
     2599                        $format = sanitize_key( $content_struct["wp_post_format"] );
     2600                        wp_set_post_terms( $post_ID, array('post-format-' . $format), 'post_format' );
     2601                }
    25552602
    25562603                logIO('O',"(MW) Edited ! ID: $post_ID");
    25572604
     
    26192666                        // Consider future posts as published
    26202667                        if ( $postdata['post_status'] === 'future' )
    26212668                                $postdata['post_status'] = 'publish';
     2669                               
     2670                        // Get post format
     2671                        $post_format = get_post_format( $post_ID );
    26222672
    26232673                        $sticky = false;
    26242674                        if ( is_sticky( $post_ID ) )
     
    26602710                                'date_created_gmt' => new IXR_Date($post_date_gmt),
    26612711                                'post_status' => $postdata['post_status'],
    26622712                                'custom_fields' => $this->get_custom_fields($post_ID),
     2713                                'wp_post_format' => $post_format,
    26632714                                'sticky' => $sticky
    26642715                        );
    26652716
     
    27402791                        // Consider future posts as published
    27412792                        if ( $entry['post_status'] === 'future' )
    27422793                                $entry['post_status'] = 'publish';
     2794                               
     2795                        // Get post format
     2796                        $post_format = get_post_format( $entry['ID'] );
    27432797
    27442798                        $struct[] = array(
    27452799                                'dateCreated' => new IXR_Date($post_date),
     
    27632817                                'wp_author_display_name' => $author->display_name,
    27642818                                'date_created_gmt' => new IXR_Date($post_date_gmt),
    27652819                                'post_status' => $entry['post_status'],
    2766                                 'custom_fields' => $this->get_custom_fields($entry['ID'])
     2820                                'custom_fields' => $this->get_custom_fields($entry['ID']),
     2821                                'wp_post_format' => $post_format                               
    27672822                        );
    27682823
    27692824                }