WordPress.org

Make WordPress Core

Ticket #20394: 20394.guard.diff

File 20394.guard.diff, 20.6 KB (added by markoheijnen, 6 years ago)

Alternative way

  • wp-includes/class-wp-xmlrpc-server.php

     
    208208        }
    209209
    210210        /**
     211         * Checks if the argument have a certain length before running the method
     212         *
     213         * @since 3.4
     214         *
     215         * @param string|array $array Sanitize single string or array of strings.
     216         * @param string|array $array Sanitize single string or array of strings.
     217         * @return boolean if it match
     218         */
     219        function guard_condition( $args, $length ) {
     220                if ( count( $args ) < $length ) {
     221                        $this->error = new IXR_Error( 400, __( "You didn't passed enough arguments to this XML-RPC method" ) );
     222                        return false;
     223                }
     224
     225                return true;
     226        }
     227
     228        /**
    211229         * Sanitize string or array of strings for database.
    212230         *
    213231         * @since 1.5.2
     
    456474
    457475                $this->escape( $args );
    458476
     477                if( ! $this->guard_condition( $args, 2 ) )
     478                        return $this->error;
     479
    459480                $username = $args[0];
    460481                $password = $args[1];
    461482
     
    733754        function wp_newPost( $args ) {
    734755                $this->escape( $args );
    735756
     757                if( ! $this->guard_condition( $args, 4 ) )
     758                        return $this->error;
     759
    736760                $blog_id        = (int) $args[0];
    737761                $username       = $args[1];
    738762                $password       = $args[2];
     
    10051029        function wp_editPost( $args ) {
    10061030                $this->escape( $args );
    10071031
     1032                if( ! $this->guard_condition( $args, 5 ) )
     1033                        return $this->error;
     1034
    10081035                $blog_id        = (int) $args[0]; // we will support this in the near future
    10091036                $username       = $args[1];
    10101037                $password       = $args[2];
     
    10571084        function wp_deletePost( $args ) {
    10581085                $this->escape( $args );
    10591086
     1087                if( ! $this->guard_condition( $args, 4 ) )
     1088                        return $this->error;
     1089
    10601090                $blog_id    = (int) $args[0];
    10611091                $username   = $args[1];
    10621092                $password   = $args[2];
     
    11281158        function wp_getPost( $args ) {
    11291159                $this->escape( $args );
    11301160
     1161                if( ! $this->guard_condition( $args, 4 ) )
     1162                        return $this->error;
     1163
    11311164                $blog_id            = (int) $args[0];
    11321165                $username           = $args[1];
    11331166                $password           = $args[2];
     
    11801213        function wp_getPosts( $args ) {
    11811214                $this->escape( $args );
    11821215
     1216                if( ! $this->guard_condition( $args, 3 ) )
     1217                        return $this->error;
     1218
    11831219                $blog_id    = (int) $args[0];
    11841220                $username   = $args[1];
    11851221                $password   = $args[2];
     
    12661302        function wp_newTerm( $args ) {
    12671303                $this->escape( $args );
    12681304
     1305                if( ! $this->guard_condition( $args, 4 ) )
     1306                        return $this->error;
     1307
    12691308                $blog_id            = (int) $args[0];
    12701309                $username           = $args[1];
    12711310                $password           = $args[2];
     
    13481387        function wp_editTerm( $args ) {
    13491388                $this->escape( $args );
    13501389
     1390                if( ! $this->guard_condition( $args, 5 ) )
     1391                        return $this->error;
     1392
    13511393                $blog_id            = (int) $args[0];
    13521394                $username           = $args[1];
    13531395                $password           = $args[2];
     
    14351477        function wp_deleteTerm( $args ) {
    14361478                $this->escape( $args );
    14371479
     1480                if( ! $this->guard_condition( $args, 5 ) )
     1481                        return $this->error;
     1482
    14381483                $blog_id            = (int) $args[0];
    14391484                $username           = $args[1];
    14401485                $password           = $args[2];
     
    14971542        function wp_getTerm( $args ) {
    14981543                $this->escape( $args );
    14991544
     1545                if( ! $this->guard_condition( $args, 5 ) )
     1546                        return $this->error;
     1547
    15001548                $blog_id            = (int) $args[0];
    15011549                $username           = $args[1];
    15021550                $password           = $args[2];
     
    15451593        function wp_getTerms( $args ) {
    15461594                $this->escape( $args );
    15471595
     1596                if( ! $this->guard_condition( $args, 4 ) )
     1597                        return $this->error;
     1598
    15481599                $blog_id        = (int) $args[0];
    15491600                $username       = $args[1];
    15501601                $password       = $args[2];
     
    16151666        function wp_getTaxonomy( $args ) {
    16161667                $this->escape( $args );
    16171668
     1669                if( ! $this->guard_condition( $args, 4 ) )
     1670                        return $this->error;
     1671
    16181672                $blog_id        = (int) $args[0];
    16191673                $username       = $args[1];
    16201674                $password       = $args[2];
     
    16491703        function wp_getTaxonomies( $args ) {
    16501704                $this->escape( $args );
    16511705
     1706                if( ! $this->guard_condition( $args, 3 ) )
     1707                        return $this->error;
     1708
    16521709                $blog_id            = (int) $args[0];
    16531710                $username           = $args[1];
    16541711                $password           = $args[2];
     
    16891746        function wp_getPage($args) {
    16901747                $this->escape($args);
    16911748
     1749                if( ! $this->guard_condition( $args, 4 ) )
     1750                        return $this->error;
     1751
    16921752                $blog_id        = (int) $args[0];
    16931753                $page_id        = (int) $args[1];
    16941754                $username       = $args[2];
     
    17901850        function wp_getPages($args) {
    17911851                $this->escape($args);
    17921852
     1853                if( ! $this->guard_condition( $args, 3 ) )
     1854                        return $this->error;
     1855
    17931856                $blog_id        = (int) $args[0];
    17941857                $username       = $args[1];
    17951858                $password       = $args[2];
     
    18341897         * @return unknown
    18351898         */
    18361899        function wp_newPage($args) {
     1900                if( ! $this->guard_condition( $args, 5 ) )
     1901                        return $this->error;
     1902
    18371903                // Items not escaped here will be escaped in newPost.
    18381904                $username       = $this->escape($args[1]);
    18391905                $password       = $this->escape($args[2]);
     
    18631929        function wp_deletePage($args) {
    18641930                $this->escape($args);
    18651931
     1932                if( ! $this->guard_condition( $args, 4 ) )
     1933                        return $this->error;
     1934
    18661935                $blog_id        = (int) $args[0];
    18671936                $username       = $args[1];
    18681937                $password       = $args[2];
     
    19021971         * @return unknown
    19031972         */
    19041973        function wp_editPage($args) {
     1974                if( ! $this->guard_condition( $args, 6 ) )
     1975                        return $this->error;
     1976
    19051977                // Items not escaped here will be escaped in editPost.
    19061978                $blog_id        = (int) $args[0];
    19071979                $page_id        = (int) $this->escape($args[1]);
     
    19532025
    19542026                $this->escape($args);
    19552027
     2028                if( ! $this->guard_condition( $args, 3 ) )
     2029                        return $this->error;
     2030
    19562031                $blog_id                                = (int) $args[0];
    19572032                $username                               = $args[1];
    19582033                $password                               = $args[2];
     
    20012076         * @return array
    20022077         */
    20032078        function wp_getAuthors($args) {
    2004 
    20052079                $this->escape($args);
    20062080
     2081                if( ! $this->guard_condition( $args, 3 ) )
     2082                        return $this->error;
     2083
    20072084                $blog_id        = (int) $args[0];
    20082085                $username       = $args[1];
    20092086                $password       = $args[2];
     
    20392116        function wp_getTags( $args ) {
    20402117                $this->escape( $args );
    20412118
     2119                if( ! $this->guard_condition( $args, 3 ) )
     2120                        return $this->error;
     2121
    20422122                $blog_id                = (int) $args[0];
    20432123                $username               = $args[1];
    20442124                $password               = $args[2];
     
    20802160        function wp_newCategory($args) {
    20812161                $this->escape($args);
    20822162
     2163                if( ! $this->guard_condition( $args, 4 ) )
     2164                        return $this->error;
     2165
    20832166                $blog_id                                = (int) $args[0];
    20842167                $username                               = $args[1];
    20852168                $password                               = $args[2];
     
    21412224        function wp_deleteCategory($args) {
    21422225                $this->escape($args);
    21432226
     2227                if( ! $this->guard_condition( $args, 4 ) )
     2228                        return $this->error;
     2229
    21442230                $blog_id                = (int) $args[0];
    21452231                $username               = $args[1];
    21462232                $password               = $args[2];
     
    21732259        function wp_suggestCategories($args) {
    21742260                $this->escape($args);
    21752261
     2262                if( ! $this->guard_condition( $args, 4 ) )
     2263                        return $this->error;
     2264
    21762265                $blog_id                                = (int) $args[0];
    21772266                $username                               = $args[1];
    21782267                $password                               = $args[2];
    21792268                $category                               = $args[3];
    2180                 $max_results                    = (int) $args[4];
     2269                $max_results                    = isset( $args[4] ) ? (int) $args[4] : '';
    21812270
    21822271                if ( !$user = $this->login($username, $password) )
    21832272                        return $this->error;
     
    22102299        function wp_getComment($args) {
    22112300                $this->escape($args);
    22122301
     2302                if( ! $this->guard_condition( $args, 4 ) )
     2303                        return $this->error;
     2304
    22132305                $blog_id        = (int) $args[0];
    22142306                $username       = $args[1];
    22152307                $password       = $args[2];
     
    22842376                $raw_args = $args;
    22852377                $this->escape($args);
    22862378
     2379                if( ! $this->guard_condition( $args, 4 ) )
     2380                        return $this->error;
     2381
    22872382                $blog_id        = (int) $args[0];
    22882383                $username       = $args[1];
    22892384                $password       = $args[2];
     
    23522447        function wp_deleteComment($args) {
    23532448                $this->escape($args);
    23542449
     2450                if( ! $this->guard_condition( $args, 4 ) )
     2451                        return $this->error;
     2452
    23552453                $blog_id        = (int) $args[0];
    23562454                $username       = $args[1];
    23572455                $password       = $args[2];
     
    24062504        function wp_editComment($args) {
    24072505                $this->escape($args);
    24082506
     2507                if( ! $this->guard_condition( $args, 5 ) )
     2508                        return $this->error;
     2509
    24092510                $blog_id        = (int) $args[0];
    24102511                $username       = $args[1];
    24112512                $password       = $args[2];
     
    24822583
    24832584                $this->escape($args);
    24842585
     2586                if( ! $this->guard_condition( $args, 5 ) )
     2587                        return $this->error;
     2588
    24852589                $blog_id        = (int) $args[0];
    24862590                $username       = $args[1];
    24872591                $password       = $args[2];
     
    25672671        function wp_getCommentStatusList($args) {
    25682672                $this->escape( $args );
    25692673
     2674                if( ! $this->guard_condition( $args, 3 ) )
     2675                        return $this->error;
     2676
    25702677                $blog_id        = (int) $args[0];
    25712678                $username       = $args[1];
    25722679                $password       = $args[2];
     
    25932700        function wp_getCommentCount( $args ) {
    25942701                $this->escape($args);
    25952702
     2703                if( ! $this->guard_condition( $args, 4 ) )
     2704                        return $this->error;
     2705
    25962706                $blog_id        = (int) $args[0];
    25972707                $username       = $args[1];
    25982708                $password       = $args[2];
     
    26262736        function wp_getPostStatusList( $args ) {
    26272737                $this->escape( $args );
    26282738
     2739                if( ! $this->guard_condition( $args, 3 ) )
     2740                        return $this->error;
     2741
    26292742                $blog_id        = (int) $args[0];
    26302743                $username       = $args[1];
    26312744                $password       = $args[2];
     
    26522765        function wp_getPageStatusList( $args ) {
    26532766                $this->escape( $args );
    26542767
     2768                if( ! $this->guard_condition( $args, 3 ) )
     2769                        return $this->error;
     2770
    26552771                $blog_id        = (int) $args[0];
    26562772                $username       = $args[1];
    26572773                $password       = $args[2];
     
    26782794        function wp_getPageTemplates( $args ) {
    26792795                $this->escape( $args );
    26802796
     2797                if( ! $this->guard_condition( $args, 3 ) )
     2798                        return $this->error;
     2799
    26812800                $blog_id        = (int) $args[0];
    26822801                $username       = $args[1];
    26832802                $password       = $args[2];
     
    27052824        function wp_getOptions( $args ) {
    27062825                $this->escape( $args );
    27072826
     2827                if( ! $this->guard_condition( $args, 3 ) )
     2828                        return $this->error;
     2829
    27082830                $blog_id        = (int) $args[0];
    27092831                $username       = $args[1];
    27102832                $password       = $args[2];
     
    27552877        function wp_setOptions( $args ) {
    27562878                $this->escape( $args );
    27572879
     2880                if( ! $this->guard_condition( $args, 4 ) )
     2881                        return $this->error;
     2882
    27582883                $blog_id        = (int) $args[0];
    27592884                $username       = $args[1];
    27602885                $password       = $args[2];
     
    28042929        function wp_getMediaItem($args) {
    28052930                $this->escape($args);
    28062931
     2932                if( ! $this->guard_condition( $args, 4 ) )
     2933                        return $this->error;
     2934
    28072935                $blog_id                = (int) $args[0];
    28082936                $username               = $args[1];
    28092937                $password               = $args[2];
     
    28692997                $raw_args = $args;
    28702998                $this->escape($args);
    28712999
     3000                if( ! $this->guard_condition( $args, 3 ) )
     3001                        return $this->error;
     3002
    28723003                $blog_id        = (int) $args[0];
    28733004                $username       = $args[1];
    28743005                $password       = $args[2];
     
    29153046        function wp_getPostFormats( $args ) {
    29163047                $this->escape( $args );
    29173048
     3049                if( ! $this->guard_condition( $args, 3 ) )
     3050                        return $this->error;
     3051
    29183052                $blog_id = (int) $args[0];
    29193053                $username = $args[1];
    29203054                $password = $args[2];
     
    29673101        function wp_getPostType( $args ) {
    29683102                $this->escape( $args );
    29693103
     3104                if( ! $this->guard_condition( $args, 4 ) )
     3105                        return $this->error;
     3106
    29703107                $blog_id        = (int) $args[0];
    29713108                $username       = $args[1];
    29723109                $password       = $args[2];
     
    30103147        function wp_getPostTypes( $args ) {
    30113148                $this->escape( $args );
    30123149
     3150                if( ! $this->guard_condition( $args, 3 ) )
     3151                        return $this->error;
     3152
    30133153                $blog_id            = (int) $args[0];
    30143154                $username           = $args[1];
    30153155                $password           = $args[2];
     
    30593199
    30603200                $this->escape($args);
    30613201
    3062                 $username = $args[1];
     3202                if( ! $this->guard_condition( $args, 3 ) )
     3203                        return $this->error;
     3204
     3205                $username  = $args[1];
    30633206                $password  = $args[2];
    30643207
    30653208                if ( !$user = $this->login($username, $password) )
     
    31203263         * @return array
    31213264         */
    31223265        function blogger_getUserInfo($args) {
    3123 
    31243266                $this->escape($args);
    31253267
    3126                 $username = $args[1];
     3268                if( ! $this->guard_condition( $args, 3 ) )
     3269                        return $this->error;
     3270
     3271                $username  = $args[1];
    31273272                $password  = $args[2];
    31283273
    31293274                if ( !$user = $this->login($username, $password) )
     
    31543299         * @return array
    31553300         */
    31563301        function blogger_getPost($args) {
    3157 
    31583302                $this->escape($args);
    31593303
    3160                 $post_ID    = (int) $args[1];
    3161                 $username = $args[2];
     3304                if( ! $this->guard_condition( $args, 4 ) )
     3305                        return $this->error;
     3306
     3307                $post_ID   = (int) $args[1];
     3308                $username  = $args[2];
    31623309                $password  = $args[3];
    31633310
    31643311                if ( !$user = $this->login($username, $password) )
     
    31963343         * @return array
    31973344         */
    31983345        function blogger_getRecentPosts($args) {
    3199 
    32003346                $this->escape($args);
    32013347
     3348                if( ! $this->guard_condition( $args, 4 ) )
     3349                        return $this->error;
     3350
    32023351                // $args[0] = appkey - ignored
    3203                 $blog_ID    = (int) $args[1]; /* though we don't use it yet */
    3204                 $username = $args[2];
     3352                $blog_ID   = (int) $args[1]; /* though we don't use it yet */
     3353                $username  = $args[2];
    32053354                $password  = $args[3];
     3355
    32063356                if ( isset( $args[4] ) )
    32073357                        $query = array( 'numberposts' => absint( $args[4] ) );
    32083358                else
     
    32573407         * @return string
    32583408         */
    32593409        function blogger_getTemplate($args) {
    3260 
    32613410                $this->escape($args);
    32623411
    3263                 $blog_ID    = (int) $args[1];
    3264                 $username = $args[2];
     3412                if( ! $this->guard_condition( $args, 4 ) )
     3413                        return $this->error;
     3414
     3415                $blog_ID   = (int) $args[1];
     3416                $username  = $args[2];
    32653417                $password  = $args[3];
    3266                 $template   = $args[4]; /* could be 'main' or 'archiveIndex', but we don't use it */
     3418                $template  = isset( $args[4] ) ? $args[4] : ''; /* could be 'main' or 'archiveIndex', but we don't use it */
    32673419
    32683420                if ( !$user = $this->login($username, $password) )
    32693421                        return $this->error;
     
    32963448         * @return bool True when done.
    32973449         */
    32983450        function blogger_setTemplate($args) {
    3299 
    33003451                $this->escape($args);
    33013452
    3302                 $blog_ID    = (int) $args[1];
    3303                 $username = $args[2];
     3453                if( ! $this->guard_condition( $args, 5 ) )
     3454                        return $this->error;
     3455
     3456                $blog_ID   = (int) $args[1];
     3457                $username  = $args[2];
    33043458                $password  = $args[3];
    3305                 $content    = $args[4];
    3306                 $template   = $args[5]; /* could be 'main' or 'archiveIndex', but we don't use it */
     3459                $content   = $args[4];
     3460                $template  = isset( $args[5] ) ? $args[5] : ''; /* could be 'main' or 'archiveIndex', but we don't use it */
    33073461
    33083462                if ( !$user = $this->login($username, $password) )
    33093463                        return $this->error;
     
    33363490         * @return int
    33373491         */
    33383492        function blogger_newPost($args) {
    3339 
    33403493                $this->escape($args);
    33413494
    3342                 $blog_ID    = (int) $args[1]; /* though we don't use it yet */
    3343                 $username = $args[2];
     3495                if( ! $this->guard_condition( $args, 6 ) )
     3496                        return $this->error;
     3497
     3498                $blog_ID   = (int) $args[1]; /* though we don't use it yet */
     3499                $username  = $args[2];
    33443500                $password  = $args[3];
    3345                 $content    = $args[4];
    3346                 $publish    = $args[5];
     3501                $content   = $args[4];
     3502                $publish   = $args[5];
    33473503
    33483504                if ( !$user = $this->login($username, $password) )
    33493505                        return $this->error;
     
    33903546         * @return bool true when done.
    33913547         */
    33923548        function blogger_editPost($args) {
    3393 
    33943549                $this->escape($args);
    33953550
    3396                 $post_ID     = (int) $args[1];
    3397                 $username  = $args[2];
     3551                if( ! $this->guard_condition( $args, 6 ) )
     3552                        return $this->error;
     3553
     3554                $post_ID    = (int) $args[1];
     3555                $username   = $args[2];
    33983556                $password   = $args[3];
    3399                 $content     = $args[4];
    3400                 $publish     = $args[5];
     3557                $content    = $args[4];
     3558                $publish    = $args[5];
    34013559
    34023560                if ( !$user = $this->login($username, $password) )
    34033561                        return $this->error;
     
    34483606        function blogger_deletePost($args) {
    34493607                $this->escape($args);
    34503608
    3451                 $post_ID     = (int) $args[1];
    3452                 $username  = $args[2];
     3609                if( ! $this->guard_condition( $args, 5 ) )
     3610                        return $this->error;
     3611
     3612                $post_ID    = (int) $args[1];
     3613                $username   = $args[2];
    34533614                $password   = $args[3];
    3454                 $publish     = $args[4];
     3615                $publish    = $args[4];
    34553616
    34563617                if ( !$user = $this->login($username, $password) )
    34573618                        return $this->error;
     
    35183679        function mw_newPost($args) {
    35193680                $this->escape($args);
    35203681
    3521                 $blog_ID     = (int) $args[0]; // we will support this in the near future
    3522                 $username  = $args[1];
    3523                 $password   = $args[2];
     3682                if( ! $this->guard_condition( $args, 4 ) )
     3683                        return $this->error;
     3684
     3685                $blog_ID        = (int) $args[0]; // we will support this in the near future
     3686                $username       = $args[1];
     3687                $password       = $args[2];
    35243688                $content_struct = $args[3];
    3525                 $publish     = isset( $args[4] ) ? $args[4] : 0;
     3689                $publish        = isset( $args[4] ) ? $args[4] : 0;
    35263690
    35273691                if ( !$user = $this->login($username, $password) )
    35283692                        return $this->error;
     
    38333997         * @return bool True on success.
    38343998         */
    38353999        function mw_editPost($args) {
    3836 
    38374000                $this->escape($args);
    38384001
    3839                 $post_ID     = (int) $args[0];
    3840                 $username  = $args[1];
    3841                 $password   = $args[2];
     4002                if( ! $this->guard_condition( $args, 5 ) )
     4003                        return $this->error;
     4004
     4005                $post_ID        = (int) $args[0];
     4006                $username       = $args[1];
     4007                $password       = $args[2];
    38424008                $content_struct = $args[3];
    3843                 $publish     = $args[4];
     4009                $publish        = $args[4];
    38444010
    38454011                if ( ! $user = $this->login($username, $password) )
    38464012                        return $this->error;
     
    39944160                if ( isset( $content_struct['mt_excerpt'] ) )
    39954161                        $post_excerpt =  $content_struct['mt_excerpt'];
    39964162
     4163                $post_more = null;
    39974164                if ( isset( $content_struct['mt_text_more'] ) )
    39984165                        $post_more =  $content_struct['mt_text_more'];
    39994166
     
    41024269         * @return array
    41034270         */
    41044271        function mw_getPost($args) {
    4105 
    41064272                $this->escape($args);
    41074273
    4108                 $post_ID     = (int) $args[0];
    4109                 $username  = $args[1];
     4274                if( ! $this->guard_condition( $args, 3 ) )
     4275                        return $this->error;
     4276
     4277                $post_ID    = (int) $args[0];
     4278                $username   = $args[1];
    41104279                $password   = $args[2];
    41114280
    41124281                if ( !$user = $this->login($username, $password) )
     
    42254394         * @return array
    42264395         */
    42274396        function mw_getRecentPosts($args) {
    4228 
    42294397                $this->escape($args);
    42304398
    4231                 $blog_ID     = (int) $args[0];
    4232                 $username  = $args[1];
     4399                if( ! $this->guard_condition( $args, 3 ) )
     4400                        return $this->error;
     4401
     4402                $blog_ID    = (int) $args[0];
     4403                $username   = $args[1];
    42334404                $password   = $args[2];
     4405
    42344406                if ( isset( $args[3] ) )
    42354407                        $query = array( 'numberposts' => absint( $args[3] ) );
    42364408                else
     
    43404512         * @return array
    43414513         */
    43424514        function mw_getCategories($args) {
    4343 
    43444515                $this->escape($args);
    43454516
    4346                 $blog_ID     = (int) $args[0];
    4347                 $username  = $args[1];
     4517                if( ! $this->guard_condition( $args, 3 ) )
     4518                        return $this->error;
     4519
     4520                $blog_ID    = (int) $args[0];
     4521                $username   = $args[1];
    43484522                $password   = $args[2];
    43494523
    43504524                if ( !$user = $this->login($username, $password) )
     
    43894563        function mw_newMediaObject($args) {
    43904564                global $wpdb;
    43914565
    4392                 $blog_ID     = (int) $args[0];
    4393                 $username  = $wpdb->escape($args[1]);
     4566                if( ! $this->guard_condition( $args, 4 ) )
     4567                        return $this->error;
     4568
     4569                $blog_ID    = (int) $args[0];
     4570                $username   = $wpdb->escape($args[1]);
    43944571                $password   = $wpdb->escape($args[2]);
    4395                 $data        = $args[3];
     4572                $data       = $args[3];
    43964573
    43974574                $name = sanitize_file_name( $data['name'] );
    43984575                $type = $data['type'];
     
    44744651         * @return array
    44754652         */
    44764653        function mt_getRecentPostTitles($args) {
    4477 
    44784654                $this->escape($args);
    44794655
    4480                 $blog_ID     = (int) $args[0];
    4481                 $username  = $args[1];
     4656                if( ! $this->guard_condition( $args, 3 ) )
     4657                        return $this->error;
     4658
     4659                $blog_ID    = (int) $args[0];
     4660                $username   = $args[1];
    44824661                $password   = $args[2];
     4662
    44834663                if ( isset( $args[3] ) )
    44844664                        $query = array( 'numberposts' => absint( $args[3] ) );
    44854665                else
     
    45344714         * @return array
    45354715         */
    45364716        function mt_getCategoryList($args) {
    4537 
    45384717                $this->escape($args);
    45394718
    4540                 $blog_ID     = (int) $args[0];
    4541                 $username  = $args[1];
     4719                if( ! $this->guard_condition( $args, 3 ) )
     4720                        return $this->error;
     4721
     4722                $blog_ID    = (int) $args[0];
     4723                $username   = $args[1];
    45424724                $password   = $args[2];
    45434725
    45444726                if ( !$user = $this->login($username, $password) )
     
    45724754         * @return array
    45734755         */
    45744756        function mt_getPostCategories($args) {
    4575 
    45764757                $this->escape($args);
    45774758
    4578                 $post_ID     = (int) $args[0];
    4579                 $username  = $args[1];
     4759                if( ! $this->guard_condition( $args, 3 ) )
     4760                        return $this->error;
     4761
     4762                $post_ID    = (int) $args[0];
     4763                $username   = $args[1];
    45804764                $password   = $args[2];
    45814765
    45824766                if ( !$user = $this->login($username, $password) )
     
    46124796         * @return bool True on success.
    46134797         */
    46144798        function mt_setPostCategories($args) {
    4615 
    46164799                $this->escape($args);
    46174800
    4618                 $post_ID     = (int) $args[0];
    4619                 $username  = $args[1];
     4801                if( ! $this->guard_condition( $args, 4 ) )
     4802                        return $this->error;
     4803
     4804                $post_ID    = (int) $args[0];
     4805                $username   = $args[1];
    46204806                $password   = $args[2];
    4621                 $categories  = $args[3];
     4807                $categories = $args[3];
    46224808
    46234809                if ( !$user = $this->login($username, $password) )
    46244810                        return $this->error;
     
    47204906         * @return int
    47214907         */
    47224908        function mt_publishPost($args) {
    4723 
    47244909                $this->escape($args);
    47254910
    4726                 $post_ID     = (int) $args[0];
    4727                 $username  = $args[1];
     4911                if( ! $this->guard_condition( $args, 3 ) )
     4912                        return $this->error;
     4913
     4914                $post_ID    = (int) $args[0];
     4915                $username   = $args[1];
    47284916                $password   = $args[2];
    47294917
    47304918                if ( !$user = $this->login($username, $password) )
     
    47684956
    47694957                $this->escape($args);
    47704958
     4959                if( ! $this->guard_condition( $args, 2 ) )
     4960                        return $this->error;
     4961
    47714962                $pagelinkedfrom = $args[0];
    47724963                $pagelinkedto   = $args[1];
    47734964