Ticket #5298: https-app.patch
File https-app.patch, 4.3 KB (added by , 16 years ago) |
---|
-
wp-app.php
68 68 var $MEDIA_SINGLE_PATH = "attachment"; 69 69 70 70 var $params = array(); 71 var $script_name = "wp-app.php";72 71 var $media_content_types = array('image/*','audio/*','video/*'); 73 72 var $atom_content_types = array('application/atom+xml'); 74 73 … … 80 79 function AtomServer() { 81 80 82 81 $this->script_name = array_pop(explode('/',$_SERVER['SCRIPT_NAME'])); 82 $this->app_base = get_bloginfo('url') . '/' . $this->script_name . '/'; 83 if ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ) { 84 $this->app_base = preg_replace( '/^http:\/\//', 'https://', $this->app_base ); 85 } 83 86 84 87 $this->selectors = array( 85 88 '@/service$@' => … … 594 597 } else { 595 598 $path = $this->ENTRIES_PATH; 596 599 } 597 $url = get_bloginfo('url') . '/' . $this->script_name . '/'. $path;600 $url = $this->app_base . $path; 598 601 if(isset($page) && is_int($page)) { 599 602 $url .= "/$page"; 600 603 } … … 607 610 } 608 611 609 612 function get_categories_url($page = NULL) { 610 return get_bloginfo('url') . '/' . $this->script_name . '/'. $this->CATEGORIES_PATH;613 return $this->app_base . $this->CATEGORIES_PATH; 611 614 } 612 615 613 616 function the_categories_url() { … … 616 619 } 617 620 618 621 function get_attachments_url($page = NULL) { 619 $url = get_bloginfo('url') . '/' . $this->script_name . '/'. $this->MEDIA_PATH;622 $url = $this->app_base . $this->MEDIA_PATH; 620 623 if(isset($page) && is_int($page)) { 621 624 $url .= "/$page"; 622 625 } … … 629 632 } 630 633 631 634 function get_service_url() { 632 return get_bloginfo('url') . '/' . $this->script_name . '/'. $this->SERVICE_PATH;635 return $this->app_base . $this->SERVICE_PATH; 633 636 } 634 637 635 638 function get_entry_url($postID = NULL) { … … 638 641 $postID = (int) $GLOBALS['post']->ID; 639 642 } 640 643 641 $url = get_bloginfo('url') . '/' . $this->script_name . '/'. $this->ENTRY_PATH . "/$postID";644 $url = $this->app_base . $this->ENTRY_PATH . "/$postID"; 642 645 643 646 log_app('function',"get_entry_url() = $url"); 644 647 return $url; … … 655 658 $postID = (int) $GLOBALS['post']->ID; 656 659 } 657 660 658 $url = get_bloginfo('url') . '/' . $this->script_name . '/'. $this->MEDIA_SINGLE_PATH ."/file/$postID";661 $url = $this->app_base . $this->MEDIA_SINGLE_PATH ."/file/$postID"; 659 662 660 663 log_app('function',"get_media_url() = $url"); 661 664 return $url; … … 919 922 $ctloc = $this->get_entry_url($post_ID); 920 923 break; 921 924 case 'attachment': 922 $edit = get_bloginfo('url') . '/' . $this->script_name . "/attachments/$post_ID";925 $edit = $this->app_base . "attachments/$post_ID"; 923 926 break; 924 927 } 925 928 header("Content-Type: $this->ATOM_CONTENT_TYPE"); -
xmlrpc.php
20 20 if ( isset( $_GET['rsd'] ) ) { // http://archipelago.phrasewise.com/rsd 21 21 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true); 22 22 23 $app = get_bloginfo('url') . "/wp-app.php/service"; 24 25 // Determine if this host supports TLS/SSL 26 if (in_array('curl', get_loaded_extensions())) { 27 $apps = preg_replace( '/^http:\/\//', 'https://', $app ); 28 29 $ch = curl_init(); 30 curl_setopt($ch, CURLOPT_URL, $apps); 31 curl_setopt($ch, CURLOPT_FAILONERROR, true); 32 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 33 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 34 35 $data = curl_exec ($ch); 36 37 $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 38 curl_close ($ch); 39 40 if ($status == 200 || $status == 401) { 41 $app = $apps; 42 } 43 } 44 23 45 ?> 24 46 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?> 25 47 <rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd"> … … 32 54 <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" /> 33 55 <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" /> 34 56 <api name="Blogger" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/xmlrpc.php" /> 35 <api name="Atom" blogID=" 1" preferred="false" apiLink="<?php bloginfo_rss('wpurl') ?>/wp-app.php/service" />57 <api name="Atom" blogID="" preferred="false" apiLink="<?php echo $app ?>" /> 36 58 </apis> 37 59 </service> 38 60 </rsd>