WordPress.org

Make WordPress Core

Ticket #18431: wp.deletePost.2.patch

File wp.deletePost.2.patch, 2.2 KB (added by nprasath002, 6 years ago)
  • class-wp-xmlrpc-server.php

    # This patch file was generated by NetBeans IDE
    # Following Index: paths are relative to: C:\xampp\htdocs\wordtrunk\wp-includes
    # This patch can be applied using context Tools: Patch action on respective folder.
    # It uses platform neutral UTF-8 encoding and \n newlines.
    # Above lines and this line are ignored by the patching process.
     
    6464                        'wp.getMediaItem'               => 'this:wp_getMediaItem',
    6565                        'wp.getMediaLibrary'    => 'this:wp_getMediaLibrary',
    6666                        'wp.getPostFormats'     => 'this:wp_getPostFormats',
     67                        'wp.deletePost'         => 'this:wp_deletePost',
    6768
    6869                        // Blogger API
    6970                        'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs',
     
    17111712                return $formats;
    17121713        }
    17131714
     1715        /**
     1716         * Delete a  post
     1717         *
     1718         * @uses wp_delete_post()
     1719         * @param array $args Method parameters. Contains:
     1720         *  - int     $post_id
     1721         *  - string  $username
     1722         *  - string  $password
     1723         * @return array post_ids
     1724         */
     1725        function wp_deletePost( $args ) {
     1726
     1727                $this->escape( $args );
     1728
     1729                $post_ID    = (int)$args[0];
     1730                $username   = $args[1];
     1731                $password   = $args[2];
     1732
     1733                if ( ! $user = $this->login( $username, $password ) )
     1734                        return $this->error;
     1735
     1736                do_action('xmlrpc_call', 'wp.deletePost');
     1737
     1738                $post = wp_get_single_post( $post_ID, ARRAY_A );
     1739                if ( empty( $post['ID'] ) )
     1740                        return new IXR_Error( 404, __( 'Invalid post ID.' ) );
     1741
     1742                $post_type = get_post_type_object( $post['post_type'] );
     1743                if( ! current_user_can( $post_type->cap->delete_post, $post_ID ) )
     1744                        return new IXR_Error( 401, __( 'Sorry, you are not allowed to delete this post.' ));
     1745
     1746                $result = wp_delete_post( $post_ID );
     1747
     1748                if ( !$result )
     1749                        return new IXR_Error(500, __('The post cannot be deleted.'));
     1750
     1751                return true;
     1752
     1753        }
     1754
    17141755        /* Blogger API functions.
    17151756         * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/
    17161757         */