WordPress.org

Make WordPress Core

Ticket #18426: wp.editUser.patch

File wp.editUser.patch, 143.1 KB (added by nprasath002, 3 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.
     
    11<?php 
     2 
    23/** 
    34 * XML-RPC protocol support for WordPress 
    45 * 
     
    3536        function __construct() { 
    3637                $this->methods = array( 
    3738                        // WordPress API 
    38                         'wp.getUsersBlogs'              => 'this:wp_getUsersBlogs', 
    39                         'wp.getPage'                    => 'this:wp_getPage', 
    40                         'wp.getPages'                   => 'this:wp_getPages', 
    41                         'wp.newPage'                    => 'this:wp_newPage', 
    42                         'wp.deletePage'                 => 'this:wp_deletePage', 
    43                         'wp.editPage'                   => 'this:wp_editPage', 
    44                         'wp.getPageList'                => 'this:wp_getPageList', 
    45                         'wp.getAuthors'                 => 'this:wp_getAuthors', 
    46                         'wp.getCategories'              => 'this:mw_getCategories',             // Alias 
    47                         'wp.getTags'                    => 'this:wp_getTags', 
    48                         'wp.newCategory'                => 'this:wp_newCategory', 
    49                         'wp.deleteCategory'             => 'this:wp_deleteCategory', 
    50                         'wp.suggestCategories'  => 'this:wp_suggestCategories', 
    51                         'wp.uploadFile'                 => 'this:mw_newMediaObject',    // Alias 
    52                         'wp.getCommentCount'    => 'this:wp_getCommentCount', 
    53                         'wp.getPostStatusList'  => 'this:wp_getPostStatusList', 
    54                         'wp.getPageStatusList'  => 'this:wp_getPageStatusList', 
    55                         'wp.getPageTemplates'   => 'this:wp_getPageTemplates', 
    56                         'wp.getOptions'                 => 'this:wp_getOptions', 
    57                         'wp.setOptions'                 => 'this:wp_setOptions', 
    58                         'wp.getComment'                 => 'this:wp_getComment', 
    59                         'wp.getComments'                => 'this:wp_getComments', 
    60                         'wp.deleteComment'              => 'this:wp_deleteComment', 
    61                         'wp.editComment'                => 'this:wp_editComment', 
    62                         'wp.newComment'                 => 'this:wp_newComment', 
     39                    'wp.getUsersBlogs' => 'this:wp_getUsersBlogs', 
     40                    'wp.getPage' => 'this:wp_getPage', 
     41                    'wp.getPages' => 'this:wp_getPages', 
     42                    'wp.newPage' => 'this:wp_newPage', 
     43                    'wp.deletePage' => 'this:wp_deletePage', 
     44                    'wp.editPage' => 'this:wp_editPage', 
     45                    'wp.getPageList' => 'this:wp_getPageList', 
     46                    'wp.getAuthors' => 'this:wp_getAuthors', 
     47                    'wp.getCategories' => 'this:mw_getCategories', // Alias 
     48                    'wp.getTags' => 'this:wp_getTags', 
     49                    'wp.newCategory' => 'this:wp_newCategory', 
     50                    'wp.deleteCategory' => 'this:wp_deleteCategory', 
     51                    'wp.suggestCategories' => 'this:wp_suggestCategories', 
     52                    'wp.uploadFile' => 'this:mw_newMediaObject', // Alias 
     53                    'wp.getCommentCount' => 'this:wp_getCommentCount', 
     54                    'wp.getPostStatusList' => 'this:wp_getPostStatusList', 
     55                    'wp.getPageStatusList' => 'this:wp_getPageStatusList', 
     56                    'wp.getPageTemplates' => 'this:wp_getPageTemplates', 
     57                    'wp.getOptions' => 'this:wp_getOptions', 
     58                    'wp.setOptions' => 'this:wp_setOptions', 
     59                    'wp.getComment' => 'this:wp_getComment', 
     60                    'wp.getComments' => 'this:wp_getComments', 
     61                    'wp.deleteComment' => 'this:wp_deleteComment', 
     62                    'wp.editComment' => 'this:wp_editComment', 
     63                    'wp.newComment' => 'this:wp_newComment', 
    6364                        'wp.getCommentStatusList' => 'this:wp_getCommentStatusList', 
    64                         'wp.getMediaItem'               => 'this:wp_getMediaItem', 
    65                         'wp.getMediaLibrary'    => 'this:wp_getMediaLibrary', 
    66                         'wp.getPostFormats'    => 'this:wp_getPostFormats', 
    67  
     65                    'wp.getMediaItem' => 'this:wp_getMediaItem', 
     66                    'wp.getMediaLibrary' => 'this:wp_getMediaLibrary', 
     67                    'wp.getPostFormats' => 'this:wp_getPostFormats', 
     68                    'wp.deleteUser' => 'this:wp_deleteUser', 
    6869                        // Blogger API 
    6970                        'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs', 
    7071                        'blogger.getUserInfo' => 'this:blogger_getUserInfo', 
     
    7576                        'blogger.newPost' => 'this:blogger_newPost', 
    7677                        'blogger.editPost' => 'this:blogger_editPost', 
    7778                        'blogger.deletePost' => 'this:blogger_deletePost', 
    78  
    7979                        // MetaWeblog API (with MT extensions to structs) 
    8080                        'metaWeblog.newPost' => 'this:mw_newPost', 
    8181                        'metaWeblog.editPost' => 'this:mw_editPost', 
     
    8383                        'metaWeblog.getRecentPosts' => 'this:mw_getRecentPosts', 
    8484                        'metaWeblog.getCategories' => 'this:mw_getCategories', 
    8585                        'metaWeblog.newMediaObject' => 'this:mw_newMediaObject', 
    86  
    8786                        // MetaWeblog API aliases for Blogger API 
    8887                        // see http://www.xmlrpc.com/stories/storyReader$2460 
    8988                        'metaWeblog.deletePost' => 'this:blogger_deletePost', 
    9089                        'metaWeblog.getTemplate' => 'this:blogger_getTemplate', 
    9190                        'metaWeblog.setTemplate' => 'this:blogger_setTemplate', 
    9291                        'metaWeblog.getUsersBlogs' => 'this:blogger_getUsersBlogs', 
    93  
    9492                        // MovableType API 
    9593                        'mt.getCategoryList' => 'this:mt_getCategoryList', 
    9694                        'mt.getRecentPostTitles' => 'this:mt_getRecentPostTitles', 
     
    10098                        'mt.supportedTextFilters' => 'this:mt_supportedTextFilters', 
    10199                        'mt.getTrackbackPings' => 'this:mt_getTrackbackPings', 
    102100                        'mt.publishPost' => 'this:mt_publishPost', 
    103  
    104101                        // PingBack 
    105102                        'pingback.ping' => 'this:pingback_ping', 
    106103                        'pingback.extensions.getPingbacks' => 'this:pingback_extensions_getPingbacks', 
    107  
    108104                        'demo.sayHello' => 'this:sayHello', 
    109105                        'demo.addTwoNumbers' => 'this:addTwoNumbers' 
    110106                ); 
    111107 
    112                 $this->initialise_blog_option_info( ); 
     108                $this->initialise_blog_option_info(); 
    113109                $this->methods = apply_filters('xmlrpc_methods', $this->methods); 
    114110        } 
    115111 
     
    155151         * @see wp_xmlrpc_server::login 
    156152         */ 
    157153        function login_pass_ok($user_login, $user_pass) { 
    158                 if ( !get_option( 'enable_xmlrpc' ) ) { 
    159                         $this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site. An admin user can enable them at %s'),  admin_url('options-writing.php') ) ); 
     154                if (!get_option('enable_xmlrpc')) { 
     155                        $this->error = new IXR_Error(405, sprintf(__('XML-RPC services are disabled on this site. An admin user can enable them at %s'), admin_url('options-writing.php'))); 
    160156                        return false; 
    161157                } 
    162158 
     
    177173         * @return mixed WP_User object if authentication passed, false otherwise 
    178174         */ 
    179175        function login($username, $password) { 
    180                 if ( !get_option( 'enable_xmlrpc' ) ) { 
    181                         $this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site. An admin user can enable them at %s'),  admin_url('options-writing.php') ) ); 
     176                if (!get_option('enable_xmlrpc')) { 
     177                        $this->error = new IXR_Error(405, sprintf(__('XML-RPC services are disabled on this site. An admin user can enable them at %s'), admin_url('options-writing.php'))); 
    182178                        return false; 
    183179                } 
    184180 
     
    189185                        return false; 
    190186                } 
    191187 
    192                 wp_set_current_user( $user->ID ); 
     188                wp_set_current_user($user->ID); 
    193189                return $user; 
    194190        } 
    195191 
     
    207203                if (!is_array($array)) { 
    208204                        return($wpdb->escape($array)); 
    209205                } else { 
    210                         foreach ( (array) $array as $k => $v ) { 
    211                                 if ( is_array($v) ) { 
     206                        foreach ((array) $array as $k => $v) { 
     207                                if (is_array($v)) { 
    212208                                        $this->escape($array[$k]); 
    213                                 } else if ( is_object($v) ) { 
     209                                } else if (is_object($v)) { 
    214210                                        //skip 
    215211                                } else { 
    216212                                        $array[$k] = $wpdb->escape($v); 
     
    232228 
    233229                $custom_fields = array(); 
    234230 
    235                 foreach ( (array) has_meta($post_id) as $meta ) { 
     231                foreach ((array) has_meta($post_id) as $meta) { 
    236232                        // Don't expose protected fields. 
    237                         if ( ! current_user_can( 'edit_post_meta', $post_id , $meta['meta_key'] ) ) 
     233                        if (!current_user_can('edit_post_meta', $post_id, $meta['meta_key'])) 
    238234                                continue; 
    239235 
    240236                        $custom_fields[] = array( 
    241                                 "id"    => $meta['meta_id'], 
    242                                 "key"  => $meta['meta_key'], 
     237                            "id" => $meta['meta_id'], 
     238                            "key" => $meta['meta_key'], 
    243239                                "value" => $meta['meta_value'] 
    244240                        ); 
    245241                } 
     
    258254        function set_custom_fields($post_id, $fields) { 
    259255                $post_id = (int) $post_id; 
    260256 
    261                 foreach ( (array) $fields as $meta ) { 
    262                         if ( isset($meta['id']) ) { 
     257                foreach ((array) $fields as $meta) { 
     258                        if (isset($meta['id'])) { 
    263259                                $meta['id'] = (int) $meta['id']; 
    264                                 $pmeta = get_metadata_by_mid( 'post', $meta['id'] ); 
    265                                 $meta['value'] = stripslashes_deep( $meta['value'] ); 
    266                                 if ( isset($meta['key']) ) { 
    267                                         $meta['key'] = stripslashes( $meta['key'] ); 
    268                                         if ( $meta['key'] != $pmeta->meta_key ) 
     260                                $pmeta = get_metadata_by_mid('post', $meta['id']); 
     261                                $meta['value'] = stripslashes_deep($meta['value']); 
     262                                if (isset($meta['key'])) { 
     263                                        $meta['key'] = stripslashes($meta['key']); 
     264                                        if ($meta['key'] != $pmeta->meta_key) 
    269265                                                continue; 
    270                                         if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) ) 
    271                                                 update_metadata_by_mid( 'post', $meta['id'], $meta['value'] ); 
    272                                 } elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) { 
    273                                         delete_metadata_by_mid( 'post', $meta['id'] ); 
     266                                        if (current_user_can('edit_post_meta', $post_id, $meta['key'])) 
     267                                                update_metadata_by_mid('post', $meta['id'], $meta['value']); 
     268                                } elseif (current_user_can('delete_post_meta', $post_id, $pmeta->meta_key)) { 
     269                                        delete_metadata_by_mid('post', $meta['id']); 
    274270                                } 
    275                         } elseif ( current_user_can( 'add_post_meta', $post_id, stripslashes( $meta['key'] ) ) ) { 
    276                                 add_post_meta( $post_id, $meta['key'], $meta['value'] ); 
     271                        } elseif (current_user_can('add_post_meta', $post_id, stripslashes($meta['key']))) { 
     272                                add_post_meta($post_id, $meta['key'], $meta['value']); 
    277273                        } 
    278274                } 
    279275        } 
     
    285281         * 
    286282         * @since 2.6.0 
    287283         */ 
    288         function initialise_blog_option_info( ) { 
     284        function initialise_blog_option_info() { 
    289285                global $wp_version; 
    290286 
    291287                $this->blog_options = array( 
    292288                        // Read only options 
    293                         'software_name'         => array( 
    294                                 'desc'                  => __( 'Software Name' ), 
    295                                 'readonly'              => true, 
    296                                 'value'                 => 'WordPress' 
     289                    'software_name' => array( 
     290                        'desc' => __('Software Name'), 
     291                        'readonly' => true, 
     292                        'value' => 'WordPress' 
    297293                        ), 
    298                         'software_version'      => array( 
    299                                 'desc'                  => __( 'Software Version' ), 
    300                                 'readonly'              => true, 
    301                                 'value'                 => $wp_version 
     294                    'software_version' => array( 
     295                        'desc' => __('Software Version'), 
     296                        'readonly' => true, 
     297                        'value' => $wp_version 
    302298                        ), 
    303                         'blog_url'                      => array( 
    304                                 'desc'                  => __( 'Site URL' ), 
    305                                 'readonly'              => true, 
    306                                 'option'                => 'siteurl' 
     299                    'blog_url' => array( 
     300                        'desc' => __('Site URL'), 
     301                        'readonly' => true, 
     302                        'option' => 'siteurl' 
    307303                        ), 
    308  
    309304                        // Updatable options 
    310                         'time_zone'                     => array( 
    311                                 'desc'                  => __( 'Time Zone' ), 
    312                                 'readonly'              => false, 
    313                                 'option'                => 'gmt_offset' 
     305                    'time_zone' => array( 
     306                        'desc' => __('Time Zone'), 
     307                        'readonly' => false, 
     308                        'option' => 'gmt_offset' 
    314309                        ), 
    315                         'blog_title'            => array( 
    316                                 'desc'                  => __( 'Site Title' ), 
    317                                 'readonly'              => false, 
    318                                 'option'                        => 'blogname' 
     310                    'blog_title' => array( 
     311                        'desc' => __('Site Title'), 
     312                        'readonly' => false, 
     313                        'option' => 'blogname' 
    319314                        ), 
    320                         'blog_tagline'          => array( 
    321                                 'desc'                  => __( 'Site Tagline' ), 
    322                                 'readonly'              => false, 
    323                                 'option'                => 'blogdescription' 
     315                    'blog_tagline' => array( 
     316                        'desc' => __('Site Tagline'), 
     317                        'readonly' => false, 
     318                        'option' => 'blogdescription' 
    324319                        ), 
    325                         'date_format'           => array( 
    326                                 'desc'                  => __( 'Date Format' ), 
    327                                 'readonly'              => false, 
    328                                 'option'                => 'date_format' 
     320                    'date_format' => array( 
     321                        'desc' => __('Date Format'), 
     322                        'readonly' => false, 
     323                        'option' => 'date_format' 
    329324                        ), 
    330                         'time_format'           => array( 
    331                                 'desc'                  => __( 'Time Format' ), 
    332                                 'readonly'              => false, 
    333                                 'option'                => 'time_format' 
     325                    'time_format' => array( 
     326                        'desc' => __('Time Format'), 
     327                        'readonly' => false, 
     328                        'option' => 'time_format' 
    334329                        ), 
    335                         'users_can_register'    => array( 
    336                                 'desc'                  => __( 'Allow new users to sign up' ), 
    337                                 'readonly'              => false, 
    338                                 'option'                => 'users_can_register' 
     330                    'users_can_register' => array( 
     331                        'desc' => __('Allow new users to sign up'), 
     332                        'readonly' => false, 
     333                        'option' => 'users_can_register' 
    339334                        ), 
    340                         'thumbnail_size_w'      => array( 
    341                                 'desc'                  => __( 'Thumbnail Width' ), 
    342                                 'readonly'              => false, 
    343                                 'option'                => 'thumbnail_size_w' 
     335                    'thumbnail_size_w' => array( 
     336                        'desc' => __('Thumbnail Width'), 
     337                        'readonly' => false, 
     338                        'option' => 'thumbnail_size_w' 
    344339                        ), 
    345                         'thumbnail_size_h'      => array( 
    346                                 'desc'                  => __( 'Thumbnail Height' ), 
    347                                 'readonly'              => false, 
    348                                 'option'                => 'thumbnail_size_h' 
     340                    'thumbnail_size_h' => array( 
     341                        'desc' => __('Thumbnail Height'), 
     342                        'readonly' => false, 
     343                        'option' => 'thumbnail_size_h' 
    349344                        ), 
    350                         'thumbnail_crop'        => array( 
    351                                 'desc'                  => __( 'Crop thumbnail to exact dimensions' ), 
    352                                 'readonly'              => false, 
    353                                 'option'                => 'thumbnail_crop' 
     345                    'thumbnail_crop' => array( 
     346                        'desc' => __('Crop thumbnail to exact dimensions'), 
     347                        'readonly' => false, 
     348                        'option' => 'thumbnail_crop' 
    354349                        ), 
    355                         'medium_size_w' => array( 
    356                                 'desc'                  => __( 'Medium size image width' ), 
    357                                 'readonly'              => false, 
    358                                 'option'                => 'medium_size_w' 
     350                    'medium_size_w' => array( 
     351                        'desc' => __('Medium size image width'), 
     352                        'readonly' => false, 
     353                        'option' => 'medium_size_w' 
    359354                        ), 
    360                         'medium_size_h' => array( 
    361                                 'desc'                  => __( 'Medium size image height' ), 
    362                                 'readonly'              => false, 
    363                                 'option'                => 'medium_size_h' 
     355                    'medium_size_h' => array( 
     356                        'desc' => __('Medium size image height'), 
     357                        'readonly' => false, 
     358                        'option' => 'medium_size_h' 
    364359                        ), 
    365                         'large_size_w'  => array( 
    366                                 'desc'                  => __( 'Large size image width' ), 
    367                                 'readonly'              => false, 
    368                                 'option'                => 'large_size_w' 
     360                    'large_size_w' => array( 
     361                        'desc' => __('Large size image width'), 
     362                        'readonly' => false, 
     363                        'option' => 'large_size_w' 
    369364                        ), 
    370                         'large_size_h'  => array( 
    371                                 'desc'                  => __( 'Large size image height' ), 
    372                                 'readonly'              => false, 
    373                                 'option'                => 'large_size_h' 
     365                    'large_size_h' => array( 
     366                        'desc' => __('Large size image height'), 
     367                        'readonly' => false, 
     368                        'option' => 'large_size_h' 
    374369                        ) 
    375370                ); 
    376371 
    377                 $this->blog_options = apply_filters( 'xmlrpc_blog_options', $this->blog_options ); 
     372                $this->blog_options = apply_filters('xmlrpc_blog_options', $this->blog_options); 
    378373        } 
    379374 
    380375        /** 
     
    392387         *  - 'blogName' 
    393388         *  - 'xmlrpc' - url of xmlrpc endpoint 
    394389         */ 
    395         function wp_getUsersBlogs( $args ) { 
     390        function wp_getUsersBlogs($args) { 
    396391                global $current_site; 
    397392                // If this isn't on WPMU then just use blogger_getUsersBlogs 
    398                 if ( !is_multisite() ) { 
    399                         array_unshift( $args, 1 ); 
    400                         return $this->blogger_getUsersBlogs( $args ); 
     393                if (!is_multisite()) { 
     394                        array_unshift($args, 1); 
     395                        return $this->blogger_getUsersBlogs($args); 
    401396                } 
    402397 
    403                 $this->escape( $args ); 
     398                $this->escape($args); 
    404399 
    405400                $username = $args[0]; 
    406401                $password = $args[1]; 
    407402 
    408                 if ( !$user = $this->login($username, $password) ) 
     403                if (!$user = $this->login($username, $password)) 
    409404                        return $this->error; 
    410405 
    411406 
    412                 do_action( 'xmlrpc_call', 'wp.getUsersBlogs' ); 
     407                do_action('xmlrpc_call', 'wp.getUsersBlogs'); 
    413408 
    414                 $blogs = (array) get_blogs_of_user( $user->ID ); 
    415                 $struct = array( ); 
     409                $blogs = (array) get_blogs_of_user($user->ID); 
     410                $struct = array(); 
    416411 
    417                 foreach ( $blogs as $blog ) { 
     412                foreach ($blogs as $blog) { 
    418413                        // Don't include blogs that aren't hosted at this site 
    419                         if ( $blog->site_id != $current_site->id ) 
     414                        if ($blog->site_id != $current_site->id) 
    420415                                continue; 
    421416 
    422417                        $blog_id = $blog->userblog_id; 
     
    424419                        $is_admin = current_user_can('manage_options'); 
    425420 
    426421                        $struct[] = array( 
    427                                 'isAdmin'               => $is_admin, 
    428                                 'url'                   => get_option( 'home' ) . '/', 
    429                                 'blogid'                => (string) $blog_id, 
    430                                 'blogName'              => get_option( 'blogname' ), 
    431                                 'xmlrpc'                => site_url( 'xmlrpc.php' ) 
     422                            'isAdmin' => $is_admin, 
     423                            'url' => get_option('home') . '/', 
     424                            'blogid' => (string) $blog_id, 
     425                            'blogName' => get_option('blogname'), 
     426                            'xmlrpc' => site_url('xmlrpc.php') 
    432427                        ); 
    433428 
    434                         restore_current_blog( ); 
     429                        restore_current_blog(); 
    435430                } 
    436431 
    437432                return $struct; 
     
    452447        function wp_getPage($args) { 
    453448                $this->escape($args); 
    454449 
    455                 $blog_id        = (int) $args[0]; 
    456                 $page_id        = (int) $args[1]; 
    457                 $username       = $args[2]; 
    458                 $password       = $args[3]; 
     450                $blog_id = (int) $args[0]; 
     451                $page_id = (int) $args[1]; 
     452                $username = $args[2]; 
     453                $password = $args[3]; 
    459454 
    460                 if ( !$user = $this->login($username, $password) ) { 
     455                if (!$user = $this->login($username, $password)) { 
    461456                        return $this->error; 
    462457                } 
    463458 
    464                 if ( !current_user_can( 'edit_page', $page_id ) ) 
    465                         return new IXR_Error( 401, __( 'Sorry, you cannot edit this page.' ) ); 
     459                if (!current_user_can('edit_page', $page_id)) 
     460                        return new IXR_Error(401, __('Sorry, you cannot edit this page.')); 
    466461 
    467462                do_action('xmlrpc_call', 'wp.getPage'); 
    468463 
     
    470465                $page = get_page($page_id); 
    471466 
    472467                // If we found the page then format the data. 
    473                 if ( $page->ID && ($page->post_type == 'page') ) { 
     468                if ($page->ID && ($page->post_type == 'page')) { 
    474469                        // Get all of the page content and link. 
    475470                        $full_page = get_extended($page->post_content); 
    476471                        $link = post_permalink($page->ID); 
    477472 
    478473                        // Get info the page parent if there is one. 
    479474                        $parent_title = ""; 
    480                         if ( !empty($page->post_parent) ) { 
     475                        if (!empty($page->post_parent)) { 
    481476                                $parent = get_page($page->post_parent); 
    482477                                $parent_title = $parent->post_title; 
    483478                        } 
     
    491486                        $page_date_gmt = mysql2date('Ymd\TH:i:s', $page->post_date_gmt, false); 
    492487 
    493488                        // For drafts use the GMT version of the date 
    494                         if ( $page->post_status == 'draft' ) 
    495                                 $page_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page->post_date ), 'Ymd\TH:i:s' ); 
     489                        if ($page->post_status == 'draft') 
     490                                $page_date_gmt = get_gmt_from_date(mysql2date('Y-m-d H:i:s', $page->post_date), 'Ymd\TH:i:s'); 
    496491 
    497492                        // Pull the categories info together. 
    498493                        $categories = array(); 
    499                         foreach ( wp_get_post_categories($page->ID) as $cat_id ) { 
     494                        foreach (wp_get_post_categories($page->ID) as $cat_id) { 
    500495                                $categories[] = get_cat_name($cat_id); 
    501496                        } 
    502497 
    503498                        // Get the author info. 
    504499                        $author = get_userdata($page->post_author); 
    505500 
    506                         $page_template = get_post_meta( $page->ID, '_wp_page_template', true ); 
    507                         if ( empty( $page_template ) ) 
     501                        $page_template = get_post_meta($page->ID, '_wp_page_template', true); 
     502                        if (empty($page_template)) 
    508503                                $page_template = 'default'; 
    509504 
    510505                        $page_struct = array( 
    511                                 'dateCreated'                   => new IXR_Date($page_date), 
    512                                 'userid'                                => $page->post_author, 
    513                                 'page_id'                               => $page->ID, 
    514                                 'page_status'                   => $page->post_status, 
    515                                 'description'                   => $full_page['main'], 
    516                                 'title'                                 => $page->post_title, 
    517                                 'link'                                  => $link, 
    518                                 'permaLink'                             => $link, 
    519                                 'categories'                    => $categories, 
    520                                 'excerpt'                               => $page->post_excerpt, 
    521                                 'text_more'                             => $full_page['extended'], 
    522                                 'mt_allow_comments'             => $allow_comments, 
    523                                 'mt_allow_pings'                => $allow_pings, 
    524                                 'wp_slug'                               => $page->post_name, 
    525                                 'wp_password'                   => $page->post_password, 
    526                                 'wp_author'                             => $author->display_name, 
    527                                 'wp_page_parent_id'             => $page->post_parent, 
    528                                 'wp_page_parent_title'  => $parent_title, 
    529                                 'wp_page_order'                 => $page->menu_order, 
    530                                 'wp_author_id'                  => (string) $author->ID, 
    531                                 'wp_author_display_name'        => $author->display_name, 
    532                                 'date_created_gmt'              => new IXR_Date($page_date_gmt), 
    533                                 'custom_fields'                 => $this->get_custom_fields($page_id), 
    534                                 'wp_page_template'              => $page_template 
     506                            'dateCreated' => new IXR_Date($page_date), 
     507                            'userid' => $page->post_author, 
     508                            'page_id' => $page->ID, 
     509                            'page_status' => $page->post_status, 
     510                            'description' => $full_page['main'], 
     511                            'title' => $page->post_title, 
     512                            'link' => $link, 
     513                            'permaLink' => $link, 
     514                            'categories' => $categories, 
     515                            'excerpt' => $page->post_excerpt, 
     516                            'text_more' => $full_page['extended'], 
     517                            'mt_allow_comments' => $allow_comments, 
     518                            'mt_allow_pings' => $allow_pings, 
     519                            'wp_slug' => $page->post_name, 
     520                            'wp_password' => $page->post_password, 
     521                            'wp_author' => $author->display_name, 
     522                            'wp_page_parent_id' => $page->post_parent, 
     523                            'wp_page_parent_title' => $parent_title, 
     524                            'wp_page_order' => $page->menu_order, 
     525                            'wp_author_id' => (string) $author->ID, 
     526                            'wp_author_display_name' => $author->display_name, 
     527                            'date_created_gmt' => new IXR_Date($page_date_gmt), 
     528                            'custom_fields' => $this->get_custom_fields($page_id), 
     529                            'wp_page_template' => $page_template 
    535530                        ); 
    536531 
    537532                        return($page_struct); 
     
    557552        function wp_getPages($args) { 
    558553                $this->escape($args); 
    559554 
    560                 $blog_id        = (int) $args[0]; 
    561                 $username       = $args[1]; 
    562                 $password       = $args[2]; 
    563                 $num_pages      = isset($args[3]) ? (int) $args[3] : 10; 
     555                $blog_id = (int) $args[0]; 
     556                $username = $args[1]; 
     557                $password = $args[2]; 
     558                $num_pages = isset($args[3]) ? (int) $args[3] : 10; 
    564559 
    565                 if ( !$user = $this->login($username, $password) ) 
     560                if (!$user = $this->login($username, $password)) 
    566561                        return $this->error; 
    567562 
    568                 if ( !current_user_can( 'edit_pages' ) ) 
    569                         return new IXR_Error( 401, __( 'Sorry, you cannot edit pages.' ) ); 
     563                if (!current_user_can('edit_pages')) 
     564                        return new IXR_Error(401, __('Sorry, you cannot edit pages.')); 
    570565 
    571566                do_action('xmlrpc_call', 'wp.getPages'); 
    572567 
    573                 $pages = get_posts( array('post_type' => 'page', 'post_status' => 'any', 'numberposts' => $num_pages) ); 
     568                $pages = get_posts(array('post_type' => 'page', 'post_status' => 'any', 'numberposts' => $num_pages)); 
    574569                $num_pages = count($pages); 
    575570 
    576571                // If we have pages, put together their info. 
    577                 if ( $num_pages >= 1 ) { 
     572                if ($num_pages >= 1) { 
    578573                        $pages_struct = array(); 
    579574 
    580                         for ( $i = 0; $i < $num_pages; $i++ ) { 
     575                        for ($i = 0; $i < $num_pages; $i++) { 
    581576                                $page = wp_xmlrpc_server::wp_getPage(array( 
    582577                                        $blog_id, $pages[$i]->ID, $username, $password 
    583578                                )); 
     
    602597         */ 
    603598        function wp_newPage($args) { 
    604599                // Items not escaped here will be escaped in newPost. 
    605                 $username       = $this->escape($args[1]); 
    606                 $password       = $this->escape($args[2]); 
    607                 $page           = $args[3]; 
    608                 $publish        = $args[4]; 
     600                $username = $this->escape($args[1]); 
     601                $password = $this->escape($args[2]); 
     602                $page = $args[3]; 
     603                $publish = $args[4]; 
    609604 
    610                 if ( !$user = $this->login($username, $password) ) 
     605                if (!$user = $this->login($username, $password)) 
    611606                        return $this->error; 
    612607 
    613608                do_action('xmlrpc_call', 'wp.newPage'); 
    614609 
    615610                // Make sure the user is allowed to add new pages. 
    616                 if ( !current_user_can('publish_pages') ) 
     611                if (!current_user_can('publish_pages')) 
    617612                        return(new IXR_Error(401, __('Sorry, you cannot add new pages.'))); 
    618613 
    619614                // Mark this as content for a page. 
     
    634629        function wp_deletePage($args) { 
    635630                $this->escape($args); 
    636631 
    637                 $blog_id        = (int) $args[0]; 
    638                 $username       = $args[1]; 
    639                 $password       = $args[2]; 
    640                 $page_id        = (int) $args[3]; 
     632                $blog_id = (int) $args[0]; 
     633                $username = $args[1]; 
     634                $password = $args[2]; 
     635                $page_id = (int) $args[3]; 
    641636 
    642                 if ( !$user = $this->login($username, $password) ) 
     637                if (!$user = $this->login($username, $password)) 
    643638                        return $this->error; 
    644639 
    645640                do_action('xmlrpc_call', 'wp.deletePage'); 
     
    647642                // Get the current page based on the page_id and 
    648643                // make sure it is a page and not a post. 
    649644                $actual_page = wp_get_single_post($page_id, ARRAY_A); 
    650                 if ( !$actual_page || ($actual_page['post_type'] != 'page') ) 
     645                if (!$actual_page || ($actual_page['post_type'] != 'page')) 
    651646                        return(new IXR_Error(404, __('Sorry, no such page.'))); 
    652647 
    653648                // Make sure the user can delete pages. 
    654                 if ( !current_user_can('delete_page', $page_id) ) 
     649                if (!current_user_can('delete_page', $page_id)) 
    655650                        return(new IXR_Error(401, __('Sorry, you do not have the right to delete this page.'))); 
    656651 
    657652                // Attempt to delete the page. 
    658653                $result = wp_delete_post($page_id); 
    659                 if ( !$result ) 
     654                if (!$result) 
    660655                        return(new IXR_Error(500, __('Failed to delete the page.'))); 
    661656 
    662657                return(true); 
     
    672667         */ 
    673668        function wp_editPage($args) { 
    674669                // Items not escaped here will be escaped in editPost. 
    675                 $blog_id        = (int) $args[0]; 
    676                 $page_id        = (int) $this->escape($args[1]); 
    677                 $username       = $this->escape($args[2]); 
    678                 $password       = $this->escape($args[3]); 
    679                 $content        = $args[4]; 
    680                 $publish        = $args[5]; 
     670                $blog_id = (int) $args[0]; 
     671                $page_id = (int) $this->escape($args[1]); 
     672                $username = $this->escape($args[2]); 
     673                $password = $this->escape($args[3]); 
     674                $content = $args[4]; 
     675                $publish = $args[5]; 
    681676 
    682                 if ( !$user = $this->login($username, $password) ) 
     677                if (!$user = $this->login($username, $password)) 
    683678                        return $this->error; 
    684679 
    685680                do_action('xmlrpc_call', 'wp.editPage'); 
    686681 
    687682                // Get the page data and make sure it is a page. 
    688683                $actual_page = wp_get_single_post($page_id, ARRAY_A); 
    689                 if ( !$actual_page || ($actual_page['post_type'] != 'page') ) 
     684                if (!$actual_page || ($actual_page['post_type'] != 'page')) 
    690685                        return(new IXR_Error(404, __('Sorry, no such page.'))); 
    691686 
    692687                // Make sure the user is allowed to edit pages. 
    693                 if ( !current_user_can('edit_page', $page_id) ) 
     688                if (!current_user_can('edit_page', $page_id)) 
    694689                        return(new IXR_Error(401, __('Sorry, you do not have the right to edit this page.'))); 
    695690 
    696691                // Mark this as content for a page. 
     
    722717 
    723718                $this->escape($args); 
    724719 
    725                 $blog_id                                = (int) $args[0]; 
    726                 $username                               = $args[1]; 
    727                 $password                               = $args[2]; 
     720                $blog_id = (int) $args[0]; 
     721                $username = $args[1]; 
     722                $password = $args[2]; 
    728723 
    729                 if ( !$user = $this->login($username, $password) ) 
     724                if (!$user = $this->login($username, $password)) 
    730725                        return $this->error; 
    731726 
    732                 if ( !current_user_can( 'edit_pages' ) ) 
    733                         return new IXR_Error( 401, __( 'Sorry, you cannot edit pages.' ) ); 
     727                if (!current_user_can('edit_pages')) 
     728                        return new IXR_Error(401, __('Sorry, you cannot edit pages.')); 
    734729 
    735730                do_action('xmlrpc_call', 'wp.getPageList'); 
    736731 
     
    749744 
    750745                // The date needs to be formatted properly. 
    751746                $num_pages = count($page_list); 
    752                 for ( $i = 0; $i < $num_pages; $i++ ) { 
     747                for ($i = 0; $i < $num_pages; $i++) { 
    753748                        $post_date = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date, false); 
    754749                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date_gmt, false); 
    755750 
     
    757752                        $page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt); 
    758753 
    759754                        // For drafts use the GMT version of the date 
    760                         if ( $page_list[$i]->post_status == 'draft' ) { 
    761                                 $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' ); 
    762                                 $page_list[$i]->date_created_gmt = new IXR_Date( $page_list[$i]->date_created_gmt ); 
     755                        if ($page_list[$i]->post_status == 'draft') { 
     756                                $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'); 
     757                                $page_list[$i]->date_created_gmt = new IXR_Date($page_list[$i]->date_created_gmt); 
    763758                        } 
    764759 
    765760                        unset($page_list[$i]->post_date_gmt); 
     
    782777 
    783778                $this->escape($args); 
    784779 
    785                 $blog_id        = (int) $args[0]; 
    786                 $username       = $args[1]; 
    787                 $password       = $args[2]; 
     780                $blog_id = (int) $args[0]; 
     781                $username = $args[1]; 
     782                $password = $args[2]; 
    788783 
    789                 if ( !$user = $this->login($username, $password) ) 
     784                if (!$user = $this->login($username, $password)) 
    790785                        return $this->error; 
    791786 
    792                 if ( !current_user_can('edit_posts') ) 
     787                if (!current_user_can('edit_posts')) 
    793788                        return(new IXR_Error(401, __('Sorry, you cannot edit posts on this site.'))); 
    794789 
    795790                do_action('xmlrpc_call', 'wp.getAuthors'); 
    796791 
    797792                $authors = array(); 
    798                 foreach ( get_users( array( 'fields' => array('ID','user_login','display_name') ) ) as $user ) { 
     793                foreach (get_users(array('fields' => array('ID', 'user_login', 'display_name'))) as $user) { 
    799794                        $authors[] = array( 
    800                                 'user_id'      => $user->ID, 
    801                                 'user_login'    => $user->user_login, 
    802                                 'display_name' => $user->display_name 
     795                            'user_id' => $user->ID, 
     796                            'user_login' => $user->user_login, 
     797                            'display_name' => $user->display_name 
    803798                        ); 
    804799                } 
    805800 
     
    814809         * @param array $args Method parameters. 
    815810         * @return array 
    816811         */ 
    817         function wp_getTags( $args ) { 
    818                 $this->escape( $args ); 
     812        function wp_getTags($args) { 
     813                $this->escape($args); 
    819814 
    820                 $blog_id                = (int) $args[0]; 
    821                 $username               = $args[1]; 
    822                 $password               = $args[2]; 
     815                $blog_id = (int) $args[0]; 
     816                $username = $args[1]; 
     817                $password = $args[2]; 
    823818 
    824                 if ( !$user = $this->login($username, $password) ) 
     819                if (!$user = $this->login($username, $password)) 
    825820                        return $this->error; 
    826821 
    827                 if ( !current_user_can( 'edit_posts' ) ) 
    828                         return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view tags.' ) ); 
     822                if (!current_user_can('edit_posts')) 
     823                        return new IXR_Error(401, __('Sorry, you must be able to edit posts on this site in order to view tags.')); 
    829824 
    830                 do_action( 'xmlrpc_call', 'wp.getKeywords' ); 
     825                do_action('xmlrpc_call', 'wp.getKeywords'); 
    831826 
    832                 $tags = array( ); 
     827                $tags = array(); 
    833828 
    834                 if ( $all_tags = get_tags() ) { 
    835                         foreach( (array) $all_tags as $tag ) { 
    836                                 $struct['tag_id']                       = $tag->term_id; 
    837                                 $struct['name']                         = $tag->name; 
    838                                 $struct['count']                        = $tag->count; 
    839                                 $struct['slug']                         = $tag->slug; 
    840                                 $struct['html_url']                     = esc_html( get_tag_link( $tag->term_id ) ); 
    841                                 $struct['rss_url']                      = esc_html( get_tag_feed_link( $tag->term_id ) ); 
     829                if ($all_tags = get_tags()) { 
     830                        foreach ((array) $all_tags as $tag) { 
     831                                $struct['tag_id'] = $tag->term_id; 
     832                                $struct['name'] = $tag->name; 
     833                                $struct['count'] = $tag->count; 
     834                                $struct['slug'] = $tag->slug; 
     835                                $struct['html_url'] = esc_html(get_tag_link($tag->term_id)); 
     836                                $struct['rss_url'] = esc_html(get_tag_feed_link($tag->term_id)); 
    842837 
    843838                                $tags[] = $struct; 
    844839                        } 
     
    858853        function wp_newCategory($args) { 
    859854                $this->escape($args); 
    860855 
    861                 $blog_id                                = (int) $args[0]; 
    862                 $username                               = $args[1]; 
    863                 $password                               = $args[2]; 
    864                 $category                               = $args[3]; 
     856                $blog_id = (int) $args[0]; 
     857                $username = $args[1]; 
     858                $password = $args[2]; 
     859                $category = $args[3]; 
    865860 
    866                 if ( !$user = $this->login($username, $password) ) 
     861                if (!$user = $this->login($username, $password)) 
    867862                        return $this->error; 
    868863 
    869864                do_action('xmlrpc_call', 'wp.newCategory'); 
    870865 
    871866                // Make sure the user is allowed to add a category. 
    872                 if ( !current_user_can('manage_categories') ) 
     867                if (!current_user_can('manage_categories')) 
    873868                        return(new IXR_Error(401, __('Sorry, you do not have the right to add a category.'))); 
    874869 
    875870                // If no slug was provided make it empty so that 
    876871                // WordPress will generate one. 
    877                 if ( empty($category['slug']) ) 
     872                if (empty($category['slug'])) 
    878873                        $category['slug'] = ''; 
    879874 
    880875                // If no parent_id was provided make it empty 
    881876                // so that it will be a top level page (no parent). 
    882                 if ( !isset($category['parent_id']) ) 
     877                if (!isset($category['parent_id'])) 
    883878                        $category['parent_id'] = ''; 
    884879 
    885880                // If no description was provided make it empty. 
    886                 if ( empty($category["description"]) ) 
     881                if (empty($category["description"])) 
    887882                        $category["description"] = ""; 
    888883 
    889884                $new_category = array( 
    890                         'cat_name'                              => $category['name'], 
    891                         'category_nicename'             => $category['slug'], 
    892                         'category_parent'               => $category['parent_id'], 
    893                         'category_description'  => $category['description'] 
     885                    'cat_name' => $category['name'], 
     886                    'category_nicename' => $category['slug'], 
     887                    'category_parent' => $category['parent_id'], 
     888                    'category_description' => $category['description'] 
    894889                ); 
    895890 
    896891                $cat_id = wp_insert_category($new_category, true); 
    897                 if ( is_wp_error( $cat_id ) ) { 
    898                         if ( 'term_exists' == $cat_id->get_error_code() ) 
     892                if (is_wp_error($cat_id)) { 
     893                        if ('term_exists' == $cat_id->get_error_code()) 
    899894                                return (int) $cat_id->get_error_data(); 
    900895                        else 
    901896                                return(new IXR_Error(500, __('Sorry, the new category failed.'))); 
    902                 } elseif ( ! $cat_id ) { 
     897                } elseif (!$cat_id) { 
    903898                        return(new IXR_Error(500, __('Sorry, the new category failed.'))); 
    904899                } 
    905900 
     
    917912        function wp_deleteCategory($args) { 
    918913                $this->escape($args); 
    919914 
    920                 $blog_id                = (int) $args[0]; 
    921                 $username               = $args[1]; 
    922                 $password               = $args[2]; 
    923                 $category_id    = (int) $args[3]; 
     915                $blog_id = (int) $args[0]; 
     916                $username = $args[1]; 
     917                $password = $args[2]; 
     918                $category_id = (int) $args[3]; 
    924919 
    925                 if ( !$user = $this->login($username, $password) ) 
     920                if (!$user = $this->login($username, $password)) 
    926921                        return $this->error; 
    927922 
    928923                do_action('xmlrpc_call', 'wp.deleteCategory'); 
    929924 
    930                 if ( !current_user_can('manage_categories') ) 
    931                         return new IXR_Error( 401, __( 'Sorry, you do not have the right to delete a category.' ) ); 
     925                if (!current_user_can('manage_categories')) 
     926                        return new IXR_Error(401, __('Sorry, you do not have the right to delete a category.')); 
    932927 
    933                 return wp_delete_term( $category_id, 'category' ); 
     928                return wp_delete_term($category_id, 'category'); 
    934929        } 
    935930 
    936931        /** 
     
    944939        function wp_suggestCategories($args) { 
    945940                $this->escape($args); 
    946941 
    947                 $blog_id                                = (int) $args[0]; 
    948                 $username                               = $args[1]; 
    949                 $password                               = $args[2]; 
    950                 $category                               = $args[3]; 
    951                 $max_results                    = (int) $args[4]; 
     942                $blog_id = (int) $args[0]; 
     943                $username = $args[1]; 
     944                $password = $args[2]; 
     945                $category = $args[3]; 
     946                $max_results = (int) $args[4]; 
    952947 
    953                 if ( !$user = $this->login($username, $password) ) 
     948                if (!$user = $this->login($username, $password)) 
    954949                        return $this->error; 
    955950 
    956                 if ( !current_user_can( 'edit_posts' ) ) 
    957                         return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts to this site in order to view categories.' ) ); 
     951                if (!current_user_can('edit_posts')) 
     952                        return new IXR_Error(401, __('Sorry, you must be able to edit posts to this site in order to view categories.')); 
    958953 
    959954                do_action('xmlrpc_call', 'wp.suggestCategories'); 
    960955 
    961956                $category_suggestions = array(); 
    962957                $args = array('get' => 'all', 'number' => $max_results, 'name__like' => $category); 
    963                 foreach ( (array) get_categories($args) as $cat ) { 
     958                foreach ((array) get_categories($args) as $cat) { 
    964959                        $category_suggestions[] = array( 
    965                                 'category_id'   => $cat->term_id, 
    966                                 'category_name' => $cat->name 
     960                            'category_id' => $cat->term_id, 
     961                            'category_name' => $cat->name 
    967962                        ); 
    968963                } 
    969964 
     
    981976        function wp_getComment($args) { 
    982977                $this->escape($args); 
    983978 
    984                 $blog_id        = (int) $args[0]; 
    985                 $username       = $args[1]; 
    986                 $password       = $args[2]; 
    987                 $comment_id     = (int) $args[3]; 
     979                $blog_id = (int) $args[0]; 
     980                $username = $args[1]; 
     981                $password = $args[2]; 
     982                $comment_id = (int) $args[3]; 
    988983 
    989                 if ( !$user = $this->login($username, $password) ) 
     984                if (!$user = $this->login($username, $password)) 
    990985                        return $this->error; 
    991986 
    992                 if ( !current_user_can( 'moderate_comments' ) ) 
    993                         return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) ); 
     987                if (!current_user_can('moderate_comments')) 
     988                        return new IXR_Error(403, __('You are not allowed to moderate comments on this site.')); 
    994989 
    995990                do_action('xmlrpc_call', 'wp.getComment'); 
    996991 
    997                 if ( ! $comment = get_comment($comment_id) ) 
    998                         return new IXR_Error( 404, __( 'Invalid comment ID.' ) ); 
     992                if (!$comment = get_comment($comment_id)) 
     993                        return new IXR_Error(404, __('Invalid comment ID.')); 
    999994 
    1000995                // Format page date. 
    1001996                $comment_date = mysql2date('Ymd\TH:i:s', $comment->comment_date, false); 
    1002997                $comment_date_gmt = mysql2date('Ymd\TH:i:s', $comment->comment_date_gmt, false); 
    1003998 
    1004                 if ( '0' == $comment->comment_approved ) 
     999                if ('0' == $comment->comment_approved) 
    10051000                        $comment_status = 'hold'; 
    1006                 else if ( 'spam' == $comment->comment_approved ) 
     1001                else if ('spam' == $comment->comment_approved) 
    10071002                        $comment_status = 'spam'; 
    1008                 else if ( '1' == $comment->comment_approved ) 
     1003                else if ('1' == $comment->comment_approved) 
    10091004                        $comment_status = 'approve'; 
    10101005                else 
    10111006                        $comment_status = $comment->comment_approved; 
     
    10131008                $link = get_comment_link($comment); 
    10141009 
    10151010                $comment_struct = array( 
    1016                         'date_created_gmt'              => new IXR_Date($comment_date_gmt), 
    1017                         'user_id'                               => $comment->user_id, 
    1018                         'comment_id'                    => $comment->comment_ID, 
    1019                         'parent'                                => $comment->comment_parent, 
    1020                         'status'                                => $comment_status, 
    1021                         'content'                               => $comment->comment_content, 
    1022                         'link'                                  => $link, 
    1023                         'post_id'                               => $comment->comment_post_ID, 
    1024                         'post_title'                    => get_the_title($comment->comment_post_ID), 
    1025                         'author'                                => $comment->comment_author, 
    1026                         'author_url'                    => $comment->comment_author_url, 
    1027                         'author_email'                  => $comment->comment_author_email, 
    1028                         'author_ip'                             => $comment->comment_author_IP, 
    1029                         'type'                                  => $comment->comment_type, 
     1011                    'date_created_gmt' => new IXR_Date($comment_date_gmt), 
     1012                    'user_id' => $comment->user_id, 
     1013                    'comment_id' => $comment->comment_ID, 
     1014                    'parent' => $comment->comment_parent, 
     1015                    'status' => $comment_status, 
     1016                    'content' => $comment->comment_content, 
     1017                    'link' => $link, 
     1018                    'post_id' => $comment->comment_post_ID, 
     1019                    'post_title' => get_the_title($comment->comment_post_ID), 
     1020                    'author' => $comment->comment_author, 
     1021                    'author_url' => $comment->comment_author_url, 
     1022                    'author_email' => $comment->comment_author_email, 
     1023                    'author_ip' => $comment->comment_author_IP, 
     1024                    'type' => $comment->comment_type, 
    10301025                ); 
    10311026 
    10321027                return $comment_struct; 
     
    10551050                $raw_args = $args; 
    10561051                $this->escape($args); 
    10571052 
    1058                 $blog_id        = (int) $args[0]; 
    1059                 $username       = $args[1]; 
    1060                 $password       = $args[2]; 
    1061                 $struct         = $args[3]; 
     1053                $blog_id = (int) $args[0]; 
     1054                $username = $args[1]; 
     1055                $password = $args[2]; 
     1056                $struct = $args[3]; 
    10621057 
    1063                 if ( !$user = $this->login($username, $password) ) 
     1058                if (!$user = $this->login($username, $password)) 
    10641059                        return $this->error; 
    10651060 
    1066                 if ( !current_user_can( 'moderate_comments' ) ) 
    1067                         return new IXR_Error( 401, __( 'Sorry, you cannot edit comments.' ) ); 
     1061                if (!current_user_can('moderate_comments')) 
     1062                        return new IXR_Error(401, __('Sorry, you cannot edit comments.')); 
    10681063 
    10691064                do_action('xmlrpc_call', 'wp.getComments'); 
    10701065 
    1071                 if ( isset($struct['status']) ) 
     1066                if (isset($struct['status'])) 
    10721067                        $status = $struct['status']; 
    10731068                else 
    10741069                        $status = ''; 
    10751070 
    10761071                $post_id = ''; 
    1077                 if ( isset($struct['post_id']) ) 
     1072                if (isset($struct['post_id'])) 
    10781073                        $post_id = absint($struct['post_id']); 
    10791074 
    10801075                $offset = 0; 
    1081                 if ( isset($struct['offset']) ) 
     1076                if (isset($struct['offset'])) 
    10821077                        $offset = absint($struct['offset']); 
    10831078 
    10841079                $number = 10; 
    1085                 if ( isset($struct['number']) ) 
     1080                if (isset($struct['number'])) 
    10861081                        $number = absint($struct['number']); 
    10871082 
    1088                 $comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) ); 
     1083                $comments = get_comments(array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number)); 
    10891084                $num_comments = count($comments); 
    10901085 
    1091                 if ( ! $num_comments ) 
     1086                if (!$num_comments) 
    10921087                        return array(); 
    10931088 
    10941089                $comments_struct = array(); 
    10951090 
    10961091    // FIXME: we already have the comments, why query them again? 
    1097                 for ( $i = 0; $i < $num_comments; $i++ ) { 
     1092                for ($i = 0; $i < $num_comments; $i++) { 
    10981093                        $comment = wp_xmlrpc_server::wp_getComment(array( 
    10991094                                $raw_args[0], $raw_args[1], $raw_args[2], $comments[$i]->comment_ID, 
    11001095                        )); 
     
    11231118        function wp_deleteComment($args) { 
    11241119                $this->escape($args); 
    11251120 
    1126                 $blog_id        = (int) $args[0]; 
    1127                 $username       = $args[1]; 
    1128                 $password       = $args[2]; 
    1129                 $comment_ID     = (int) $args[3]; 
     1121                $blog_id = (int) $args[0]; 
     1122                $username = $args[1]; 
     1123                $password = $args[2]; 
     1124                $comment_ID = (int) $args[3]; 
    11301125 
    1131                 if ( !$user = $this->login($username, $password) ) 
     1126                if (!$user = $this->login($username, $password)) 
    11321127                        return $this->error; 
    11331128 
    1134                 if ( !current_user_can( 'moderate_comments' ) ) 
    1135                         return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) ); 
     1129                if (!current_user_can('moderate_comments')) 
     1130                        return new IXR_Error(403, __('You are not allowed to moderate comments on this site.')); 
    11361131 
    1137                 if ( ! get_comment($comment_ID) ) 
    1138                         return new IXR_Error( 404, __( 'Invalid comment ID.' ) ); 
     1132                if (!get_comment($comment_ID)) 
     1133                        return new IXR_Error(404, __('Invalid comment ID.')); 
    11391134 
    1140                 if ( !current_user_can( 'edit_comment', $comment_ID ) ) 
    1141                         return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) ); 
     1135                if (!current_user_can('edit_comment', $comment_ID)) 
     1136                        return new IXR_Error(403, __('You are not allowed to moderate comments on this site.')); 
    11421137 
    11431138                do_action('xmlrpc_call', 'wp.deleteComment'); 
    11441139 
     
    11721167        function wp_editComment($args) { 
    11731168                $this->escape($args); 
    11741169 
    1175                 $blog_id        = (int) $args[0]; 
    1176                 $username       = $args[1]; 
    1177                 $password       = $args[2]; 
    1178                 $comment_ID     = (int) $args[3]; 
     1170                $blog_id = (int) $args[0]; 
     1171                $username = $args[1]; 
     1172                $password = $args[2]; 
     1173                $comment_ID = (int) $args[3]; 
    11791174                $content_struct = $args[4]; 
    11801175 
    1181                 if ( !$user = $this->login($username, $password) ) 
     1176                if (!$user = $this->login($username, $password)) 
    11821177                        return $this->error; 
    11831178 
    1184                 if ( !current_user_can( 'moderate_comments' ) ) 
    1185                         return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) ); 
     1179                if (!current_user_can('moderate_comments')) 
     1180                        return new IXR_Error(403, __('You are not allowed to moderate comments on this site.')); 
    11861181 
    1187                 if ( ! get_comment($comment_ID) ) 
    1188                         return new IXR_Error( 404, __( 'Invalid comment ID.' ) ); 
     1182                if (!get_comment($comment_ID)) 
     1183                        return new IXR_Error(404, __('Invalid comment ID.')); 
    11891184 
    1190                 if ( !current_user_can( 'edit_comment', $comment_ID ) ) 
    1191                         return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) ); 
     1185                if (!current_user_can('edit_comment', $comment_ID)) 
     1186                        return new IXR_Error(403, __('You are not allowed to moderate comments on this site.')); 
    11921187 
    11931188                do_action('xmlrpc_call', 'wp.editComment'); 
    11941189 
    1195                 if ( isset($content_struct['status']) ) { 
     1190                if (isset($content_struct['status'])) { 
    11961191                        $statuses = get_comment_statuses(); 
    11971192                        $statuses = array_keys($statuses); 
    11981193 
    1199                         if ( ! in_array($content_struct['status'], $statuses) ) 
    1200                                 return new IXR_Error( 401, __( 'Invalid comment status.' ) ); 
     1194                        if (!in_array($content_struct['status'], $statuses)) 
     1195                                return new IXR_Error(401, __('Invalid comment status.')); 
    12011196                        $comment_approved = $content_struct['status']; 
    12021197                } 
    12031198 
    12041199                // Do some timestamp voodoo 
    1205                 if ( !empty( $content_struct['date_created_gmt'] ) ) { 
    1206                         $dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
     1200                if (!empty($content_struct['date_created_gmt'])) { 
     1201                        $dateCreated = str_replace('Z', '', $content_struct['date_created_gmt']->getIso()) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
    12071202                        $comment_date = get_date_from_gmt(iso8601_to_datetime($dateCreated)); 
    12081203                        $comment_date_gmt = iso8601_to_datetime($dateCreated, 'GMT'); 
    12091204                } 
    12101205 
    1211                 if ( isset($content_struct['content']) ) 
     1206                if (isset($content_struct['content'])) 
    12121207                        $comment_content = $content_struct['content']; 
    12131208 
    1214                 if ( isset($content_struct['author']) ) 
     1209                if (isset($content_struct['author'])) 
    12151210                        $comment_author = $content_struct['author']; 
    12161211 
    1217                 if ( isset($content_struct['author_url']) ) 
     1212                if (isset($content_struct['author_url'])) 
    12181213                        $comment_author_url = $content_struct['author_url']; 
    12191214 
    1220                 if ( isset($content_struct['author_email']) ) 
     1215                if (isset($content_struct['author_email'])) 
    12211216                        $comment_author_email = $content_struct['author_email']; 
    12221217 
    12231218                // We've got all the data -- post it: 
    12241219                $comment = compact('comment_ID', 'comment_content', 'comment_approved', 'comment_date', 'comment_date_gmt', 'comment_author', 'comment_author_email', 'comment_author_url'); 
    12251220 
    12261221                $result = wp_update_comment($comment); 
    1227                 if ( is_wp_error( $result ) ) 
     1222                if (is_wp_error($result)) 
    12281223                        return new IXR_Error(500, $result->get_error_message()); 
    12291224 
    1230                 if ( !$result ) 
     1225                if (!$result) 
    12311226                        return new IXR_Error(500, __('Sorry, the comment could not be edited. Something wrong happened.')); 
    12321227 
    12331228                return true; 
     
    12461241 
    12471242                $this->escape($args); 
    12481243 
    1249                 $blog_id        = (int) $args[0]; 
    1250                 $username       = $args[1]; 
    1251                 $password       = $args[2]; 
    1252                 $post           = $args[3]; 
     1244                $blog_id = (int) $args[0]; 
     1245                $username = $args[1]; 
     1246                $password = $args[2]; 
     1247                $post = $args[3]; 
    12531248                $content_struct = $args[4]; 
    12541249 
    12551250                $allow_anon = apply_filters('xmlrpc_allow_anonymous_comments', false); 
    12561251 
    12571252                $user = $this->login($username, $password); 
    12581253 
    1259                 if ( !$user ) { 
     1254                if (!$user) { 
    12601255                        $logged_in = false; 
    1261                         if ( $allow_anon && get_option('comment_registration') ) 
    1262                                 return new IXR_Error( 403, __( 'You must be registered to comment' ) ); 
    1263                         else if ( !$allow_anon ) 
     1256                        if ($allow_anon && get_option('comment_registration')) 
     1257                                return new IXR_Error(403, __('You must be registered to comment')); 
     1258                        else if (!$allow_anon) 
    12641259                                return $this->error; 
    12651260                } else { 
    12661261                        $logged_in = true; 
    12671262                } 
    12681263 
    1269                 if ( is_numeric($post) ) 
     1264                if (is_numeric($post)) 
    12701265                        $post_id = absint($post); 
    12711266                else 
    12721267                        $post_id = url_to_postid($post); 
    12731268 
    1274                 if ( ! $post_id ) 
    1275                         return new IXR_Error( 404, __( 'Invalid post ID.' ) ); 
     1269                if (!$post_id) 
     1270                        return new IXR_Error(404, __('Invalid post ID.')); 
    12761271 
    1277                 if ( ! get_post($post_id) ) 
    1278                         return new IXR_Error( 404, __( 'Invalid post ID.' ) ); 
     1272                if (!get_post($post_id)) 
     1273                        return new IXR_Error(404, __('Invalid post ID.')); 
    12791274 
    12801275                $comment['comment_post_ID'] = $post_id; 
    12811276 
    1282                 if ( $logged_in ) { 
    1283                         $comment['comment_author'] = $wpdb->escape( $user->display_name ); 
    1284                         $comment['comment_author_email'] = $wpdb->escape( $user->user_email ); 
    1285                         $comment['comment_author_url'] = $wpdb->escape( $user->user_url ); 
     1277                if ($logged_in) { 
     1278                        $comment['comment_author'] = $wpdb->escape($user->display_name); 
     1279                        $comment['comment_author_email'] = $wpdb->escape($user->user_email); 
     1280                        $comment['comment_author_url'] = $wpdb->escape($user->user_url); 
    12861281                        $comment['user_ID'] = $user->ID; 
    12871282                } else { 
    12881283                        $comment['comment_author'] = ''; 
    1289                         if ( isset($content_struct['author']) ) 
     1284                        if (isset($content_struct['author'])) 
    12901285                                $comment['comment_author'] = $content_struct['author']; 
    12911286 
    12921287                        $comment['comment_author_email'] = ''; 
    1293                         if ( isset($content_struct['author_email']) ) 
     1288                        if (isset($content_struct['author_email'])) 
    12941289                                $comment['comment_author_email'] = $content_struct['author_email']; 
    12951290 
    12961291                        $comment['comment_author_url'] = ''; 
    1297                         if ( isset($content_struct['author_url']) ) 
     1292                        if (isset($content_struct['author_url'])) 
    12981293                                $comment['comment_author_url'] = $content_struct['author_url']; 
    12991294 
    13001295                        $comment['user_ID'] = 0; 
    13011296 
    1302                         if ( get_option('require_name_email') ) { 
    1303                                 if ( 6 > strlen($comment['comment_author_email']) || '' == $comment['comment_author'] ) 
    1304                                         return new IXR_Error( 403, __( 'Comment author name and email are required' ) ); 
    1305                                 elseif ( !is_email($comment['comment_author_email']) ) 
    1306                                         return new IXR_Error( 403, __( 'A valid email address is required' ) ); 
     1297                        if (get_option('require_name_email')) { 
     1298                                if (6 > strlen($comment['comment_author_email']) || '' == $comment['comment_author']) 
     1299                                        return new IXR_Error(403, __('Comment author name and email are required')); 
     1300                                elseif (!is_email($comment['comment_author_email'])) 
     1301                                        return new IXR_Error(403, __('A valid email address is required')); 
    13071302                        } 
    13081303                } 
    13091304 
    13101305                $comment['comment_parent'] = isset($content_struct['comment_parent']) ? absint($content_struct['comment_parent']) : 0; 
    13111306 
    1312                 $comment['comment_content'] = isset($content_struct['content']) ? $content_struct['content'] : null; 
     1307                $comment['comment_content'] = isset($content_struct['content']) ? $content_struct['content'] : null; 
    13131308 
    13141309                do_action('xmlrpc_call', 'wp.newComment'); 
    13151310 
     
    13251320         * @return array 
    13261321         */ 
    13271322        function wp_getCommentStatusList($args) { 
    1328                 $this->escape( $args ); 
     1323                $this->escape($args); 
    13291324 
    1330                 $blog_id        = (int) $args[0]; 
    1331                 $username       = $args[1]; 
    1332                 $password       = $args[2]; 
     1325                $blog_id = (int) $args[0]; 
     1326                $username = $args[1]; 
     1327                $password = $args[2]; 
    13331328 
    1334                 if ( !$user = $this->login($username, $password) ) 
     1329                if (!$user = $this->login($username, $password)) 
    13351330                        return $this->error; 
    13361331 
    1337                 if ( !current_user_can( 'moderate_comments' ) ) 
    1338                         return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) ); 
     1332                if (!current_user_can('moderate_comments')) 
     1333                        return new IXR_Error(403, __('You are not allowed access to details about this site.')); 
    13391334 
    13401335                do_action('xmlrpc_call', 'wp.getCommentStatusList'); 
    13411336 
    1342                 return get_comment_statuses( ); 
     1337                return get_comment_statuses(); 
    13431338        } 
    13441339 
    13451340        /** 
     
    13501345         * @param array $args Method parameters. 
    13511346         * @return array 
    13521347         */ 
    1353         function wp_getCommentCount( $args ) { 
     1348        function wp_getCommentCount($args) { 
    13541349                $this->escape($args); 
    13551350 
    1356                 $blog_id        = (int) $args[0]; 
    1357                 $username       = $args[1]; 
    1358                 $password       = $args[2]; 
    1359                 $post_id        = (int) $args[3]; 
     1351                $blog_id = (int) $args[0]; 
     1352                $username = $args[1]; 
     1353                $password = $args[2]; 
     1354                $post_id = (int) $args[3]; 
    13601355 
    1361                 if ( !$user = $this->login($username, $password) ) 
     1356                if (!$user = $this->login($username, $password)) 
    13621357                        return $this->error; 
    13631358 
    1364                 if ( !current_user_can( 'edit_posts' ) ) 
    1365                         return new IXR_Error( 403, __( 'You are not allowed access to details about comments.' ) ); 
     1359                if (!current_user_can('edit_posts')) 
     1360                        return new IXR_Error(403, __('You are not allowed access to details about comments.')); 
    13661361 
    13671362                do_action('xmlrpc_call', 'wp.getCommentCount'); 
    13681363 
    1369                 $count = wp_count_comments( $post_id ); 
     1364                $count = wp_count_comments($post_id); 
    13701365                return array( 
    13711366                        'approved' => $count->approved, 
    13721367                        'awaiting_moderation' => $count->moderated, 
     
    13831378         * @param array $args Method parameters. 
    13841379         * @return array 
    13851380         */ 
    1386         function wp_getPostStatusList( $args ) { 
    1387                 $this->escape( $args ); 
     1381        function wp_getPostStatusList($args) { 
     1382                $this->escape($args); 
    13881383 
    1389                 $blog_id        = (int) $args[0]; 
    1390                 $username       = $args[1]; 
    1391                 $password       = $args[2]; 
     1384                $blog_id = (int) $args[0]; 
     1385                $username = $args[1]; 
     1386                $password = $args[2]; 
    13921387 
    1393                 if ( !$user = $this->login($username, $password) ) 
     1388                if (!$user = $this->login($username, $password)) 
    13941389                        return $this->error; 
    13951390 
    1396                 if ( !current_user_can( 'edit_posts' ) ) 
    1397                         return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) ); 
     1391                if (!current_user_can('edit_posts')) 
     1392                        return new IXR_Error(403, __('You are not allowed access to details about this site.')); 
    13981393 
    13991394                do_action('xmlrpc_call', 'wp.getPostStatusList'); 
    14001395 
    1401                 return get_post_statuses( ); 
     1396                return get_post_statuses(); 
    14021397        } 
    14031398 
    14041399        /** 
     
    14091404         * @param array $args Method parameters. 
    14101405         * @return array 
    14111406         */ 
    1412         function wp_getPageStatusList( $args ) { 
    1413                 $this->escape( $args ); 
     1407        function wp_getPageStatusList($args) { 
     1408                $this->escape($args); 
    14141409 
    1415                 $blog_id        = (int) $args[0]; 
    1416                 $username       = $args[1]; 
    1417                 $password       = $args[2]; 
     1410                $blog_id = (int) $args[0]; 
     1411                $username = $args[1]; 
     1412                $password = $args[2]; 
    14181413 
    1419                 if ( !$user = $this->login($username, $password) ) 
     1414                if (!$user = $this->login($username, $password)) 
    14201415                        return $this->error; 
    14211416 
    1422                 if ( !current_user_can( 'edit_pages' ) ) 
    1423                         return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) ); 
     1417                if (!current_user_can('edit_pages')) 
     1418                        return new IXR_Error(403, __('You are not allowed access to details about this site.')); 
    14241419 
    14251420                do_action('xmlrpc_call', 'wp.getPageStatusList'); 
    14261421 
    1427                 return get_page_statuses( ); 
     1422                return get_page_statuses(); 
    14281423        } 
    14291424 
    14301425        /** 
     
    14351430         * @param array $args Method parameters. 
    14361431         * @return array 
    14371432         */ 
    1438         function wp_getPageTemplates( $args ) { 
    1439                 $this->escape( $args ); 
     1433        function wp_getPageTemplates($args) { 
     1434                $this->escape($args); 
    14401435 
    1441                 $blog_id        = (int) $args[0]; 
    1442                 $username       = $args[1]; 
    1443                 $password       = $args[2]; 
     1436                $blog_id = (int) $args[0]; 
     1437                $username = $args[1]; 
     1438                $password = $args[2]; 
    14441439 
    1445                 if ( !$user = $this->login($username, $password) ) 
     1440                if (!$user = $this->login($username, $password)) 
    14461441                        return $this->error; 
    14471442 
    1448                 if ( !current_user_can( 'edit_pages' ) ) 
    1449                         return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) ); 
     1443                if (!current_user_can('edit_pages')) 
     1444                        return new IXR_Error(403, __('You are not allowed access to details about this site.')); 
    14501445 
    1451                 $templates = get_page_templates( ); 
     1446                $templates = get_page_templates(); 
    14521447                $templates['Default'] = 'default'; 
    14531448 
    14541449                return $templates; 
     
    14621457         * @param array $args Method parameters. 
    14631458         * @return array 
    14641459         */ 
    1465         function wp_getOptions( $args ) { 
    1466                 $this->escape( $args ); 
     1460        function wp_getOptions($args) { 
     1461                $this->escape($args); 
    14671462 
    1468                 $blog_id        = (int) $args[0]; 
    1469                 $username       = $args[1]; 
    1470                 $password       = $args[2]; 
    1471                 $options        = isset( $args[3] ) ? (array) $args[3] : array(); 
     1463                $blog_id = (int) $args[0]; 
     1464                $username = $args[1]; 
     1465                $password = $args[2]; 
     1466                $options = isset($args[3]) ? (array) $args[3] : array(); 
    14721467 
    1473                 if ( !$user = $this->login($username, $password) ) 
     1468                if (!$user = $this->login($username, $password)) 
    14741469                        return $this->error; 
    14751470 
    14761471                // If no specific options where asked for, return all of them 
    1477                 if ( count( $options ) == 0 ) 
     1472                if (count($options) == 0) 
    14781473                        $options = array_keys($this->blog_options); 
    14791474 
    14801475                return $this->_getOptions($options); 
     
    14891484         * @return array 
    14901485         */ 
    14911486        function _getOptions($options) { 
    1492                 $data = array( ); 
    1493                 foreach ( $options as $option ) { 
    1494                         if ( array_key_exists( $option, $this->blog_options ) ) { 
     1487                $data = array(); 
     1488                foreach ($options as $option) { 
     1489                        if (array_key_exists($option, $this->blog_options)) { 
    14951490                                $data[$option] = $this->blog_options[$option]; 
    14961491                                //Is the value static or dynamic? 
    1497                                 if ( isset( $data[$option]['option'] ) ) { 
    1498                                         $data[$option]['value'] = get_option( $data[$option]['option'] ); 
     1492                                if (isset($data[$option]['option'])) { 
     1493                                        $data[$option]['value'] = get_option($data[$option]['option']); 
    14991494                                        unset($data[$option]['option']); 
    15001495                                } 
    15011496                        } 
     
    15121507         * @param array $args Method parameters. 
    15131508         * @return unknown 
    15141509         */ 
    1515         function wp_setOptions( $args ) { 
    1516                 $this->escape( $args ); 
     1510        function wp_setOptions($args) { 
     1511                $this->escape($args); 
    15171512 
    1518                 $blog_id        = (int) $args[0]; 
    1519                 $username       = $args[1]; 
    1520                 $password       = $args[2]; 
    1521                 $options        = (array) $args[3]; 
     1513                $blog_id = (int) $args[0]; 
     1514                $username = $args[1]; 
     1515                $password = $args[2]; 
     1516                $options = (array) $args[3]; 
    15221517 
    1523                 if ( !$user = $this->login($username, $password) ) 
     1518                if (!$user = $this->login($username, $password)) 
    15241519                        return $this->error; 
    15251520 
    1526                 if ( !current_user_can( 'manage_options' ) ) 
    1527                         return new IXR_Error( 403, __( 'You are not allowed to update options.' ) ); 
     1521                if (!current_user_can('manage_options')) 
     1522                        return new IXR_Error(403, __('You are not allowed to update options.')); 
    15281523 
    1529                 foreach ( $options as $o_name => $o_value ) { 
     1524                foreach ($options as $o_name => $o_value) { 
    15301525                        $option_names[] = $o_name; 
    1531                         if ( !array_key_exists( $o_name, $this->blog_options ) ) 
     1526                        if (!array_key_exists($o_name, $this->blog_options)) 
    15321527                                continue; 
    15331528 
    1534                         if ( $this->blog_options[$o_name]['readonly'] == true ) 
     1529                        if ($this->blog_options[$o_name]['readonly'] == true) 
    15351530                                continue; 
    15361531 
    1537                         update_option( $this->blog_options[$o_name]['option'], $o_value ); 
     1532                        update_option($this->blog_options[$o_name]['option'], $o_value); 
    15381533                } 
    15391534 
    15401535                //Now return the updated values 
     
    15641559        function wp_getMediaItem($args) { 
    15651560                $this->escape($args); 
    15661561 
    1567                 $blog_id                = (int) $args[0]; 
    1568                 $username               = $args[1]; 
    1569                 $password               = $args[2]; 
    1570                 $attachment_id  = (int) $args[3]; 
     1562                $blog_id = (int) $args[0]; 
     1563                $username = $args[1]; 
     1564                $password = $args[2]; 
     1565                $attachment_id = (int) $args[3]; 
    15711566 
    1572                 if ( !$user = $this->login($username, $password) ) 
     1567                if (!$user = $this->login($username, $password)) 
    15731568                        return $this->error; 
    15741569 
    1575                 if ( !current_user_can( 'upload_files' ) ) 
    1576                         return new IXR_Error( 403, __( 'You are not allowed to upload files to this site.' ) ); 
     1570                if (!current_user_can('upload_files')) 
     1571                        return new IXR_Error(403, __('You are not allowed to upload files to this site.')); 
    15771572 
    15781573                do_action('xmlrpc_call', 'wp.getMediaItem'); 
    15791574 
    1580                 if ( ! $attachment = get_post($attachment_id) ) 
    1581                         return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); 
     1575                if (!$attachment = get_post($attachment_id)) 
     1576                        return new IXR_Error(404, __('Invalid attachment ID.')); 
    15821577 
    15831578                // Format page date. 
    15841579                $attachment_date = mysql2date('Ymd\TH:i:s', $attachment->post_date, false); 
     
    15881583                $thumbnail_link = wp_get_attachment_thumb_url($attachment->ID); 
    15891584 
    15901585                $attachment_struct = array( 
    1591                         'date_created_gmt'              => new IXR_Date($attachment_date_gmt), 
    1592                         'parent'                                => $attachment->post_parent, 
    1593                         'link'                                  => $link, 
    1594                         'thumbnail'                             => $thumbnail_link, 
    1595                         'title'                                 => $attachment->post_title, 
    1596                         'caption'                               => $attachment->post_excerpt, 
    1597                         'description'                   => $attachment->post_content, 
    1598                         'metadata'                              => wp_get_attachment_metadata($attachment->ID), 
     1586                    'date_created_gmt' => new IXR_Date($attachment_date_gmt), 
     1587                    'parent' => $attachment->post_parent, 
     1588                    'link' => $link, 
     1589                    'thumbnail' => $thumbnail_link, 
     1590                    'title' => $attachment->post_title, 
     1591                    'caption' => $attachment->post_excerpt, 
     1592                    'description' => $attachment->post_content, 
     1593                    'metadata' => wp_get_attachment_metadata($attachment->ID), 
    15991594                ); 
    16001595 
    16011596                return $attachment_struct; 
     
    16281623                $raw_args = $args; 
    16291624                $this->escape($args); 
    16301625 
    1631                 $blog_id        = (int) $args[0]; 
    1632                 $username       = $args[1]; 
    1633                 $password       = $args[2]; 
    1634                 $struct         = isset( $args[3] ) ? $args[3] : array() ; 
     1626                $blog_id = (int) $args[0]; 
     1627                $username = $args[1]; 
     1628                $password = $args[2]; 
     1629                $struct = isset($args[3]) ? $args[3] : array(); 
    16351630 
    1636                 if ( !$user = $this->login($username, $password) ) 
     1631                if (!$user = $this->login($username, $password)) 
    16371632                        return $this->error; 
    16381633 
    1639                 if ( !current_user_can( 'upload_files' ) ) 
    1640                         return new IXR_Error( 401, __( 'Sorry, you cannot upload files.' ) ); 
     1634                if (!current_user_can('upload_files')) 
     1635                        return new IXR_Error(401, __('Sorry, you cannot upload files.')); 
    16411636 
    16421637                do_action('xmlrpc_call', 'wp.getMediaLibrary'); 
    16431638 
    1644                 $parent_id = ( isset($struct['parent_id']) ) ? absint($struct['parent_id']) : '' ; 
    1645                 $mime_type = ( isset($struct['mime_type']) ) ? $struct['mime_type'] : '' ; 
    1646                 $offset = ( isset($struct['offset']) ) ? absint($struct['offset']) : 0 ; 
    1647                 $number = ( isset($struct['number']) ) ? absint($struct['number']) : -1 ; 
     1639                $parent_id = ( isset($struct['parent_id']) ) ? absint($struct['parent_id']) : ''; 
     1640                $mime_type = ( isset($struct['mime_type']) ) ? $struct['mime_type'] : ''; 
     1641                $offset = ( isset($struct['offset']) ) ? absint($struct['offset']) : 0; 
     1642                $number = ( isset($struct['number']) ) ? absint($struct['number']) : -1; 
    16481643 
    1649                 $attachments = get_posts( array('post_type' => 'attachment', 'post_parent' => $parent_id, 'offset' => $offset, 'numberposts' => $number, 'post_mime_type' => $mime_type ) ); 
     1644                $attachments = get_posts(array('post_type' => 'attachment', 'post_parent' => $parent_id, 'offset' => $offset, 'numberposts' => $number, 'post_mime_type' => $mime_type)); 
    16501645                $num_attachments = count($attachments); 
    16511646 
    1652                 if ( ! $num_attachments ) 
     1647                if (!$num_attachments) 
    16531648                        return array(); 
    16541649 
    16551650                $attachments_struct = array(); 
    16561651 
    1657                 foreach ($attachments as $attachment ) 
    1658                         $attachments_struct[] = $this->wp_getMediaItem( array( $raw_args[0], $raw_args[1], $raw_args[2], $attachment->ID ) ); 
     1652                foreach ($attachments as $attachment) 
     1653                        $attachments_struct[] = $this->wp_getMediaItem(array($raw_args[0], $raw_args[1], $raw_args[2], $attachment->ID)); 
    16591654 
    16601655                return $attachments_struct; 
    16611656        } 
     
    16711666          *  - password 
    16721667          * @return array 
    16731668          */ 
    1674         function wp_getPostFormats( $args ) { 
    1675                 $this->escape( $args ); 
     1669        function wp_getPostFormats($args) { 
     1670                $this->escape($args); 
    16761671 
    16771672                $blog_id = (int) $args[0]; 
    16781673                $username = $args[1]; 
    16791674                $password = $args[2]; 
    16801675 
    1681                 if ( !$user = $this->login( $username, $password ) ) 
     1676                if (!$user = $this->login($username, $password)) 
    16821677                        return $this->error; 
    16831678 
    1684                 do_action( 'xmlrpc_call', 'wp.getPostFormats' ); 
     1679                do_action('xmlrpc_call', 'wp.getPostFormats'); 
    16851680 
    16861681                $formats = get_post_format_strings(); 
    16871682 
    16881683                # find out if they want a list of currently supports formats 
    1689                 if ( isset( $args[3] ) && is_array( $args[3] ) ) { 
    1690                         if ( $args[3]['show-supported'] ) { 
    1691                                 if ( current_theme_supports( 'post-formats' ) ) { 
    1692                                         $supported = get_theme_support( 'post-formats' ); 
     1684                if (isset($args[3]) && is_array($args[3])) { 
     1685                        if ($args[3]['show-supported']) { 
     1686                                if (current_theme_supports('post-formats')) { 
     1687                                        $supported = get_theme_support('post-formats'); 
    16931688 
    16941689                                        $data['all'] = $formats; 
    16951690                                        $data['supported'] = $supported[0]; 
     
    17021697                return $formats; 
    17031698        } 
    17041699 
     1700        /** 
     1701         * Delete a user 
     1702         * 
     1703         * @uses wp_delete_user() 
     1704         * @param array $args Method parameters. Contains: 
     1705         *  - int     $blog_id 
     1706         *  - string  $username 
     1707         *  - string  $password 
     1708         *  - int     $user_id 
     1709         *  - int     $reassign_id 
     1710         * @return True when user is deleted. 
     1711         */ 
     1712        function wp_deleteUser($args) { 
     1713                $this->escape($args); 
     1714 
     1715                $blog_id = (int) $args[0]; 
     1716                $username = $args[1]; 
     1717                $password = $args[2]; 
     1718                $user_id = (int) $args[3]; 
     1719 
     1720                if (!$user = $this->login($username, $password)) 
     1721                        return $this->error; 
     1722 
     1723                do_action('xmlrpc_call', 'wp.deleteUser'); 
     1724 
     1725                if (!current_user_can('delete_users')) 
     1726                        return new IXR_Error(401, __('You are not allowed to delete users.')); 
     1727 
     1728                if (!get_userdata($user_id)) 
     1729                        return new IXR_Error(404, __('Invalid user ID.')); 
     1730 
     1731                if ($user->ID == $user_id) 
     1732                        return new IXR_Error(401, __('You cannot delete yourself.')); 
     1733 
     1734                if (isset($args[4])) { 
     1735                        $reassign_id = (int) $args[4]; 
     1736                        if (!get_userdata($user_id)) 
     1737                                return new IXR_Error(404, __('Invalid reassign user ID.')); 
     1738                        if($reassign_id == $user_id) 
     1739                                return new IXR_Error(404, __('Cannot reassign for a deleting user.')); 
     1740                } else { 
     1741                        $reassign_id = 'novalue'; 
     1742                } 
     1743 
     1744                $result = wp_delete_user($user_id, $reassign_id); 
     1745 
     1746                if (!$result) 
     1747                        return new IXR_Error(500, __('Cannot delete user.')); 
     1748 
     1749                return true; 
     1750        } 
     1751 
    17051752        /* Blogger API functions. 
    17061753         * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/ 
    17071754         */ 
     
    17171764         * @return array 
    17181765         */ 
    17191766        function blogger_getUsersBlogs($args) { 
    1720                 if ( is_multisite() ) 
     1767                if (is_multisite()) 
    17211768                        return $this->_multisite_getUsersBlogs($args); 
    17221769 
    17231770                $this->escape($args); 
    17241771 
    17251772                $username = $args[1]; 
    1726                 $password = $args[2]; 
     1773                $password = $args[2]; 
    17271774 
    1728                 if ( !$user = $this->login($username, $password) ) 
     1775                if (!$user = $this->login($username, $password)) 
    17291776                        return $this->error; 
    17301777 
    17311778                do_action('xmlrpc_call', 'blogger.getUsersBlogs'); 
     
    17331780                $is_admin = current_user_can('manage_options'); 
    17341781 
    17351782                $struct = array( 
    1736                         'isAdmin' => $is_admin, 
    1737                         'url'      => get_option('home') . '/', 
    1738                         'blogid'  => '1', 
     1783                    'isAdmin' => $is_admin, 
     1784                    'url' => get_option('home') . '/', 
     1785                    'blogid' => '1', 
    17391786                        'blogName' => get_option('blogname'), 
    1740                         'xmlrpc'   => site_url( 'xmlrpc.php' ) 
     1787                    'xmlrpc' => site_url('xmlrpc.php') 
    17411788                ); 
    17421789 
    17431790                return array($struct); 
     
    17581805                $rpc->query('wp.getUsersBlogs', $args[1], $args[2]); 
    17591806                $blogs = $rpc->getResponse(); 
    17601807 
    1761                 if ( isset($blogs['faultCode']) ) 
     1808                if (isset($blogs['faultCode'])) 
    17621809                        return new IXR_Error($blogs['faultCode'], $blogs['faultString']); 
    17631810 
    1764                 if ( $_SERVER['HTTP_HOST'] == $domain && $_SERVER['REQUEST_URI'] == $path ) { 
     1811                if ($_SERVER['HTTP_HOST'] == $domain && $_SERVER['REQUEST_URI'] == $path) { 
    17651812                        return $blogs; 
    17661813                } else { 
    1767                         foreach ( (array) $blogs as $blog ) { 
    1768                                 if ( strpos($blog['url'], $_SERVER['HTTP_HOST']) ) 
     1814                        foreach ((array) $blogs as $blog) { 
     1815                                if (strpos($blog['url'], $_SERVER['HTTP_HOST'])) 
    17691816                                        return array($blog); 
    17701817                        } 
    17711818                        return array(); 
     
    17871834                $this->escape($args); 
    17881835 
    17891836                $username = $args[1]; 
    1790                 $password = $args[2]; 
     1837                $password = $args[2]; 
    17911838 
    1792                 if ( !$user = $this->login($username, $password) ) 
     1839                if (!$user = $this->login($username, $password)) 
    17931840                        return $this->error; 
    17941841 
    1795                 if ( !current_user_can( 'edit_posts' ) ) 
    1796                         return new IXR_Error( 401, __( 'Sorry, you do not have access to user data on this site.' ) ); 
     1842                if (!current_user_can('edit_posts')) 
     1843                        return new IXR_Error(401, __('Sorry, you do not have access to user data on this site.')); 
    17971844 
    17981845                do_action('xmlrpc_call', 'blogger.getUserInfo'); 
    17991846 
    18001847                $struct = array( 
    1801                         'nickname' => $user->nickname, 
    1802                         'userid'    => $user->ID, 
    1803                         'url'      => $user->user_url, 
    1804                         'lastname' => $user->last_name, 
     1848                    'nickname' => $user->nickname, 
     1849                    'userid' => $user->ID, 
     1850                    'url' => $user->user_url, 
     1851                    'lastname' => $user->last_name, 
    18051852                        'firstname' => $user->first_name 
    18061853                ); 
    18071854 
     
    18201867 
    18211868                $this->escape($args); 
    18221869 
    1823                 $post_ID    = (int) $args[1]; 
     1870                $post_ID = (int) $args[1]; 
    18241871                $username = $args[2]; 
    1825                 $password = $args[3]; 
     1872                $password = $args[3]; 
    18261873 
    1827                 if ( !$user = $this->login($username, $password) ) 
     1874                if (!$user = $this->login($username, $password)) 
    18281875                        return $this->error; 
    18291876 
    1830                 if ( !current_user_can( 'edit_post', $post_ID ) ) 
    1831                         return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) ); 
     1877                if (!current_user_can('edit_post', $post_ID)) 
     1878                        return new IXR_Error(401, __('Sorry, you cannot edit this post.')); 
    18321879 
    18331880                do_action('xmlrpc_call', 'blogger.getPost'); 
    18341881 
     
    18361883 
    18371884                $categories = implode(',', wp_get_post_categories($post_ID)); 
    18381885 
    1839                 $content  = '<title>'.stripslashes($post_data['post_title']).'</title>'; 
    1840                 $content .= '<category>'.$categories.'</category>'; 
     1886                $content = '<title>' . stripslashes($post_data['post_title']) . '</title>'; 
     1887                $content .= '<category>' . $categories . '</category>'; 
    18411888                $content .= stripslashes($post_data['post_content']); 
    18421889 
    18431890                $struct = array( 
    1844                         'userid'    => $post_data['post_author'], 
     1891                    'userid' => $post_data['post_author'], 
    18451892                        'dateCreated' => new IXR_Date(mysql2date('Ymd\TH:i:s', $post_data['post_date'], false)), 
    1846                         'content'    => $content, 
    1847                         'postid' => (string) $post_data['ID'] 
     1893                    'content' => $content, 
     1894                    'postid' => (string) $post_data['ID'] 
    18481895                ); 
    18491896 
    18501897                return $struct; 
     
    18631910                $this->escape($args); 
    18641911 
    18651912                // $args[0] = appkey - ignored 
    1866                 $blog_ID    = (int) $args[1]; /* though we don't use it yet */ 
     1913                $blog_ID = (int) $args[1]; /* though we don't use it yet */ 
    18671914                $username = $args[2]; 
    1868                 $password = $args[3]; 
    1869                 if ( isset( $args[4] ) ) 
    1870                         $query = array( 'numberposts' => absint( $args[4] ) ); 
     1915                $password = $args[3]; 
     1916                if (isset($args[4])) 
     1917                        $query = array('numberposts' => absint($args[4])); 
    18711918                else 
    18721919                        $query = array(); 
    18731920 
    1874                 if ( !$user = $this->login($username, $password) ) 
     1921                if (!$user = $this->login($username, $password)) 
    18751922                        return $this->error; 
    18761923 
    18771924                do_action('xmlrpc_call', 'blogger.getRecentPosts'); 
    18781925 
    1879                 $posts_list = wp_get_recent_posts( $query ); 
     1926                $posts_list = wp_get_recent_posts($query); 
    18801927 
    1881                 if ( !$posts_list ) { 
     1928                if (!$posts_list) { 
    18821929                        $this->error = new IXR_Error(500, __('Either there are no posts, or something went wrong.')); 
    18831930                        return $this->error; 
    18841931                } 
    18851932 
    18861933                foreach ($posts_list as $entry) { 
    1887                         if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
     1934                        if (!current_user_can('edit_post', $entry['ID'])) 
    18881935                                continue; 
    18891936 
    18901937                        $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
    18911938                        $categories = implode(',', wp_get_post_categories($entry['ID'])); 
    18921939 
    1893                         $content  = '<title>'.stripslashes($entry['post_title']).'</title>'; 
    1894                         $content .= '<category>'.$categories.'</category>'; 
     1940                        $content = '<title>' . stripslashes($entry['post_title']) . '</title>'; 
     1941                        $content .= '<category>' . $categories . '</category>'; 
    18951942                        $content .= stripslashes($entry['post_content']); 
    18961943 
    18971944                        $struct[] = array( 
     
    19001947                                'content' => $content, 
    19011948                                'postid' => (string) $entry['ID'], 
    19021949                        ); 
    1903  
    19041950                } 
    19051951 
    19061952                $recent_posts = array(); 
    1907                 for ( $j=0; $j<count($struct); $j++ ) { 
     1953                for ($j = 0; $j < count($struct); $j++) { 
    19081954                        array_push($recent_posts, $struct[$j]); 
    19091955                } 
    19101956 
     
    19231969 
    19241970                $this->escape($args); 
    19251971 
    1926                 $blog_ID    = (int) $args[1]; 
     1972                $blog_ID = (int) $args[1]; 
    19271973                $username = $args[2]; 
    1928                 $password = $args[3]; 
    1929                 $template  = $args[4]; /* could be 'main' or 'archiveIndex', but we don't use it */ 
     1974                $password = $args[3]; 
     1975                $template = $args[4]; /* could be 'main' or 'archiveIndex', but we don't use it */ 
    19301976 
    1931                 if ( !$user = $this->login($username, $password) ) 
     1977                if (!$user = $this->login($username, $password)) 
    19321978                        return $this->error; 
    19331979 
    19341980                do_action('xmlrpc_call', 'blogger.getTemplate'); 
    19351981 
    1936                 if ( !current_user_can('edit_themes') ) 
     1982                if (!current_user_can('edit_themes')) 
    19371983                        return new IXR_Error(401, __('Sorry, this user can not edit the template.')); 
    19381984 
    19391985                /* warning: here we make the assumption that the blog's URL is on the same server */ 
    19401986                $filename = get_option('home') . '/'; 
    1941                 $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename); 
     1987                $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'] . '/', $filename); 
    19421988 
    19431989                $f = fopen($filename, 'r'); 
    19441990                $content = fread($f, filesize($filename)); 
     
    19622008 
    19632009                $this->escape($args); 
    19642010 
    1965                 $blog_ID    = (int) $args[1]; 
     2011                $blog_ID = (int) $args[1]; 
    19662012                $username = $args[2]; 
    1967                 $password = $args[3]; 
    1968                 $content    = $args[4]; 
    1969                 $template  = $args[5]; /* could be 'main' or 'archiveIndex', but we don't use it */ 
     2013                $password = $args[3]; 
     2014                $content = $args[4]; 
     2015                $template = $args[5]; /* could be 'main' or 'archiveIndex', but we don't use it */ 
    19702016 
    1971                 if ( !$user = $this->login($username, $password) ) 
     2017                if (!$user = $this->login($username, $password)) 
    19722018                        return $this->error; 
    19732019 
    19742020                do_action('xmlrpc_call', 'blogger.setTemplate'); 
    19752021 
    1976                 if ( !current_user_can('edit_themes') ) 
     2022                if (!current_user_can('edit_themes')) 
    19772023                        return new IXR_Error(401, __('Sorry, this user cannot edit the template.')); 
    19782024 
    19792025                /* warning: here we make the assumption that the blog's URL is on the same server */ 
    19802026                $filename = get_option('home') . '/'; 
    1981                 $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename); 
     2027                $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'] . '/', $filename); 
    19822028 
    19832029                if ($f = fopen($filename, 'w+')) { 
    19842030                        fwrite($f, $content); 
     
    20022048 
    20032049                $this->escape($args); 
    20042050 
    2005                 $blog_ID    = (int) $args[1]; /* though we don't use it yet */ 
     2051                $blog_ID = (int) $args[1]; /* though we don't use it yet */ 
    20062052                $username = $args[2]; 
    2007                 $password = $args[3]; 
    2008                 $content    = $args[4]; 
    2009                 $publish    = $args[5]; 
     2053                $password = $args[3]; 
     2054                $content = $args[4]; 
     2055                $publish = $args[5]; 
    20102056 
    2011                 if ( !$user = $this->login($username, $password) ) 
     2057                if (!$user = $this->login($username, $password)) 
    20122058                        return $this->error; 
    20132059 
    20142060                do_action('xmlrpc_call', 'blogger.newPost'); 
    20152061 
    20162062                $cap = ($publish) ? 'publish_posts' : 'edit_posts'; 
    2017                 if ( !current_user_can($cap) ) 
     2063                if (!current_user_can($cap)) 
    20182064                        return new IXR_Error(401, __('Sorry, you are not allowed to post on this site.')); 
    20192065 
    20202066                $post_status = ($publish) ? 'publish' : 'draft'; 
     
    20312077                $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status'); 
    20322078 
    20332079                $post_ID = wp_insert_post($post_data); 
    2034                 if ( is_wp_error( $post_ID ) ) 
     2080                if (is_wp_error($post_ID)) 
    20352081                        return new IXR_Error(500, $post_ID->get_error_message()); 
    20362082 
    2037                 if ( !$post_ID ) 
     2083                if (!$post_ID) 
    20382084                        return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.')); 
    20392085 
    2040                 $this->attach_uploads( $post_ID, $post_content ); 
     2086                $this->attach_uploads($post_ID, $post_content); 
    20412087 
    20422088                logIO('O', "Posted ! ID: $post_ID"); 
    20432089 
     
    20562102 
    20572103                $this->escape($args); 
    20582104 
    2059                 $post_ID    = (int) $args[1]; 
    2060                 $username = $args[2]; 
    2061                 $password  = $args[3]; 
    2062                 $content    = $args[4]; 
    2063                 $publish    = $args[5]; 
     2105                $post_ID = (int) $args[1]; 
     2106                $username = $args[2]; 
     2107                $password = $args[3]; 
     2108                $content = $args[4]; 
     2109                $publish = $args[5]; 
    20642110 
    2065                 if ( !$user = $this->login($username, $password) ) 
     2111                if (!$user = $this->login($username, $password)) 
    20662112                        return $this->error; 
    20672113 
    20682114                do_action('xmlrpc_call', 'blogger.editPost'); 
    20692115 
    2070                 $actual_post = wp_get_single_post($post_ID,ARRAY_A); 
     2116                $actual_post = wp_get_single_post($post_ID, ARRAY_A); 
    20712117 
    2072                 if ( !$actual_post || $actual_post['post_type'] != 'post' ) 
     2118                if (!$actual_post || $actual_post['post_type'] != 'post') 
    20732119                        return new IXR_Error(404, __('Sorry, no such post.')); 
    20742120 
    20752121                $this->escape($actual_post); 
    20762122 
    2077                 if ( !current_user_can('edit_post', $post_ID) ) 
     2123                if (!current_user_can('edit_post', $post_ID)) 
    20782124                        return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.')); 
    20792125 
    20802126                extract($actual_post, EXTR_SKIP); 
    20812127 
    2082                 if ( ('publish' == $post_status) && !current_user_can('publish_posts') ) 
     2128                if (('publish' == $post_status) && !current_user_can('publish_posts')) 
    20832129                        return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.')); 
    20842130 
    20852131                $post_title = xmlrpc_getposttitle($content); 
     
    20902136 
    20912137                $result = wp_update_post($postdata); 
    20922138 
    2093                 if ( !$result ) 
     2139                if (!$result) 
    20942140                        return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.')); 
    20952141 
    2096                 $this->attach_uploads( $ID, $post_content ); 
     2142                $this->attach_uploads($ID, $post_content); 
    20972143 
    20982144                return true; 
    20992145        } 
     
    21092155        function blogger_deletePost($args) { 
    21102156                $this->escape($args); 
    21112157 
    2112                 $post_ID    = (int) $args[1]; 
    2113                 $username = $args[2]; 
    2114                 $password  = $args[3]; 
    2115                 $publish    = $args[4]; 
     2158                $post_ID = (int) $args[1]; 
     2159                $username = $args[2]; 
     2160                $password = $args[3]; 
     2161                $publish = $args[4]; 
    21162162 
    2117                 if ( !$user = $this->login($username, $password) ) 
     2163                if (!$user = $this->login($username, $password)) 
    21182164                        return $this->error; 
    21192165 
    21202166                do_action('xmlrpc_call', 'blogger.deletePost'); 
    21212167 
    2122                 $actual_post = wp_get_single_post($post_ID,ARRAY_A); 
     2168                $actual_post = wp_get_single_post($post_ID, ARRAY_A); 
    21232169 
    2124                 if ( !$actual_post || $actual_post['post_type'] != 'post' ) 
     2170                if (!$actual_post || $actual_post['post_type'] != 'post') 
    21252171                        return new IXR_Error(404, __('Sorry, no such post.')); 
    21262172 
    2127                 if ( !current_user_can('delete_post', $post_ID) ) 
     2173                if (!current_user_can('delete_post', $post_ID)) 
    21282174                        return new IXR_Error(401, __('Sorry, you do not have the right to delete this post.')); 
    21292175 
    21302176                $result = wp_delete_post($post_ID); 
    21312177 
    2132                 if ( !$result ) 
     2178                if (!$result) 
    21332179                        return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be deleted.')); 
    21342180 
    21352181                return true; 
     
    21762222        function mw_newPost($args) { 
    21772223                $this->escape($args); 
    21782224 
    2179                 $blog_ID    = (int) $args[0]; // we will support this in the near future 
    2180                 $username = $args[1]; 
    2181                 $password  = $args[2]; 
     2225                $blog_ID = (int) $args[0]; // we will support this in the near future 
     2226                $username = $args[1]; 
     2227                $password = $args[2]; 
    21822228                $content_struct = $args[3]; 
    2183                 $publish     = isset( $args[4] ) ? $args[4] : 0; 
     2229                $publish = isset($args[4]) ? $args[4] : 0; 
    21842230 
    2185                 if ( !$user = $this->login($username, $password) ) 
     2231                if (!$user = $this->login($username, $password)) 
    21862232                        return $this->error; 
    21872233 
    21882234                do_action('xmlrpc_call', 'metaWeblog.newPost'); 
    21892235 
    21902236                $page_template = ''; 
    2191                 if ( !empty( $content_struct['post_type'] ) ) { 
    2192                         if ( $content_struct['post_type'] == 'page' ) { 
    2193                                 if ( $publish ) 
    2194                                         $cap = 'publish_pages'; 
     2237                if (!empty($content_struct['post_type'])) { 
     2238                        if ($content_struct['post_type'] == 'page') { 
     2239                                if ($publish) 
     2240                                        $cap = 'publish_pages'; 
    21952241                                elseif ('publish' == $content_struct['page_status']) 
    2196                                         $cap = 'publish_pages'; 
     2242                                        $cap = 'publish_pages'; 
    21972243                                else 
    21982244                                        $cap = 'edit_pages'; 
    2199                                 $error_message = __( 'Sorry, you are not allowed to publish pages on this site.' ); 
     2245                                $error_message = __('Sorry, you are not allowed to publish pages on this site.'); 
    22002246                                $post_type = 'page'; 
    2201                                 if ( !empty( $content_struct['wp_page_template'] ) ) 
     2247                                if (!empty($content_struct['wp_page_template'])) 
    22022248                                        $page_template = $content_struct['wp_page_template']; 
    2203                         } elseif ( $content_struct['post_type'] == 'post' ) { 
    2204                                 if ( $publish ) 
    2205                                         $cap = 'publish_posts'; 
     2249                        } elseif ($content_struct['post_type'] == 'post') { 
     2250                                if ($publish) 
     2251                                        $cap = 'publish_posts'; 
    22062252                                elseif ('publish' == $content_struct['post_status']) 
    2207                                         $cap = 'publish_posts'; 
     2253                                        $cap = 'publish_posts'; 
    22082254                                else 
    22092255                                        $cap = 'edit_posts'; 
    2210                                 $error_message = __( 'Sorry, you are not allowed to publish posts on this site.' ); 
     2256                                $error_message = __('Sorry, you are not allowed to publish posts on this site.'); 
    22112257                                $post_type = 'post'; 
    22122258                        } else { 
    22132259                                // No other post_type values are allowed here 
    2214                                 return new IXR_Error( 401, __( 'Invalid post type.' ) ); 
     2260                                return new IXR_Error(401, __('Invalid post type.')); 
    22152261                        } 
    22162262                } else { 
    2217                         if ( $publish ) 
    2218                                 $cap = 'publish_posts'; 
     2263                        if ($publish) 
     2264                                $cap = 'publish_posts'; 
    22192265                        elseif ('publish' == $content_struct['post_status']) 
    2220                                 $cap = 'publish_posts'; 
     2266                                $cap = 'publish_posts'; 
    22212267                        else 
    22222268                                $cap = 'edit_posts'; 
    2223                         $error_message = __( 'Sorry, you are not allowed to publish posts on this site.' ); 
     2269                        $error_message = __('Sorry, you are not allowed to publish posts on this site.'); 
    22242270                        $post_type = 'post'; 
    22252271                } 
    22262272 
    2227                 if ( !current_user_can( $cap ) ) 
    2228                         return new IXR_Error( 401, $error_message ); 
     2273                if (!current_user_can($cap)) 
     2274                        return new IXR_Error(401, $error_message); 
    22292275 
    22302276                // Check for a valid post format if one was given 
    2231                 if ( isset( $content_struct['wp_post_format'] ) ) { 
    2232                         $content_struct['wp_post_format'] = sanitize_key( $content_struct['wp_post_format'] ); 
    2233                         if ( !array_key_exists( $content_struct['wp_post_format'], get_post_format_strings() ) ) { 
    2234                                 return new IXR_Error( 404, __( 'Invalid post format' ) ); 
     2277                if (isset($content_struct['wp_post_format'])) { 
     2278                        $content_struct['wp_post_format'] = sanitize_key($content_struct['wp_post_format']); 
     2279                        if (!array_key_exists($content_struct['wp_post_format'], get_post_format_strings())) { 
     2280                                return new IXR_Error(404, __('Invalid post format')); 
    22352281                        } 
    22362282                } 
    22372283 
    22382284                // Let WordPress generate the post_name (slug) unless 
    22392285                // one has been provided. 
    22402286                $post_name = ""; 
    2241                 if ( isset($content_struct['wp_slug']) ) 
     2287                if (isset($content_struct['wp_slug'])) 
    22422288                        $post_name = $content_struct['wp_slug']; 
    22432289 
    22442290                // Only use a password if one was given. 
    2245                 if ( isset($content_struct['wp_password']) ) 
     2291                if (isset($content_struct['wp_password'])) 
    22462292                        $post_password = $content_struct['wp_password']; 
    22472293 
    22482294                // Only set a post parent if one was provided. 
    2249                 if ( isset($content_struct['wp_page_parent_id']) ) 
     2295                if (isset($content_struct['wp_page_parent_id'])) 
    22502296                        $post_parent = $content_struct['wp_page_parent_id']; 
    22512297 
    22522298                // Only set the menu_order if it was provided. 
    2253                 if ( isset($content_struct['wp_page_order']) ) 
     2299                if (isset($content_struct['wp_page_order'])) 
    22542300                        $menu_order = $content_struct['wp_page_order']; 
    22552301 
    22562302                $post_author = $user->ID; 
    22572303 
    22582304                // If an author id was provided then use it instead. 
    2259                 if ( isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id']) ) { 
    2260                         switch ( $post_type ) { 
     2305                if (isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id'])) { 
     2306                        switch ($post_type) { 
    22612307                                case "post": 
    2262                                         if ( !current_user_can('edit_others_posts') ) 
     2308                                        if (!current_user_can('edit_others_posts')) 
    22632309                                                return(new IXR_Error(401, __('You are not allowed to post as this user'))); 
    22642310                                        break; 
    22652311                                case "page": 
    2266                                         if ( !current_user_can('edit_others_pages') ) 
     2312                                        if (!current_user_can('edit_others_pages')) 
    22672313                                                return(new IXR_Error(401, __('You are not allowed to create pages as this user'))); 
    22682314                                        break; 
    22692315                                default: 
     
    22732319                        $post_author = $content_struct['wp_author_id']; 
    22742320                } 
    22752321 
    2276                 $post_title = isset( $content_struct['title'] ) ? $content_struct['title'] : null; 
    2277                 $post_content = isset( $content_struct['description'] ) ? $content_struct['description'] : null; 
     2322                $post_title = isset($content_struct['title']) ? $content_struct['title'] : null; 
     2323                $post_content = isset($content_struct['description']) ? $content_struct['description'] : null; 
    22782324 
    22792325                $post_status = $publish ? 'publish' : 'draft'; 
    22802326 
    2281                 if ( isset( $content_struct["{$post_type}_status"] ) ) { 
    2282                         switch ( $content_struct["{$post_type}_status"] ) { 
     2327                if (isset($content_struct["{$post_type}_status"])) { 
     2328                        switch ($content_struct["{$post_type}_status"]) { 
    22832329                                case 'draft': 
    22842330                                case 'pending': 
    22852331                                case 'private': 
     
    22972343 
    22982344                $tags_input = isset($content_struct['mt_keywords']) ? $content_struct['mt_keywords'] : null; 
    22992345 
    2300                 if ( isset($content_struct['mt_allow_comments']) ) { 
    2301                         if ( !is_numeric($content_struct['mt_allow_comments']) ) { 
    2302                                 switch ( $content_struct['mt_allow_comments'] ) { 
     2346                if (isset($content_struct['mt_allow_comments'])) { 
     2347                        if (!is_numeric($content_struct['mt_allow_comments'])) { 
     2348                                switch ($content_struct['mt_allow_comments']) { 
    23032349                                        case 'closed': 
    23042350                                                $comment_status = 'closed'; 
    23052351                                                break; 
     
    23112357                                                break; 
    23122358                                } 
    23132359                        } else { 
    2314                                 switch ( (int) $content_struct['mt_allow_comments'] ) { 
     2360                                switch ((int) $content_struct['mt_allow_comments']) { 
    23152361                                        case 0: 
    23162362                                        case 2: 
    23172363                                                $comment_status = 'closed'; 
     
    23282374                        $comment_status = get_option('default_comment_status'); 
    23292375                } 
    23302376 
    2331                 if ( isset($content_struct['mt_allow_pings']) ) { 
    2332                         if ( !is_numeric($content_struct['mt_allow_pings']) ) { 
    2333                                 switch ( $content_struct['mt_allow_pings'] ) { 
     2377                if (isset($content_struct['mt_allow_pings'])) { 
     2378                        if (!is_numeric($content_struct['mt_allow_pings'])) { 
     2379                                switch ($content_struct['mt_allow_pings']) { 
    23342380                                        case 'closed': 
    23352381                                                $ping_status = 'closed'; 
    23362382                                                break; 
     
    23422388                                                break; 
    23432389                                } 
    23442390                        } else { 
    2345                                 switch ( (int) $content_struct['mt_allow_pings'] ) { 
     2391                                switch ((int) $content_struct['mt_allow_pings']) { 
    23462392                                        case 0: 
    23472393                                                $ping_status = 'closed'; 
    23482394                                                break; 
     
    23582404                        $ping_status = get_option('default_ping_status'); 
    23592405                } 
    23602406 
    2361                 if ( $post_more ) 
     2407                if ($post_more) 
    23622408                        $post_content = $post_content . '<!--more-->' . $post_more; 
    23632409 
    23642410                $to_ping = null; 
    2365                 if ( isset( $content_struct['mt_tb_ping_urls'] ) ) { 
     2411                if (isset($content_struct['mt_tb_ping_urls'])) { 
    23662412                        $to_ping = $content_struct['mt_tb_ping_urls']; 
    2367                         if ( is_array($to_ping) ) 
     2413                        if (is_array($to_ping)) 
    23682414                                $to_ping = implode(' ', $to_ping); 
    23692415                } 
    23702416 
    23712417                // Do some timestamp voodoo 
    2372                 if ( !empty( $content_struct['date_created_gmt'] ) ) 
    2373                         $dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
    2374                 elseif ( !empty( $content_struct['dateCreated']) ) 
     2418                if (!empty($content_struct['date_created_gmt'])) 
     2419                        $dateCreated = str_replace('Z', '', $content_struct['date_created_gmt']->getIso()) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
     2420                elseif (!empty($content_struct['dateCreated'])) 
    23752421                        $dateCreated = $content_struct['dateCreated']->getIso(); 
    23762422 
    2377                 if ( !empty( $dateCreated ) ) { 
     2423                if (!empty($dateCreated)) { 
    23782424                        $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated)); 
    23792425                        $post_date_gmt = iso8601_to_datetime($dateCreated, 'GMT'); 
    23802426                } else { 
     
    23832429                } 
    23842430 
    23852431                $post_category = array(); 
    2386                 if ( isset( $content_struct['categories'] ) ) { 
     2432                if (isset($content_struct['categories'])) { 
    23872433                        $catnames = $content_struct['categories']; 
    2388                         logIO('O', 'Post cats: ' . var_export($catnames,true)); 
     2434                        logIO('O', 'Post cats: ' . var_export($catnames, true)); 
    23892435 
    2390                         if ( is_array($catnames) ) { 
     2436                        if (is_array($catnames)) { 
    23912437                                foreach ($catnames as $cat) { 
    23922438                                        $post_category[] = get_cat_ID($cat); 
    23932439                                } 
     
    23962442 
    23972443                $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'to_ping', 'post_type', 'post_name', 'post_password', 'post_parent', 'menu_order', 'tags_input', 'page_template'); 
    23982444 
    2399                 $post_ID = $postdata['ID'] = get_default_post_to_edit( $post_type, true )->ID; 
     2445                $post_ID = $postdata['ID'] = get_default_post_to_edit($post_type, true)->ID; 
    24002446 
    24012447                // Only posts can be sticky 
    2402                 if ( $post_type == 'post' && isset( $content_struct['sticky'] ) ) { 
    2403                         if ( $content_struct['sticky'] == true ) 
    2404                                 stick_post( $post_ID ); 
    2405                         elseif ( $content_struct['sticky'] == false ) 
    2406                                 unstick_post( $post_ID ); 
     2448                if ($post_type == 'post' && isset($content_struct['sticky'])) { 
     2449                        if ($content_struct['sticky'] == true) 
     2450                                stick_post($post_ID); 
     2451                        elseif ($content_struct['sticky'] == false) 
     2452                                unstick_post($post_ID); 
    24072453                } 
    24082454 
    2409                 if ( isset($content_struct['custom_fields']) ) 
     2455                if (isset($content_struct['custom_fields'])) 
    24102456                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    24112457 
    24122458                // Handle enclosures 
    24132459                $thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null; 
    24142460                $this->add_enclosure_if_new($post_ID, $thisEnclosure); 
    24152461 
    2416                 $this->attach_uploads( $post_ID, $post_content ); 
     2462                $this->attach_uploads($post_ID, $post_content); 
    24172463 
    24182464                // Handle post formats if assigned, value is validated earlier 
    24192465                // in this function 
    2420                 if ( isset( $content_struct['wp_post_format'] ) ) 
    2421                         wp_set_post_terms( $post_ID, array( 'post-format-' . $content_struct['wp_post_format'] ), 'post_format' ); 
     2466                if (isset($content_struct['wp_post_format'])) 
     2467                        wp_set_post_terms($post_ID, array('post-format-' . $content_struct['wp_post_format']), 'post_format'); 
    24222468 
    2423                 $post_ID = wp_insert_post( $postdata, true ); 
    2424                 if ( is_wp_error( $post_ID ) ) 
     2469                $post_ID = wp_insert_post($postdata, true); 
     2470                if (is_wp_error($post_ID)) 
    24252471                        return new IXR_Error(500, $post_ID->get_error_message()); 
    24262472 
    2427                 if ( !$post_ID ) 
     2473                if (!$post_ID) 
    24282474                        return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.')); 
    24292475 
    24302476                logIO('O', "Posted ! ID: $post_ID"); 
     
    24332479        } 
    24342480 
    24352481        function add_enclosure_if_new($post_ID, $enclosure) { 
    2436                 if ( is_array( $enclosure ) && isset( $enclosure['url'] ) && isset( $enclosure['length'] ) && isset( $enclosure['type'] ) ) { 
     2482                if (is_array($enclosure) && isset($enclosure['url']) && isset($enclosure['length']) && isset($enclosure['type'])) { 
    24372483 
    24382484                        $encstring = $enclosure['url'] . "\n" . $enclosure['length'] . "\n" . $enclosure['type']; 
    24392485                        $found = false; 
    2440                         foreach ( (array) get_post_custom($post_ID) as $key => $val) { 
     2486                        foreach ((array) get_post_custom($post_ID) as $key => $val) { 
    24412487                                if ($key == 'enclosure') { 
    2442                                         foreach ( (array) $val as $enc ) { 
     2488                                        foreach ((array) $val as $enc) { 
    24432489                                                if ($enc == $encstring) { 
    24442490                                                        $found = true; 
    24452491                                                        break 2; 
     
    24482494                                } 
    24492495                        } 
    24502496                        if (!$found) 
    2451                                 add_post_meta( $post_ID, 'enclosure', $encstring ); 
     2497                                add_post_meta($post_ID, 'enclosure', $encstring); 
    24522498                } 
    24532499        } 
    24542500 
     
    24602506         * @param int $post_ID Post ID. 
    24612507         * @param string $post_content Post Content for attachment. 
    24622508         */ 
    2463         function attach_uploads( $post_ID, $post_content ) { 
     2509        function attach_uploads($post_ID, $post_content) { 
    24642510                global $wpdb; 
    24652511 
    24662512                // find any unattached files 
    2467                 $attachments = $wpdb->get_results( "SELECT ID, guid FROM {$wpdb->posts} WHERE post_parent = '0' AND post_type = 'attachment'" ); 
    2468                 if ( is_array( $attachments ) ) { 
    2469                         foreach ( $attachments as $file ) { 
    2470                                 if ( strpos( $post_content, $file->guid ) !== false ) 
    2471                                         $wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID) ); 
     2513                $attachments = $wpdb->get_results("SELECT ID, guid FROM {$wpdb->posts} WHERE post_parent = '0' AND post_type = 'attachment'"); 
     2514                if (is_array($attachments)) { 
     2515                        foreach ($attachments as $file) { 
     2516                                if (strpos($post_content, $file->guid) !== false) 
     2517                                        $wpdb->update($wpdb->posts, array('post_parent' => $post_ID), array('ID' => $file->ID)); 
    24722518                        } 
    24732519                } 
    24742520        } 
     
    24852531 
    24862532                $this->escape($args); 
    24872533 
    2488                 $post_ID    = (int) $args[0]; 
    2489                 $username = $args[1]; 
    2490                 $password  = $args[2]; 
     2534                $post_ID = (int) $args[0]; 
     2535                $username = $args[1]; 
     2536                $password = $args[2]; 
    24912537                $content_struct = $args[3]; 
    2492                 $publish    = $args[4]; 
     2538                $publish = $args[4]; 
    24932539 
    2494                 if ( !$user = $this->login($username, $password) ) 
     2540                if (!$user = $this->login($username, $password)) 
    24952541                        return $this->error; 
    24962542 
    24972543                do_action('xmlrpc_call', 'metaWeblog.editPost'); 
    24982544 
    24992545                $cap = ( $publish ) ? 'publish_posts' : 'edit_posts'; 
    2500                 $error_message = __( 'Sorry, you are not allowed to publish posts on this site.' ); 
     2546                $error_message = __('Sorry, you are not allowed to publish posts on this site.'); 
    25012547                $post_type = 'post'; 
    25022548                $page_template = ''; 
    2503                 if ( !empty( $content_struct['post_type'] ) ) { 
    2504                         if ( $content_struct['post_type'] == 'page' ) { 
    2505                                 if ( $publish || 'publish' == $content_struct['page_status'] ) 
    2506                                         $cap = 'publish_pages'; 
     2549                if (!empty($content_struct['post_type'])) { 
     2550                        if ($content_struct['post_type'] == 'page') { 
     2551                                if ($publish || 'publish' == $content_struct['page_status']) 
     2552                                        $cap = 'publish_pages'; 
    25072553                                else 
    25082554                                        $cap = 'edit_pages'; 
    2509                                 $error_message = __( 'Sorry, you are not allowed to publish pages on this site.' ); 
     2555                                $error_message = __('Sorry, you are not allowed to publish pages on this site.'); 
    25102556                                $post_type = 'page'; 
    2511                                 if ( !empty( $content_struct['wp_page_template'] ) ) 
     2557                                if (!empty($content_struct['wp_page_template'])) 
    25122558                                        $page_template = $content_struct['wp_page_template']; 
    2513                         } elseif ( $content_struct['post_type'] == 'post' ) { 
    2514                                 if ( $publish || 'publish' == $content_struct['post_status'] ) 
    2515                                         $cap = 'publish_posts'; 
     2559                        } elseif ($content_struct['post_type'] == 'post') { 
     2560                                if ($publish || 'publish' == $content_struct['post_status']) 
     2561                                        $cap = 'publish_posts'; 
    25162562                                else 
    25172563                                        $cap = 'edit_posts'; 
    2518                                 $error_message = __( 'Sorry, you are not allowed to publish posts on this site.' ); 
     2564                                $error_message = __('Sorry, you are not allowed to publish posts on this site.'); 
    25192565                                $post_type = 'post'; 
    25202566                        } else { 
    25212567                                // No other post_type values are allowed here 
    2522                                 return new IXR_Error( 401, __( 'Invalid post type.' ) ); 
     2568                                return new IXR_Error(401, __('Invalid post type.')); 
    25232569                        } 
    25242570                } else { 
    2525                         if ( $publish || 'publish' == $content_struct['post_status'] ) 
    2526                                 $cap = 'publish_posts'; 
     2571                        if ($publish || 'publish' == $content_struct['post_status']) 
     2572                                $cap = 'publish_posts'; 
    25272573                        else 
    25282574                                $cap = 'edit_posts'; 
    2529                         $error_message = __( 'Sorry, you are not allowed to publish posts on this site.' ); 
     2575                        $error_message = __('Sorry, you are not allowed to publish posts on this site.'); 
    25302576                        $post_type = 'post'; 
    25312577                } 
    25322578 
    2533                 if ( !current_user_can( $cap ) ) 
    2534                         return new IXR_Error( 401, $error_message ); 
     2579                if (!current_user_can($cap)) 
     2580                        return new IXR_Error(401, $error_message); 
    25352581 
    25362582                // Check for a valid post format if one was given 
    2537                 if ( isset( $content_struct['wp_post_format'] ) ) { 
    2538                         $content_struct['wp_post_format'] = sanitize_key( $content_struct['wp_post_format'] ); 
    2539                         if ( !array_key_exists( $content_struct['wp_post_format'], get_post_format_strings() ) ) { 
    2540                                 return new IXR_Error( 404, __( 'Invalid post format' ) ); 
     2583                if (isset($content_struct['wp_post_format'])) { 
     2584                        $content_struct['wp_post_format'] = sanitize_key($content_struct['wp_post_format']); 
     2585                        if (!array_key_exists($content_struct['wp_post_format'], get_post_format_strings())) { 
     2586                                return new IXR_Error(404, __('Invalid post format')); 
    25412587                        } 
    25422588                } 
    25432589 
     
    25462592                // If there is no post data for the give post id, stop 
    25472593                // now and return an error. Other wise a new post will be 
    25482594                // created (which was the old behavior). 
    2549                 if ( empty($postdata["ID"]) ) 
     2595                if (empty($postdata["ID"])) 
    25502596                        return(new IXR_Error(404, __('Invalid post ID.'))); 
    25512597 
    25522598                $this->escape($postdata); 
     
    25552601                // Let WordPress manage slug if none was provided. 
    25562602                $post_name = ""; 
    25572603                $post_name = $postdata['post_name']; 
    2558                 if ( isset($content_struct['wp_slug']) ) 
     2604                if (isset($content_struct['wp_slug'])) 
    25592605                        $post_name = $content_struct['wp_slug']; 
    25602606 
    25612607                // Only use a password if one was given. 
    2562                 if ( isset($content_struct['wp_password']) ) 
     2608                if (isset($content_struct['wp_password'])) 
    25632609                        $post_password = $content_struct['wp_password']; 
    25642610 
    25652611                // Only set a post parent if one was given. 
    2566                 if ( isset($content_struct['wp_page_parent_id']) ) 
     2612                if (isset($content_struct['wp_page_parent_id'])) 
    25672613                        $post_parent = $content_struct['wp_page_parent_id']; 
    25682614 
    25692615                // Only set the menu_order if it was given. 
    2570                 if ( isset($content_struct['wp_page_order']) ) 
     2616                if (isset($content_struct['wp_page_order'])) 
    25712617                        $menu_order = $content_struct['wp_page_order']; 
    25722618 
    25732619                $post_author = $postdata['post_author']; 
    25742620 
    25752621                // Only set the post_author if one is set. 
    2576                 if ( isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id']) ) { 
    2577                         switch ( $post_type ) { 
     2622                if (isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id'])) { 
     2623                        switch ($post_type) { 
    25782624                                case 'post': 
    2579                                         if ( !current_user_can('edit_others_posts') ) 
     2625                                        if (!current_user_can('edit_others_posts')) 
    25802626                                                return(new IXR_Error(401, __('You are not allowed to change the post author as this user.'))); 
    25812627                                        break; 
    25822628                                case 'page': 
    2583                                         if ( !current_user_can('edit_others_pages') ) 
     2629                                        if (!current_user_can('edit_others_pages')) 
    25842630                                                return(new IXR_Error(401, __('You are not allowed to change the page author as this user.'))); 
    25852631                                        break; 
    25862632                                default: 
     
    25902636                        $post_author = $content_struct['wp_author_id']; 
    25912637                } 
    25922638 
    2593                 if ( isset($content_struct['mt_allow_comments']) ) { 
    2594                         if ( !is_numeric($content_struct['mt_allow_comments']) ) { 
    2595                                 switch ( $content_struct['mt_allow_comments'] ) { 
     2639                if (isset($content_struct['mt_allow_comments'])) { 
     2640                        if (!is_numeric($content_struct['mt_allow_comments'])) { 
     2641                                switch ($content_struct['mt_allow_comments']) { 
    25962642                                        case 'closed': 
    25972643                                                $comment_status = 'closed'; 
    25982644                                                break; 
     
    26042650                                                break; 
    26052651                                } 
    26062652                        } else { 
    2607                                 switch ( (int) $content_struct['mt_allow_comments'] ) { 
     2653                                switch ((int) $content_struct['mt_allow_comments']) { 
    26082654                                        case 0: 
    26092655                                        case 2: 
    26102656                                                $comment_status = 'closed'; 
     
    26192665                        } 
    26202666                } 
    26212667 
    2622                 if ( isset($content_struct['mt_allow_pings']) ) { 
    2623                         if ( !is_numeric($content_struct['mt_allow_pings']) ) { 
    2624                                 switch ( $content_struct['mt_allow_pings'] ) { 
     2668                if (isset($content_struct['mt_allow_pings'])) { 
     2669                        if (!is_numeric($content_struct['mt_allow_pings'])) { 
     2670                                switch ($content_struct['mt_allow_pings']) { 
    26252671                                        case 'closed': 
    26262672                                                $ping_status = 'closed'; 
    26272673                                                break; 
     
    26332679                                                break; 
    26342680                                } 
    26352681                        } else { 
    2636                                 switch ( (int) $content_struct["mt_allow_pings"] ) { 
     2682                                switch ((int) $content_struct["mt_allow_pings"]) { 
    26372683                                        case 0: 
    26382684                                                $ping_status = 'closed'; 
    26392685                                                break; 
     
    26472693                        } 
    26482694                } 
    26492695 
    2650                 $post_title = isset( $content_struct['title'] ) ? $content_struct['title'] : null; 
    2651                 $post_content = isset( $content_struct['description'] ) ? $content_struct['description'] : null; 
     2696                $post_title = isset($content_struct['title']) ? $content_struct['title'] : null; 
     2697                $post_content = isset($content_struct['description']) ? $content_struct['description'] : null; 
    26522698 
    26532699                $post_category = array(); 
    2654                 if ( isset( $content_struct['categories'] ) ) { 
     2700                if (isset($content_struct['categories'])) { 
    26552701                        $catnames = $content_struct['categories']; 
    2656                         if ( is_array($catnames) ) { 
     2702                        if (is_array($catnames)) { 
    26572703                                foreach ($catnames as $cat) { 
    26582704                                        $post_category[] = get_cat_ID($cat); 
    26592705                                } 
    26602706                        } 
    26612707                } 
    26622708 
    2663                 $post_excerpt = isset( $content_struct['mt_excerpt'] ) ? $content_struct['mt_excerpt'] : null; 
    2664                 $post_more = isset( $content_struct['mt_text_more'] ) ? $content_struct['mt_text_more'] : null; 
     2709                $post_excerpt = isset($content_struct['mt_excerpt']) ? $content_struct['mt_excerpt'] : null; 
     2710                $post_more = isset($content_struct['mt_text_more']) ? $content_struct['mt_text_more'] : null; 
    26652711 
    26662712                $post_status = $publish ? 'publish' : 'draft'; 
    2667                 if ( isset( $content_struct["{$post_type}_status"] ) ) { 
    2668                         switch( $content_struct["{$post_type}_status"] ) { 
     2713                if (isset($content_struct["{$post_type}_status"])) { 
     2714                        switch ($content_struct["{$post_type}_status"]) { 
    26692715                                case 'draft': 
    26702716                                case 'pending': 
    26712717                                case 'private': 
     
    26782724                        } 
    26792725                } 
    26802726 
    2681                 $tags_input = isset( $content_struct['mt_keywords'] ) ? $content_struct['mt_keywords'] : null; 
     2727                $tags_input = isset($content_struct['mt_keywords']) ? $content_struct['mt_keywords'] : null; 
    26822728 
    2683                 if ( ('publish' == $post_status) ) { 
    2684                         if ( ( 'page' == $post_type ) && !current_user_can('publish_pages') ) 
     2729                if (('publish' == $post_status)) { 
     2730                        if (( 'page' == $post_type ) && !current_user_can('publish_pages')) 
    26852731                                return new IXR_Error(401, __('Sorry, you do not have the right to publish this page.')); 
    2686                         else if ( !current_user_can('publish_posts') ) 
     2732                        else if (!current_user_can('publish_posts')) 
    26872733                                return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.')); 
    26882734                } 
    26892735 
    2690                 if ( $post_more ) 
     2736                if ($post_more) 
    26912737                        $post_content = $post_content . "<!--more-->" . $post_more; 
    26922738 
    26932739                $to_ping = null; 
    2694                 if ( isset( $content_struct['mt_tb_ping_urls'] ) ) { 
     2740                if (isset($content_struct['mt_tb_ping_urls'])) { 
    26952741                        $to_ping = $content_struct['mt_tb_ping_urls']; 
    2696                         if ( is_array($to_ping) ) 
     2742                        if (is_array($to_ping)) 
    26972743                                $to_ping = implode(' ', $to_ping); 
    26982744                } 
    26992745 
    27002746                // Do some timestamp voodoo 
    2701                 if ( !empty( $content_struct['date_created_gmt'] ) ) 
    2702                         $dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
    2703                 elseif ( !empty( $content_struct['dateCreated']) ) 
     2747                if (!empty($content_struct['date_created_gmt'])) 
     2748                        $dateCreated = str_replace('Z', '', $content_struct['date_created_gmt']->getIso()) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force 
     2749                elseif (!empty($content_struct['dateCreated'])) 
    27042750                        $dateCreated = $content_struct['dateCreated']->getIso(); 
    27052751 
    2706                 if ( !empty( $dateCreated ) ) { 
     2752                if (!empty($dateCreated)) { 
    27072753                        $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated)); 
    27082754                        $post_date_gmt = iso8601_to_datetime($dateCreated, 'GMT'); 
    27092755                } else { 
    2710                         $post_date    = $postdata['post_date']; 
     2756                        $post_date = $postdata['post_date']; 
    27112757                        $post_date_gmt = $postdata['post_date_gmt']; 
    27122758                } 
    27132759 
     
    27152761                $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping', 'post_name', 'post_password', 'post_parent', 'menu_order', 'post_author', 'tags_input', 'page_template'); 
    27162762 
    27172763                $result = wp_update_post($newpost, true); 
    2718                 if ( is_wp_error( $result ) ) 
     2764                if (is_wp_error($result)) 
    27192765                        return new IXR_Error(500, $result->get_error_message()); 
    27202766 
    2721                 if ( !$result ) 
     2767                if (!$result) 
    27222768                        return new IXR_Error(500, __('Sorry, your entry could not be edited. Something wrong happened.')); 
    27232769 
    27242770                // Only posts can be sticky 
    2725                 if ( $post_type == 'post' && isset( $content_struct['sticky'] ) ) { 
    2726                         if ( $content_struct['sticky'] == true ) 
    2727                                 stick_post( $post_ID ); 
    2728                         elseif ( $content_struct['sticky'] == false ) 
    2729                                 unstick_post( $post_ID ); 
     2771                if ($post_type == 'post' && isset($content_struct['sticky'])) { 
     2772                        if ($content_struct['sticky'] == true) 
     2773                                stick_post($post_ID); 
     2774                        elseif ($content_struct['sticky'] == false) 
     2775                                unstick_post($post_ID); 
    27302776                } 
    27312777 
    2732                 if ( isset($content_struct['custom_fields']) ) 
     2778                if (isset($content_struct['custom_fields'])) 
    27332779                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']); 
    27342780 
    27352781                // Handle enclosures 
    27362782                $thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null; 
    27372783                $this->add_enclosure_if_new($post_ID, $thisEnclosure); 
    27382784 
    2739                 $this->attach_uploads( $ID, $post_content ); 
     2785                $this->attach_uploads($ID, $post_content); 
    27402786 
    27412787                // Handle post formats if assigned, validation is handled 
    27422788                // earlier in this function 
    2743                 if ( isset( $content_struct['wp_post_format'] ) ) 
    2744                         wp_set_post_terms( $post_ID, array( 'post-format-' . $content_struct['wp_post_format'] ), 'post_format' ); 
     2789                if (isset($content_struct['wp_post_format'])) 
     2790                        wp_set_post_terms($post_ID, array('post-format-' . $content_struct['wp_post_format']), 'post_format'); 
    27452791 
    2746                 logIO('O',"(MW) Edited ! ID: $post_ID"); 
     2792                logIO('O', "(MW) Edited ! ID: $post_ID"); 
    27472793 
    27482794                return true; 
    27492795        } 
     
    27602806 
    27612807                $this->escape($args); 
    27622808 
    2763                 $post_ID    = (int) $args[0]; 
    2764                 $username = $args[1]; 
    2765                 $password  = $args[2]; 
     2809                $post_ID = (int) $args[0]; 
     2810                $username = $args[1]; 
     2811                $password = $args[2]; 
    27662812 
    2767                 if ( !$user = $this->login($username, $password) ) 
     2813                if (!$user = $this->login($username, $password)) 
    27682814                        return $this->error; 
    27692815 
    2770                 if ( !current_user_can( 'edit_post', $post_ID ) ) 
    2771                         return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) ); 
     2816                if (!current_user_can('edit_post', $post_ID)) 
     2817                        return new IXR_Error(401, __('Sorry, you cannot edit this post.')); 
    27722818 
    27732819                do_action('xmlrpc_call', 'metaWeblog.getPost'); 
    27742820 
     
    27792825                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt'], false); 
    27802826 
    27812827                        // For drafts use the GMT version of the post date 
    2782                         if ( $postdata['post_status'] == 'draft' ) 
    2783                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $postdata['post_date'] ), 'Ymd\TH:i:s' ); 
     2828                        if ($postdata['post_status'] == 'draft') 
     2829                                $post_date_gmt = get_gmt_from_date(mysql2date('Y-m-d H:i:s', $postdata['post_date']), 'Ymd\TH:i:s'); 
    27842830 
    27852831                        $categories = array(); 
    27862832                        $catids = wp_get_post_categories($post_ID); 
    2787                         foreach($catids as $catid) 
     2833                        foreach ($catids as $catid) 
    27882834                                $categories[] = get_cat_name($catid); 
    27892835 
    27902836                        $tagnames = array(); 
    2791                         $tags = wp_get_post_tags( $post_ID ); 
    2792                         if ( !empty( $tags ) ) { 
    2793                                 foreach ( $tags as $tag ) 
     2837                        $tags = wp_get_post_tags($post_ID); 
     2838                        if (!empty($tags)) { 
     2839                                foreach ($tags as $tag) 
    27942840                                        $tagnames[] = $tag->name; 
    2795                                 $tagnames = implode( ', ', $tagnames ); 
     2841                                $tagnames = implode(', ', $tagnames); 
    27962842                        } else { 
    27972843                                $tagnames = ''; 
    27982844                        } 
     
    28072853                        $allow_pings = ('open' == $postdata['ping_status']) ? 1 : 0; 
    28082854 
    28092855                        // Consider future posts as published 
    2810                         if ( $postdata['post_status'] === 'future' ) 
     2856                        if ($postdata['post_status'] === 'future') 
    28112857                                $postdata['post_status'] = 'publish'; 
    28122858 
    28132859                        // Get post format 
    2814                         $post_format = get_post_format( $post_ID ); 
    2815                         if ( empty( $post_format ) ) 
     2860                        $post_format = get_post_format($post_ID); 
     2861                        if (empty($post_format)) 
    28162862                                $post_format = 'standard'; 
    28172863 
    28182864                        $sticky = false; 
    2819                         if ( is_sticky( $post_ID ) ) 
     2865                        if (is_sticky($post_ID)) 
    28202866                                $sticky = true; 
    28212867 
    28222868                        $enclosure = array(); 
    2823                         foreach ( (array) get_post_custom($post_ID) as $key => $val) { 
     2869                        foreach ((array) get_post_custom($post_ID) as $key => $val) { 
    28242870                                if ($key == 'enclosure') { 
    2825                                         foreach ( (array) $val as $enc ) { 
     2871                                        foreach ((array) $val as $enc) { 
    28262872                                                $encdata = split("\n", $enc); 
    28272873                                                $enclosure['url'] = trim(htmlspecialchars($encdata[0])); 
    28282874                                                $enclosure['length'] = (int) trim($encdata[1]); 
     
    28512897                                'wp_slug' => $postdata['post_name'], 
    28522898                                'wp_password' => $postdata['post_password'], 
    28532899                                'wp_author_id' => (string) $author->ID, 
    2854                                 'wp_author_display_name'        => $author->display_name, 
     2900                            'wp_author_display_name' => $author->display_name, 
    28552901                                'date_created_gmt' => new IXR_Date($post_date_gmt), 
    28562902                                'post_status' => $postdata['post_status'], 
    28572903                                'custom_fields' => $this->get_custom_fields($post_ID), 
     
    28592905                                'sticky' => $sticky 
    28602906                        ); 
    28612907 
    2862                         if ( !empty($enclosure) ) $resp['enclosure'] = $enclosure; 
     2908                        if (!empty($enclosure)) 
     2909                                $resp['enclosure'] = $enclosure; 
    28632910 
    28642911                        return $resp; 
    28652912                } else { 
     
    28792926 
    28802927                $this->escape($args); 
    28812928 
    2882                 $blog_ID    = (int) $args[0]; 
    2883                 $username = $args[1]; 
    2884                 $password  = $args[2]; 
    2885                 if ( isset( $args[3] ) ) 
    2886                         $query = array( 'numberposts' => absint( $args[3] ) ); 
     2929                $blog_ID = (int) $args[0]; 
     2930                $username = $args[1]; 
     2931                $password = $args[2]; 
     2932                if (isset($args[3])) 
     2933                        $query = array('numberposts' => absint($args[3])); 
    28872934                else 
    28882935                        $query = array(); 
    28892936 
    2890                 if ( !$user = $this->login($username, $password) ) 
     2937                if (!$user = $this->login($username, $password)) 
    28912938                        return $this->error; 
    28922939 
    28932940                do_action('xmlrpc_call', 'metaWeblog.getRecentPosts'); 
    28942941 
    2895                 $posts_list = wp_get_recent_posts( $query ); 
     2942                $posts_list = wp_get_recent_posts($query); 
    28962943 
    2897                 if ( !$posts_list ) 
    2898                         return array( ); 
     2944                if (!$posts_list) 
     2945                        return array(); 
    28992946 
    29002947                foreach ($posts_list as $entry) { 
    2901                         if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
     2948                        if (!current_user_can('edit_post', $entry['ID'])) 
    29022949                                continue; 
    29032950 
    29042951                        $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
    29052952                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false); 
    29062953 
    29072954                        // For drafts use the GMT version of the date 
    2908                         if ( $entry['post_status'] == 'draft' ) 
    2909                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); 
     2955                        if ($entry['post_status'] == 'draft') 
     2956                                $post_date_gmt = get_gmt_from_date(mysql2date('Y-m-d H:i:s', $entry['post_date']), 'Ymd\TH:i:s'); 
    29102957 
    29112958                        $categories = array(); 
    29122959                        $catids = wp_get_post_categories($entry['ID']); 
    2913                         foreach( $catids as $catid ) 
     2960                        foreach ($catids as $catid) 
    29142961                                $categories[] = get_cat_name($catid); 
    29152962 
    29162963                        $tagnames = array(); 
    2917                         $tags = wp_get_post_tags( $entry['ID'] ); 
    2918                         if ( !empty( $tags ) ) { 
    2919                                 foreach ( $tags as $tag ) { 
     2964                        $tags = wp_get_post_tags($entry['ID']); 
     2965                        if (!empty($tags)) { 
     2966                                foreach ($tags as $tag) { 
    29202967                                        $tagnames[] = $tag->name; 
    29212968                                } 
    2922                                 $tagnames = implode( ', ', $tagnames ); 
     2969                                $tagnames = implode(', ', $tagnames); 
    29232970                        } else { 
    29242971                                $tagnames = ''; 
    29252972                        } 
     
    29342981                        $allow_pings = ('open' == $entry['ping_status']) ? 1 : 0; 
    29352982 
    29362983                        // Consider future posts as published 
    2937                         if ( $entry['post_status'] === 'future' ) 
     2984                        if ($entry['post_status'] === 'future') 
    29382985                                $entry['post_status'] = 'publish'; 
    29392986 
    29402987                        // Get post format 
    2941                         $post_format = get_post_format( $entry['ID'] ); 
    2942                         if ( empty( $post_format ) ) 
     2988                        $post_format = get_post_format($entry['ID']); 
     2989                        if (empty($post_format)) 
    29432990                                $post_format = 'standard'; 
    29442991 
    29452992                        $struct[] = array( 
     
    29673014                                'custom_fields' => $this->get_custom_fields($entry['ID']), 
    29683015                                'wp_post_format' => $post_format 
    29693016                        ); 
    2970  
    29713017                } 
    29723018 
    29733019                $recent_posts = array(); 
    2974                 for ( $j=0; $j<count($struct); $j++ ) { 
     3020                for ($j = 0; $j < count($struct); $j++) { 
    29753021                        array_push($recent_posts, $struct[$j]); 
    29763022                } 
    29773023 
     
    29903036 
    29913037                $this->escape($args); 
    29923038 
    2993                 $blog_ID    = (int) $args[0]; 
    2994                 $username = $args[1]; 
    2995                 $password  = $args[2]; 
     3039                $blog_ID = (int) $args[0]; 
     3040                $username = $args[1]; 
     3041                $password = $args[2]; 
    29963042 
    2997                 if ( !$user = $this->login($username, $password) ) 
     3043                if (!$user = $this->login($username, $password)) 
    29983044                        return $this->error; 
    29993045 
    3000                 if ( !current_user_can( 'edit_posts' ) ) 
    3001                         return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view categories.' ) ); 
     3046                if (!current_user_can('edit_posts')) 
     3047                        return new IXR_Error(401, __('Sorry, you must be able to edit posts on this site in order to view categories.')); 
    30023048 
    30033049                do_action('xmlrpc_call', 'metaWeblog.getCategories'); 
    30043050 
    30053051                $categories_struct = array(); 
    30063052 
    3007                 if ( $cats = get_categories(array('get' => 'all')) ) { 
    3008                         foreach ( $cats as $cat ) { 
     3053                if ($cats = get_categories(array('get' => 'all'))) { 
     3054                        foreach ($cats as $cat) { 
    30093055                                $struct['categoryId'] = $cat->term_id; 
    30103056                                $struct['parentId'] = $cat->parent; 
    30113057                                $struct['description'] = $cat->name; 
     
    30363082        function mw_newMediaObject($args) { 
    30373083                global $wpdb; 
    30383084 
    3039                 $blog_ID    = (int) $args[0]; 
    3040                 $username = $wpdb->escape($args[1]); 
    3041                 $password  = $wpdb->escape($args[2]); 
    3042                 $data        = $args[3]; 
     3085                $blog_ID = (int) $args[0]; 
     3086                $username = $wpdb->escape($args[1]); 
     3087                $password = $wpdb->escape($args[2]); 
     3088                $data = $args[3]; 
    30433089 
    3044                 $name = sanitize_file_name( $data['name'] ); 
     3090                $name = sanitize_file_name($data['name']); 
    30453091                $type = $data['type']; 
    30463092                $bits = $data['bits']; 
    30473093 
    3048                 logIO('O', '(MW) Received '.strlen($bits).' bytes'); 
     3094                logIO('O', '(MW) Received ' . strlen($bits) . ' bytes'); 
    30493095 
    3050                 if ( !$user = $this->login($username, $password) ) 
     3096                if (!$user = $this->login($username, $password)) 
    30513097                        return $this->error; 
    30523098 
    30533099                do_action('xmlrpc_call', 'metaWeblog.newMediaObject'); 
    30543100 
    3055                 if ( !current_user_can('upload_files') ) { 
     3101                if (!current_user_can('upload_files')) { 
    30563102                        logIO('O', '(MW) User does not have upload_files capability'); 
    30573103                        $this->error = new IXR_Error(401, __('You are not allowed to upload files to this site.')); 
    30583104                        return $this->error; 
    30593105                } 
    30603106 
    3061                 if ( $upload_err = apply_filters( 'pre_upload_error', false ) ) 
     3107                if ($upload_err = apply_filters('pre_upload_error', false)) 
    30623108                        return new IXR_Error(500, $upload_err); 
    30633109 
    3064                 if ( !empty($data['overwrite']) && ($data['overwrite'] == true) ) { 
     3110                if (!empty($data['overwrite']) && ($data['overwrite'] == true)) { 
    30653111                        // Get postmeta info on the object. 
    30663112                        $old_file = $wpdb->get_row(" 
    30673113                                SELECT ID 
     
    30803126                } 
    30813127 
    30823128                $upload = wp_upload_bits($name, NULL, $bits); 
    3083                 if ( ! empty($upload['error']) ) { 
     3129                if (!empty($upload['error'])) { 
    30843130                        $errorString = sprintf(__('Could not write file %1$s (%2$s)'), $name, $upload['error']); 
    30853131                        logIO('O', '(MW) ' . $errorString); 
    30863132                        return new IXR_Error(500, $errorString); 
     
    30943140                        'post_type' => 'attachment', 
    30953141                        'post_parent' => $post_id, 
    30963142                        'post_mime_type' => $type, 
    3097                         'guid' => $upload[ 'url' ] 
     3143                    'guid' => $upload['url'] 
    30983144                ); 
    30993145 
    31003146                // Save the data 
    3101                 $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id ); 
    3102                 wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) ); 
     3147                $id = wp_insert_attachment($attachment, $upload['file'], $post_id); 
     3148                wp_update_attachment_metadata($id, wp_generate_attachment_metadata($id, $upload['file'])); 
    31033149 
    3104                 return apply_filters( 'wp_handle_upload', array( 'file' => $name, 'url' => $upload[ 'url' ], 'type' => $type ), 'upload' ); 
     3150                return apply_filters('wp_handle_upload', array('file' => $name, 'url' => $upload['url'], 'type' => $type), 'upload'); 
    31053151        } 
    31063152 
    31073153        /* MovableType API functions 
     
    31203166 
    31213167                $this->escape($args); 
    31223168 
    3123                 $blog_ID    = (int) $args[0]; 
    3124                 $username = $args[1]; 
    3125                 $password  = $args[2]; 
    3126                 if ( isset( $args[3] ) ) 
    3127                         $query = array( 'numberposts' => absint( $args[3] ) ); 
     3169                $blog_ID = (int) $args[0]; 
     3170                $username = $args[1]; 
     3171                $password = $args[2]; 
     3172                if (isset($args[3])) 
     3173                        $query = array('numberposts' => absint($args[3])); 
    31283174                else 
    31293175                        $query = array(); 
    31303176 
    3131                 if ( !$user = $this->login($username, $password) ) 
     3177                if (!$user = $this->login($username, $password)) 
    31323178                        return $this->error; 
    31333179 
    31343180                do_action('xmlrpc_call', 'mt.getRecentPostTitles'); 
    31353181 
    3136                 $posts_list = wp_get_recent_posts( $query ); 
     3182                $posts_list = wp_get_recent_posts($query); 
    31373183 
    3138                 if ( !$posts_list ) { 
     3184                if (!$posts_list) { 
    31393185                        $this->error = new IXR_Error(500, __('Either there are no posts, or something went wrong.')); 
    31403186                        return $this->error; 
    31413187                } 
    31423188 
    31433189                foreach ($posts_list as $entry) { 
    3144                         if ( !current_user_can( 'edit_post', $entry['ID'] ) ) 
     3190                        if (!current_user_can('edit_post', $entry['ID'])) 
    31453191                                continue; 
    31463192 
    31473193                        $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false); 
    31483194                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false); 
    31493195 
    31503196                        // For drafts use the GMT version of the date 
    3151                         if ( $entry['post_status'] == 'draft' ) 
    3152                                 $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' ); 
     3197                        if ($entry['post_status'] == 'draft') 
     3198                                $post_date_gmt = get_gmt_from_date(mysql2date('Y-m-d H:i:s', $entry['post_date']), 'Ymd\TH:i:s'); 
    31533199 
    31543200                        $struct[] = array( 
    31553201                                'dateCreated' => new IXR_Date($post_date), 
     
    31593205                                'post_status' => $entry['post_status'], 
    31603206                                'date_created_gmt' => new IXR_Date($post_date_gmt) 
    31613207                        ); 
    3162  
    31633208                } 
    31643209 
    31653210                $recent_posts = array(); 
    3166                 for ( $j=0; $j<count($struct); $j++ ) { 
     3211                for ($j = 0; $j < count($struct); $j++) { 
    31673212                        array_push($recent_posts, $struct[$j]); 
    31683213                } 
    31693214 
     
    31823227 
    31833228                $this->escape($args); 
    31843229 
    3185                 $blog_ID    = (int) $args[0]; 
    3186                 $username = $args[1]; 
    3187                 $password  = $args[2]; 
     3230                $blog_ID = (int) $args[0]; 
     3231                $username = $args[1]; 
     3232                $password = $args[2]; 
    31883233 
    3189                 if ( !$user = $this->login($username, $password) ) 
     3234                if (!$user = $this->login($username, $password)) 
    31903235                        return $this->error; 
    31913236 
    3192                 if ( !current_user_can( 'edit_posts' ) ) 
    3193                         return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view categories.' ) ); 
     3237                if (!current_user_can('edit_posts')) 
     3238                        return new IXR_Error(401, __('Sorry, you must be able to edit posts on this site in order to view categories.')); 
    31943239 
    31953240                do_action('xmlrpc_call', 'mt.getCategoryList'); 
    31963241 
    31973242                $categories_struct = array(); 
    31983243 
    3199                 if ( $cats = get_categories(array('hide_empty' => 0, 'hierarchical' => 0)) ) { 
    3200                         foreach ( $cats as $cat ) { 
     3244                if ($cats = get_categories(array('hide_empty' => 0, 'hierarchical' => 0))) { 
     3245                        foreach ($cats as $cat) { 
    32013246                                $struct['categoryId'] = $cat->term_id; 
    32023247                                $struct['categoryName'] = $cat->name; 
    32033248 
     
    32203265 
    32213266                $this->escape($args); 
    32223267 
    3223                 $post_ID    = (int) $args[0]; 
    3224                 $username = $args[1]; 
    3225                 $password  = $args[2]; 
     3268                $post_ID = (int) $args[0]; 
     3269                $username = $args[1]; 
     3270                $password = $args[2]; 
    32263271 
    3227                 if ( !$user = $this->login($username, $password) ) 
     3272                if (!$user = $this->login($username, $password)) 
    32283273                        return $this->error; 
    32293274 
    3230                 if ( !current_user_can( 'edit_post', $post_ID ) ) 
    3231                         return new IXR_Error( 401, __( 'Sorry, you can not edit this post.' ) ); 
     3275                if (!current_user_can('edit_post', $post_ID)) 
     3276                        return new IXR_Error(401, __('Sorry, you can not edit this post.')); 
    32323277 
    32333278                do_action('xmlrpc_call', 'mt.getPostCategories'); 
    32343279 
     
    32363281                $catids = wp_get_post_categories(intval($post_ID)); 
    32373282                // first listed category will be the primary category 
    32383283                $isPrimary = true; 
    3239                 foreach ( $catids as $catid ) { 
     3284                foreach ($catids as $catid) { 
    32403285                        $categories[] = array( 
    32413286                                'categoryName' => get_cat_name($catid), 
    32423287                                'categoryId' => (string) $catid, 
     
    32603305 
    32613306                $this->escape($args); 
    32623307 
    3263                 $post_ID    = (int) $args[0]; 
    3264                 $username = $args[1]; 
    3265                 $password  = $args[2]; 
    3266                 $categories = $args[3]; 
     3308                $post_ID = (int) $args[0]; 
     3309                $username = $args[1]; 
     3310                $password = $args[2]; 
     3311                $categories = $args[3]; 
    32673312 
    3268                 if ( !$user = $this->login($username, $password) ) 
     3313                if (!$user = $this->login($username, $password)) 
    32693314                        return $this->error; 
    32703315 
    32713316                do_action('xmlrpc_call', 'mt.setPostCategories'); 
    32723317 
    3273                 if ( !current_user_can('edit_post', $post_ID) ) 
     3318                if (!current_user_can('edit_post', $post_ID)) 
    32743319                        return new IXR_Error(401, __('Sorry, you cannot edit this post.')); 
    32753320 
    3276                 foreach ( $categories as $cat ) { 
     3321                foreach ($categories as $cat) { 
    32773322                        $catids[] = $cat['categoryId']; 
    32783323                } 
    32793324 
     
    32953340                do_action('xmlrpc_call', 'mt.supportedMethods'); 
    32963341 
    32973342                $supported_methods = array(); 
    3298                 foreach ( $this->methods as $key => $value ) { 
     3343                foreach ($this->methods as $key => $value) { 
    32993344                        $supported_methods[] = $key; 
    33003345                } 
    33013346 
     
    33323377 
    33333378                $actual_post = wp_get_single_post($post_ID, ARRAY_A); 
    33343379 
    3335                 if ( !$actual_post ) 
     3380                if (!$actual_post) 
    33363381                        return new IXR_Error(404, __('Sorry, no such post.')); 
    33373382 
    3338                 $comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) ); 
     3383                $comments = $wpdb->get_results($wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID)); 
    33393384 
    3340                 if ( !$comments ) 
     3385                if (!$comments) 
    33413386                        return array(); 
    33423387 
    33433388                $trackback_pings = array(); 
    3344                 foreach ( $comments as $comment ) { 
    3345                         if ( 'trackback' == $comment->comment_type ) { 
     3389                foreach ($comments as $comment) { 
     3390                        if ('trackback' == $comment->comment_type) { 
    33463391                                $content = $comment->comment_content; 
    33473392                                $title = substr($content, 8, (strpos($content, '</strong>') - 8)); 
    33483393                                $trackback_pings[] = array( 
    33493394                                        'pingTitle' => $title, 
    3350                                         'pingURL'  => $comment->comment_author_url, 
    3351                                         'pingIP'    => $comment->comment_author_IP 
     3395                                    'pingURL' => $comment->comment_author_url, 
     3396                                    'pingIP' => $comment->comment_author_IP 
    33523397                                ); 
    33533398                        } 
    33543399                } 
     
    33683413 
    33693414                $this->escape($args); 
    33703415 
    3371                 $post_ID    = (int) $args[0]; 
    3372                 $username = $args[1]; 
    3373                 $password  = $args[2]; 
     3416                $post_ID = (int) $args[0]; 
     3417                $username = $args[1]; 
     3418                $password = $args[2]; 
    33743419 
    3375                 if ( !$user = $this->login($username, $password) ) 
     3420                if (!$user = $this->login($username, $password)) 
    33763421                        return $this->error; 
    33773422 
    33783423                do_action('xmlrpc_call', 'mt.publishPost'); 
    33793424 
    3380                 if ( !current_user_can('publish_posts') || !current_user_can('edit_post', $post_ID) ) 
     3425                if (!current_user_can('publish_posts') || !current_user_can('edit_post', $post_ID)) 
    33813426                        return new IXR_Error(401, __('Sorry, you cannot publish this post.')); 
    33823427 
    3383                 $postdata = wp_get_single_post($post_ID,ARRAY_A); 
     3428                $postdata = wp_get_single_post($post_ID, ARRAY_A); 
    33843429 
    33853430                $postdata['post_status'] = 'publish'; 
    33863431 
     
    34143459                $this->escape($args); 
    34153460 
    34163461                $pagelinkedfrom = $args[0]; 
    3417                 $pagelinkedto  = $args[1]; 
     3462                $pagelinkedto = $args[1]; 
    34183463 
    34193464                $title = ''; 
    34203465 
     
    34233468                $pagelinkedto = str_replace('&', '&amp;', $pagelinkedto); 
    34243469 
    34253470                // Check if the page linked to is in our site 
    3426                 $pos1 = strpos($pagelinkedto, str_replace(array('http://www.','http://','https://www.','https://'), '', get_option('home'))); 
    3427                 if ( !$pos1 ) 
     3471                $pos1 = strpos($pagelinkedto, str_replace(array('http://www.', 'http://', 'https://www.', 'https://'), '', get_option('home'))); 
     3472                if (!$pos1) 
    34283473                        return new IXR_Error(0, __('Is there no link to us?')); 
    34293474 
    34303475                // let's find which post is linked to 
    34313476                // FIXME: does url_to_postid() cover all these cases already? 
    34323477                //        if so, then let's use it and drop the old code. 
    34333478                $urltest = parse_url($pagelinkedto); 
    3434                 if ( $post_ID = url_to_postid($pagelinkedto) ) { 
     3479                if ($post_ID = url_to_postid($pagelinkedto)) { 
    34353480                        $way = 'url_to_postid()'; 
    3436                 } elseif ( preg_match('#p/[0-9]{1,}#', $urltest['path'], $match) ) { 
     3481                } elseif (preg_match('#p/[0-9]{1,}#', $urltest['path'], $match)) { 
    34373482                        // the path defines the post_ID (archives/p/XXXX) 
    34383483                        $blah = explode('/', $match[0]); 
    34393484                        $post_ID = (int) $blah[1]; 
    34403485                        $way = 'from the path'; 
    3441                 } elseif ( preg_match('#p=[0-9]{1,}#', $urltest['query'], $match) ) { 
     3486                } elseif (preg_match('#p=[0-9]{1,}#', $urltest['query'], $match)) { 
    34423487                        // the querystring defines the post_ID (?p=XXXX) 
    34433488                        $blah = explode('=', $match[0]); 
    34443489                        $post_ID = (int) $blah[1]; 
    34453490                        $way = 'from the querystring'; 
    3446                 } elseif ( isset($urltest['fragment']) ) { 
     3491                } elseif (isset($urltest['fragment'])) { 
    34473492                        // an #anchor is there, it's either... 
    3448                         if ( intval($urltest['fragment']) ) { 
     3493                        if (intval($urltest['fragment'])) { 
    34493494                                // ...an integer #XXXX (simplest case) 
    34503495                                $post_ID = (int) $urltest['fragment']; 
    34513496                                $way = 'from the fragment (numeric)'; 
    3452                         } elseif ( preg_match('/post-[0-9]+/',$urltest['fragment']) ) { 
     3497                        } elseif (preg_match('/post-[0-9]+/', $urltest['fragment'])) { 
    34533498                                // ...a post id in the form 'post-###' 
    34543499                                $post_ID = preg_replace('/[^0-9]+/', '', $urltest['fragment']); 
    34553500                                $way = 'from the fragment (post-###)'; 
    3456                         } elseif ( is_string($urltest['fragment']) ) { 
     3501                        } elseif (is_string($urltest['fragment'])) { 
    34573502                                // ...or a string #title, a little more complicated 
    34583503                                $title = preg_replace('/[^a-z0-9]/i', '.', $urltest['fragment']); 
    3459                                 $sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", like_escape( $title ) ); 
    3460                                 if (! ($post_ID = $wpdb->get_var($sql)) ) { 
     3504                                $sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", like_escape($title)); 
     3505                                if (!($post_ID = $wpdb->get_var($sql))) { 
    34613506                                        // returning unknown error '0' is better than die()ing 
    34623507                                        return new IXR_Error(0, ''); 
    34633508                                } 
     
    34703515                $post_ID = (int) $post_ID; 
    34713516 
    34723517 
    3473                 logIO("O","(PB) URL='$pagelinkedto' ID='$post_ID' Found='$way'"); 
     3518                logIO("O", "(PB) URL='$pagelinkedto' ID='$post_ID' Found='$way'"); 
    34743519 
    34753520                $post = get_post($post_ID); 
    34763521 
    3477                 if ( !$post ) // Post_ID not found 
     3522                if (!$post) // Post_ID not found 
    34783523                        return new IXR_Error(33, __('The specified target URL cannot be used as a target. It either doesn&#8217;t exist, or it is not a pingback-enabled resource.')); 
    34793524 
    3480                 if ( $post_ID == url_to_postid($pagelinkedfrom) ) 
     3525                if ($post_ID == url_to_postid($pagelinkedfrom)) 
    34813526                        return new IXR_Error(0, __('The source URL and the target URL cannot both point to the same resource.')); 
    34823527 
    34833528                // Check if pings are on 
    3484                 if ( !pings_open($post) ) 
     3529                if (!pings_open($post)) 
    34853530                        return new IXR_Error(33, __('The specified target URL cannot be used as a target. It either doesn&#8217;t exist, or it is not a pingback-enabled resource.')); 
    34863531 
    34873532                // Let's check that the remote site didn't already pingback this entry 
    3488                 if ( $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_author_url = %s", $post_ID, $pagelinkedfrom) ) ) 
    3489                         return new IXR_Error( 48, __( 'The pingback has already been registered.' ) ); 
     3533                if ($wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_author_url = %s", $post_ID, $pagelinkedfrom))) 
     3534                        return new IXR_Error(48, __('The pingback has already been registered.')); 
    34903535 
    34913536                // very stupid, but gives time to the 'from' server to publish ! 
    34923537                sleep(1); 
    34933538 
    34943539                // Let's check the remote site 
    3495                 $linea = wp_remote_fopen( $pagelinkedfrom ); 
    3496                 if ( !$linea ) 
     3540                $linea = wp_remote_fopen($pagelinkedfrom); 
     3541                if (!$linea) 
    34973542                        return new IXR_Error(16, __('The source URL does not exist.')); 
    34983543 
    34993544                $linea = apply_filters('pre_remote_source', $linea, $pagelinkedto); 
    35003545 
    35013546                // Work around bug in strip_tags(): 
    35023547                $linea = str_replace('<!DOC', '<DOC', $linea); 
    3503                 $linea = preg_replace( '/[\s\r\n\t]+/', ' ', $linea ); // normalize spaces 
    3504                 $linea = preg_replace( "/ <(h1|h2|h3|h4|h5|h6|p|th|td|li|dt|dd|pre|caption|input|textarea|button|body)[^>]*>/", "\n\n", $linea ); 
     3548                $linea = preg_replace('/[\s\r\n\t]+/', ' ', $linea); // normalize spaces 
     3549                $linea = preg_replace("/ <(h1|h2|h3|h4|h5|h6|p|th|td|li|dt|dd|pre|caption|input|textarea|button|body)[^>]*>/", "\n\n", $linea); 
    35053550 
    35063551                preg_match('|<title>([^<]*?)</title>|is', $linea, $matchtitle); 
    35073552                $title = $matchtitle[1]; 
    3508                 if ( empty( $title ) ) 
     3553                if (empty($title)) 
    35093554                        return new IXR_Error(32, __('We cannot find a title on that page.')); 
    35103555 
    3511                 $linea = strip_tags( $linea, '<a>' ); // just keep the tag we need 
     3556                $linea = strip_tags($linea, '<a>'); // just keep the tag we need 
    35123557 
    3513                 $p = explode( "\n\n", $linea ); 
     3558                $p = explode("\n\n", $linea); 
    35143559 
    35153560                $preg_target = preg_quote($pagelinkedto, '|'); 
    35163561 
    3517                 foreach ( $p as $para ) { 
    3518                         if ( strpos($para, $pagelinkedto) !== false ) { // it exists, but is it a link? 
    3519                                 preg_match("|<a[^>]+?".$preg_target."[^>]*>([^>]+?)</a>|", $para, $context); 
     3562                foreach ($p as $para) { 
     3563                        if (strpos($para, $pagelinkedto) !== false) { // it exists, but is it a link? 
     3564                                preg_match("|<a[^>]+?" . $preg_target . "[^>]*>([^>]+?)</a>|", $para, $context); 
    35203565 
    35213566                                // If the URL isn't in a link context, keep looking 
    3522                                 if ( empty($context) ) 
     3567                                if (empty($context)) 
    35233568                                        continue; 
    35243569 
    35253570                                // We're going to use this fake tag to mark the context in a bit 
     
    35273572                                $excerpt = preg_replace('|\</?wpcontext\>|', '', $para); 
    35283573 
    35293574                                // prevent really long link text 
    3530                                 if ( strlen($context[1]) > 100 ) 
     3575                                if (strlen($context[1]) > 100) 
    35313576                                        $context[1] = substr($context[1], 0, 100) . '...'; 
    35323577 
    3533                                 $marker = '<wpcontext>'.$context[1].'</wpcontext>';    // set up our marker 
    3534                                 $excerpt= str_replace($context[0], $marker, $excerpt); // swap out the link for our marker 
     3578                                $marker = '<wpcontext>' . $context[1] . '</wpcontext>';    // set up our marker 
     3579                                $excerpt = str_replace($context[0], $marker, $excerpt); // swap out the link for our marker 
    35353580                                $excerpt = strip_tags($excerpt, '<wpcontext>');        // strip all tags but our context marker 
    35363581                                $excerpt = trim($excerpt); 
    35373582                                $preg_marker = preg_quote($marker, '|'); 
     
    35413586                        } 
    35423587                } 
    35433588 
    3544                 if ( empty($context) ) // Link to target not found 
     3589                if (empty($context)) // Link to target not found 
    35453590                        return new IXR_Error(17, __('The source URL does not contain a link to the target URL, and so cannot be used as a source.')); 
    35463591 
    35473592                $pagelinkedfrom = str_replace('&', '&amp;', $pagelinkedfrom); 
    35483593 
    3549                 $context = '[...] ' . esc_html( $excerpt ) . ' [...]'; 
    3550                 $pagelinkedfrom = $wpdb->escape( $pagelinkedfrom ); 
     3594                $context = '[...] ' . esc_html($excerpt) . ' [...]'; 
     3595                $pagelinkedfrom = $wpdb->escape($pagelinkedfrom); 
    35513596 
    35523597                $comment_post_ID = (int) $post_ID; 
    35533598                $comment_author = $title; 
     
    35873632                $url = $args; 
    35883633 
    35893634                $post_ID = url_to_postid($url); 
    3590                 if ( !$post_ID ) { 
     3635                if (!$post_ID) { 
    35913636                        // We aren't sure that the resource is available and/or pingback enabled 
    35923637                        return new IXR_Error(33, __('The specified target URL cannot be used as a target. It either doesn&#8217;t exist, or it is not a pingback-enabled resource.')); 
    35933638                } 
    35943639 
    35953640                $actual_post = wp_get_single_post($post_ID, ARRAY_A); 
    35963641 
    3597                 if ( !$actual_post ) { 
     3642                if (!$actual_post) { 
    35983643                        // No such post = resource not found 
    35993644                        return new IXR_Error(32, __('The specified target URL does not exist.')); 
    36003645                } 
    36013646 
    3602                 $comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) ); 
     3647                $comments = $wpdb->get_results($wpdb->prepare("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID)); 
    36033648 
    3604                 if ( !$comments ) 
     3649                if (!$comments) 
    36053650                        return array(); 
    36063651 
    36073652                $pingbacks = array(); 
    3608                 foreach ( $comments as $comment ) { 
    3609                         if ( 'pingback' == $comment->comment_type ) 
     3653                foreach ($comments as $comment) { 
     3654                        if ('pingback' == $comment->comment_type) 
    36103655                                $pingbacks[] = $comment->comment_author_url; 
    36113656                } 
    36123657 
    36133658                return $pingbacks; 
    36143659        } 
     3660 
    36153661} 
     3662 
    36163663?>