WordPress.org

Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/xmlrpc.php

    r5452 r5730  
    2929    <homePageLink><?php bloginfo_rss('url') ?></homePageLink>
    3030    <apis>
    31       <api name="WordPress" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
    32       <api name="Movable Type" blogID="1" preferred="true" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
    33       <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
    34       <api name="Blogger" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
     31      <api name="WordPress" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" />
     32      <api name="Movable Type" blogID="1" preferred="true" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" />
     33      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" />
     34      <api name="Blogger" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" />
    3535    </apis>
    3636  </service>
     
    209209
    210210            // Format page date.
    211             $page_date = mysql2date("Ymd\TH:i:s", $page->post_date_gmt);
     211            $page_date = mysql2date("Ymd\TH:i:s\Z", $page->post_date_gmt);
    212212
    213213            // Pull the categories info together.
     
    439439        $num_pages = count($page_list);
    440440        for($i = 0; $i < $num_pages; $i++) {
    441             $post_date = mysql2date("Ymd\TH:i:s", $page_list[$i]->post_date_gmt);
     441            $post_date = mysql2date("Ymd\TH:i:s\Z", $page_list[$i]->post_date_gmt);
    442442            $page_list[$i]->dateCreated = new IXR_Date($post_date);
    443443
     
    539539        $password               = $args[2];
    540540        $category               = $args[3];
    541         $max_results            = $args[4];
     541        $max_results            = (int) $args[4];
    542542
    543543        if(!$this->login_pass_ok($username, $password)) {
     
    850850        return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
    851851
    852       extract($actual_post);
     852      extract($actual_post, EXTR_SKIP);
    853853
    854854      if ( ('publish' == $post_status) && !current_user_can('publish_posts') )
     
    930930      }
    931931
     932      $cap = ($publish) ? 'publish_posts' : 'edit_posts';
    932933      $user = set_current_user(0, $user_login);
    933       if ( !current_user_can('publish_posts') )
     934      if ( !current_user_can($cap) )
    934935        return new IXR_Error(401, __('Sorry, you can not post on this weblog or category.'));
    935936
     
    10001001
    10011002        if(isset($content_struct["mt_allow_comments"])) {
    1002             switch((int) $content_struct["mt_allow_comments"]) {
    1003                 case 0:
    1004                     $comment_status = "closed";
    1005                     break;
    1006                 case 1:
    1007                     $comment_status = "open";
    1008                     break;
    1009                 default:
    1010                     $comment_status = get_option("default_comment_status");
    1011                     break;
     1003            if(!is_numeric($content_struct["mt_allow_comments"])) {
     1004                switch($content_struct["mt_allow_comments"]) {
     1005                    case "closed":
     1006                        $comment_status = "closed";
     1007                        break;
     1008                    case "open":
     1009                        $comment_status = "open";
     1010                        break;
     1011                    default:
     1012                        $comment_status = get_option("default_comment_status");
     1013                        break;
     1014                }
    10121015            }
     1016            else {
     1017                switch((int) $content_struct["mt_allow_comments"]) {
     1018                    case 0:
     1019                        $comment_status = "closed";
     1020                        break;
     1021                    case 1:
     1022                        $comment_status = "open";
     1023                        break;
     1024                    default:
     1025                        $comment_status = get_option("default_comment_status");
     1026                        break;
     1027                }
     1028            }
     1029        }
     1030        else {
     1031            $comment_status = get_option("default_comment_status");
    10131032        }
    10141033
    10151034        if(isset($content_struct["mt_allow_pings"])) {
    1016             switch((int) $content_struct["mt_allow_pings"]) {
    1017                 case 0:
    1018                     $ping_status = "closed";
    1019                     break;
    1020                 case 1:
    1021                     $ping_status = "open";
    1022                     break;
    1023                 default:
    1024                     $ping_status = get_option("default_ping_status");
    1025                     break;
     1035            if(!is_numeric($content_struct["mt_allow_pings"])) {
     1036                switch($content["mt_allow_pings"]) {
     1037                    case "closed":
     1038                        $ping_status = "closed";
     1039                        break;
     1040                    case "open":
     1041                        $ping_status = "open";
     1042                        break;
     1043                    default:
     1044                        $ping_status = get_option("default_ping_status");
     1045                        break;
     1046                }
    10261047            }
     1048            else {
     1049                switch((int) $content_struct["mt_allow_pings"]) {
     1050                    case 0:
     1051                        $ping_status = "closed";
     1052                        break;
     1053                    case 1:
     1054                        $ping_status = "open";
     1055                        break;
     1056                    default:
     1057                        $ping_status = get_option("default_ping_status");
     1058                        break;
     1059                }
     1060            }
     1061        }
     1062        else {
     1063            $ping_status = get_option("default_ping_status");
    10271064        }
    10281065
     
    11271164        }
    11281165
    1129       extract($postdata);
    11301166        $this->escape($postdata);
     1167        extract($postdata, EXTR_SKIP);
    11311168
    11321169        // Let WordPress manage slug if none was provided.
     
    11511188        }
    11521189
    1153         $post_author = $user->ID;
     1190        $post_author = $postdata["post_author"];
    11541191
    11551192        // Only set the post_author if one is set.
     
    11781215        }
    11791216
    1180         // Only set ping_status if it was provided.
     1217        if(isset($content_struct["mt_allow_comments"])) {
     1218            if(!is_numeric($content_struct["mt_allow_comments"])) {
     1219                switch($content_struct["mt_allow_comments"]) {
     1220                    case "closed":
     1221                        $comment_status = "closed";
     1222                        break;
     1223                    case "open":
     1224                        $comment_status = "open";
     1225                        break;
     1226                    default:
     1227                        $comment_status = get_option("default_comment_status");
     1228                        break;
     1229                }
     1230            }
     1231            else {
     1232                switch((int) $content_struct["mt_allow_comments"]) {
     1233                    case 0:
     1234                        $comment_status = "closed";
     1235                        break;
     1236                    case 1:
     1237                        $comment_status = "open";
     1238                        break;
     1239                    default:
     1240                        $comment_status = get_option("default_comment_status");
     1241                        break;
     1242                }
     1243            }
     1244        }
     1245
    11811246        if(isset($content_struct["mt_allow_pings"])) {
    1182             switch((int) $content_struct["mt_allow_pings"]) {
    1183                 case 0:
    1184                     $ping_status = "closed";
    1185                     break;
    1186                 case 1:
    1187                     $ping_status = "open";
    1188                     break;
     1247            if(!is_numeric($content_struct["mt_allow_pings"])) {
     1248                switch($content["mt_allow_pings"]) {
     1249                    case "closed":
     1250                        $ping_status = "closed";
     1251                        break;
     1252                    case "open":
     1253                        $ping_status = "open";
     1254                        break;
     1255                    default:
     1256                        $ping_status = get_option("default_ping_status");
     1257                        break;
     1258                }
     1259            }
     1260            else {
     1261                switch((int) $content_struct["mt_allow_pings"]) {
     1262                    case 0:
     1263                        $ping_status = "closed";
     1264                        break;
     1265                    case 1:
     1266                        $ping_status = "open";
     1267                        break;
     1268                    default:
     1269                        $ping_status = get_option("default_ping_status");
     1270                        break;
     1271                }
    11891272            }
    11901273        }
     
    12211304        $to_ping = implode(' ', $to_ping);
    12221305
    1223       if(isset($content_struct["mt_allow_comments"])) {
    1224         $comment_status = (int) $content_struct["mt_allow_comments"];
    1225       }
    1226      
    12271306      // Do some timestamp voodoo
    12281307      $dateCreatedd = $content_struct['dateCreated'];
     
    12701349      if ($postdata['post_date'] != '') {
    12711350
    1272         $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt']);
     1351        $post_date = mysql2date('Ymd\TH:i:s\Z', $postdata['post_date_gmt']);
    12731352
    12741353        $categories = array();
     
    13381417        foreach ($posts_list as $entry) {
    13391418
    1340             $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt']);
     1419            $post_date = mysql2date('Ymd\TH:i:s\Z', $entry['post_date_gmt']);
    13411420            $categories = array();
    13421421            $catids = wp_get_post_categories($entry['ID']);
     
    14371516        $bits = $data['bits'];
    14381517
     1518        logIO('O', '(MW) Received '.strlen($bits).' bytes');
     1519
     1520        if ( !$this->login_pass_ok($user_login, $user_pass) )
     1521            return $this->error;
     1522
     1523        set_current_user(0, $user_login);
     1524        if ( !current_user_can('upload_files') ) {
     1525            logIO('O', '(MW) User does not have upload_files capability');
     1526            $this->error = new IXR_Error(401, __('You are not allowed to upload files to this site.'));
     1527            return $this->error;
     1528        }
     1529
     1530        if ( $upload_err = apply_filters( "pre_upload_error", false ) )
     1531            return new IXR_Error(500, $upload_err);
     1532
    14391533        if(!empty($data["overwrite"]) && ($data["overwrite"] == true)) {
    14401534            // Get postmeta info on the object.
     
    14541548            $name = "wpid{$old_file->ID}-{$filename}";
    14551549        }
    1456 
    1457         logIO('O', '(MW) Received '.strlen($bits).' bytes');
    1458 
    1459         if ( !$this->login_pass_ok($user_login, $user_pass) )
    1460             return $this->error;
    1461 
    1462         set_current_user(0, $user_login);
    1463         if ( !current_user_can('upload_files') ) {
    1464             logIO('O', '(MW) User does not have upload_files capability');
    1465             $this->error = new IXR_Error(401, __('You are not allowed to upload files to this site.'));
    1466             return $this->error;
    1467         }
    1468 
    1469         if ( $upload_err = apply_filters( "pre_upload_error", false ) )
    1470             return new IXR_Error(500, $upload_err);
    14711550
    14721551        $upload = wp_upload_bits($name, $type, $bits, $overwrite);
     
    15231602        foreach ($posts_list as $entry) {
    15241603
    1525             $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt']);
     1604            $post_date = mysql2date('Ymd\TH:i:s\Z', $entry['post_date_gmt']);
    15261605
    15271606            $struct[] = array(
Note: See TracChangeset for help on using the changeset viewer.