]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - xmlrpc.php
Wordpress 2.8.5
[autoinstalls/wordpress.git] / xmlrpc.php
index 55279426cb1c76dca5d8cd583856541dc7020aea..6e5848e8c582e28efbcc9e711894baec8c45ac5f 100644 (file)
@@ -39,11 +39,11 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
     <engineLink>http://wordpress.org/</engineLink>
     <homePageLink><?php bloginfo_rss('url') ?></homePageLink>
     <apis>
-      <api name="WordPress" blogID="1" preferred="true" apiLink="<?php echo site_url('xmlrpc.php') ?>" />
-      <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php') ?>" />
-      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php') ?>" />
-      <api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php') ?>" />
-      <api name="Atom" blogID="" preferred="false" apiLink="<?php echo apply_filters('atom_service_url', site_url('wp-app.php/service') ) ?>" />
+      <api name="WordPress" blogID="1" preferred="true" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
+      <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
+      <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
+      <api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
+      <api name="Atom" blogID="" preferred="false" apiLink="<?php echo apply_filters('atom_service_url', site_url('wp-app.php/service', 'rpc') ) ?>" />
     </apis>
   </service>
 </rsd>
@@ -526,6 +526,11 @@ class wp_xmlrpc_server extends IXR_Server {
                        $page_date = mysql2date("Ymd\TH:i:s", $page->post_date, false);
                        $page_date_gmt = mysql2date("Ymd\TH:i:s", $page->post_date_gmt, false);
 
+                       // For drafts use the GMT version of the date
+                       if ( $page->post_status == 'draft' ) {
+                               $page_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page->post_date ), 'Ymd\TH:i:s' );
+                       }
+
                        // Pull the categories info together.
                        $categories = array();
                        foreach(wp_get_post_categories($page->ID) as $cat_id) {
@@ -790,7 +795,8 @@ class wp_xmlrpc_server extends IXR_Server {
                                post_title page_title,
                                post_parent page_parent_id,
                                post_date_gmt,
-                               post_date
+                               post_date,
+                               post_status
                        FROM {$wpdb->posts}
                        WHERE post_type = 'page'
                        ORDER BY ID
@@ -805,8 +811,15 @@ class wp_xmlrpc_server extends IXR_Server {
                        $page_list[$i]->dateCreated = new IXR_Date($post_date);
                        $page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt);
 
+                       // For drafts use the GMT version of the date
+                       if ( $page_list[$i]->post_status == 'draft' ) {
+                               $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' );
+                               $page_list[$i]->date_created_gmt = new IXR_Date( $page_list[$i]->date_created_gmt );
+                       }
+
                        unset($page_list[$i]->post_date_gmt);
                        unset($page_list[$i]->post_date);
+                       unset($page_list[$i]->post_status);
                }
 
                return($page_list);
@@ -2574,6 +2587,11 @@ class wp_xmlrpc_server extends IXR_Server {
                        $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date'], false);
                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt'], false);
 
+                       // For drafts use the GMT version of the post date
+                       if ( $postdata['post_status'] == 'draft' ) {
+                               $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $postdata['post_date'] ), 'Ymd\TH:i:s' );
+                       }
+
                        $categories = array();
                        $catids = wp_get_post_categories($post_ID);
                        foreach($catids as $catid)
@@ -2690,6 +2708,11 @@ class wp_xmlrpc_server extends IXR_Server {
                        $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
 
+                       // For drafts use the GMT version of the date
+                       if ( $entry['post_status'] == 'draft' ) {
+                               $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' );
+                       }
+
                        $categories = array();
                        $catids = wp_get_post_categories($entry['ID']);
                        foreach($catids as $catid) {
@@ -2925,6 +2948,11 @@ class wp_xmlrpc_server extends IXR_Server {
                        $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
                        $post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
 
+                       // For drafts use the GMT version of the date
+                       if ( $entry['post_status'] == 'draft' ) {
+                               $post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' );
+                       }
+
                        $struct[] = array(
                                'dateCreated' => new IXR_Date($post_date),
                                'userid' => $entry['post_author'],
@@ -3293,7 +3321,7 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $p = explode( "\n\n", $linea );
 
-               $preg_target = preg_quote($pagelinkedto);
+               $preg_target = preg_quote($pagelinkedto, '|');
 
                foreach ( $p as $para ) {
                        if ( strpos($para, $pagelinkedto) !== false ) { // it exists, but is it a link?
@@ -3315,7 +3343,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                $excerpt= str_replace($context[0], $marker, $excerpt); // swap out the link for our marker
                                $excerpt = strip_tags($excerpt, '<wpcontext>');        // strip all tags but our context marker
                                $excerpt = trim($excerpt);
-                               $preg_marker = preg_quote($marker);
+                               $preg_marker = preg_quote($marker, '|');
                                $excerpt = preg_replace("|.*?\s(.{0,100}$preg_marker.{0,100})\s.*|s", '$1', $excerpt);
                                $excerpt = strip_tags($excerpt); // YES, again, to remove the marker wrapper
                                break;