Make WordPress Core

Ticket #18426: wp.deleteUser.3.patch

File wp.deleteUser.3.patch, 2.8 KB (added by nprasath002, 13 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.deleteUser'                 => 'this:wp_deleteUser',
    6768
    6869                        // Blogger API
    6970                        'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs',
     
    17021703                return $formats;
    17031704        }
    17041705
     1706        /**
     1707         * Delete a user
     1708         *
     1709         * @uses wp_delete_user()
     1710         * @param array $args Method parameters. Contains:
     1711         *  - int     $blog_id
     1712         *  - string  $username
     1713         *  - string  $password
     1714         *  - int     $user_id
     1715         * @return True when user is deleted.
     1716         */
     1717        function wp_deleteUser($args) {
     1718                $this->escape($args);
     1719
     1720                $blog_id = (int) $args[0];
     1721                $username = $args[1];
     1722                $password = $args[2];
     1723                $user_id = (int) $args[3];
     1724
     1725                if (!$user = $this->login($username, $password))
     1726                        return $this->error;
     1727
     1728                do_action('xmlrpc_call', 'wp.deleteUser');
     1729
     1730                if (!current_user_can('delete_users'))
     1731                        return new IXR_Error(401, __('You are not allowed to delete users.'));
     1732
     1733                if (!get_userdata($user_id))
     1734                        return new IXR_Error(404, __('Invalid user ID.'));
     1735
     1736                if ($user->ID == $user_id)
     1737                        return new IXR_Error(401, __('You cannot delete yourself.'));
     1738
     1739                if (isset($args[4])) {
     1740                        $reassign_id = (int) $args[4];
     1741                        if (!get_userdata($user_id))
     1742                                return new IXR_Error(404, __('Invalid reassign user ID.'));
     1743                        if($reassign_id == $user_id)
     1744                                return new IXR_Error(404, __('Cannot reassign for a deleting user.'));
     1745                } else {
     1746                        $reassign_id = 'novalue';
     1747                }
     1748
     1749                $result = wp_delete_user($user_id, $reassign_id);
     1750
     1751                if (!$result)
     1752                        return new IXR_Error(500, __('Cannot delete user.'));
     1753
     1754                return true;
     1755        }
     1756
    17051757        /* Blogger API functions.
    17061758         * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/
    17071759         */