Changeset 10507
- Timestamp:
- 02/05/2009 08:46:39 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
wp-includes/functions.php (modified) (1 diff)
-
wp-includes/http.php (modified) (6 diffs)
-
wp-includes/rewrite.php (modified) (2 diffs)
-
wp-includes/rss.php (modified) (4 diffs)
-
wp-settings.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/functions.php
r10504 r10507 623 623 } 624 624 return true; 625 } 626 627 /** 628 * Delete a transient 629 * 630 * @since 2.8.0 631 * @package WordPress 632 * @subpackage Transient 633 * 634 * @param string $transient Transient name. Expected to not be SQL-escaped 635 * @return bool true if successful, false otherwise 636 */ 637 function delete_transient($transient) { 638 global $_wp_using_ext_object_cache, $wpdb; 639 640 if ( $_wp_using_ext_object_cache ) { 641 return wp_cache_delete($transient, 'transient'); 642 } else { 643 $transient = $wpdb->escape($transient); 644 return delete_option($transient); 645 } 646 } 647 648 /** 649 * Get the value of a transient 650 * 651 * If the transient does not exist or does not have a value, then the return value 652 * will be false. 653 * 654 * @since 2.8.0 655 * @package WordPress 656 * @subpackage Transient 657 * 658 * @param string $transient Transient name. Expected to not be SQL-escaped 659 * @return mixed Value of transient 660 */ 661 function get_transient($transient) { 662 global $_wp_using_ext_object_cache, $wpdb; 663 664 if ( $_wp_using_ext_object_cache ) { 665 return wp_cache_get($transient, 'transient'); 666 } else { 667 $transient = $wpdb->escape($transient); 668 return get_option($transient); 669 } 670 } 671 672 /** 673 * Set/update the value of a transient 674 * 675 * You do not need to serialize values, if the value needs to be serialize, then 676 * it will be serialized before it is set. 677 * 678 * @since 2.8.0 679 * @package WordPress 680 * @subpackage Transient 681 * 682 * @param string $transient Transient name. Expected to not be SQL-escaped 683 * @param mixed $value Transient value. 684 * @return bool False if value was not set and true if value was set. 685 */ 686 function set_transient($transient, $value) { 687 global $_wp_using_ext_object_cache, $wpdb; 688 689 if ( $_wp_using_ext_object_cache ) { 690 return wp_cache_set($transient, $value, 'transient'); 691 } else { 692 $safe_transient = $wpdb->escape($transient); 693 if ( false === get_option( $safe_transient ) ) 694 return add_option($transient, $value, '', 'no'); 695 else 696 return update_option($transient, $value); 697 } 625 698 } 626 699 -
trunk/wp-includes/http.php
r10410 r10507 238 238 $working_transport['streams'] = new WP_Http_Streams(); 239 239 $blocking_transport[] = &$working_transport['streams']; 240 } else if ( true === WP_Http_Fopen::test() && apply_filters('use_fopen_transport', true) ) {240 } else if ( true === WP_Http_Fopen::test() && apply_filters('use_fopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] ) ) { 241 241 $working_transport['fopen'] = new WP_Http_Fopen(); 242 242 $blocking_transport[] = &$working_transport['fopen']; 243 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) ) {243 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] ) ) { 244 244 $working_transport['fsockopen'] = new WP_Http_Fsockopen(); 245 245 $blocking_transport[] = &$working_transport['fsockopen']; … … 283 283 $working_transport['exthttp'] = new WP_Http_ExtHttp(); 284 284 $blocking_transport[] = &$working_transport['exthttp']; 285 } else if ( true === WP_Http_Curl::test() && apply_filters('use_curl_transport', true) ) { 286 $working_transport['curl'] = new WP_Http_Curl(); 287 $blocking_transport[] = &$working_transport['curl']; 285 288 } else if ( true === WP_Http_Streams::test() && apply_filters('use_streams_transport', true) ) { 286 289 $working_transport['streams'] = new WP_Http_Streams(); 287 290 $blocking_transport[] = &$working_transport['streams']; 288 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) ) {291 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] ) ) { 289 292 $working_transport['fsockopen'] = new WP_Http_Fsockopen(); 290 293 $blocking_transport[] = &$working_transport['fsockopen']; 291 294 } 292 295 293 foreach ( array(' streams', 'fsockopen', 'exthttp') as $transport ) {296 foreach ( array('curl', 'streams', 'fsockopen', 'exthttp') as $transport ) { 294 297 if ( isset($working_transport[$transport]) ) 295 298 $nonblocking_transport[] = &$working_transport[$transport]; … … 359 362 'redirection' => apply_filters( 'http_request_redirection_count', 5), 360 363 'httpversion' => apply_filters( 'http_request_version', '1.0'), 361 'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version ),364 'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ), 362 365 'blocking' => true, 363 366 'headers' => array(), 364 367 'body' => null, 365 368 'compress' => false, 366 'decompress' => true 369 'decompress' => true, 370 'sslverify' => true 367 371 ); 368 372 369 373 $r = wp_parse_args( $args, $defaults ); 370 374 $r = apply_filters( 'http_request_args', $r, $url ); 375 376 $arrURL = parse_url($url); 377 378 // Determine if this is a https call and pass that on to the transport functions 379 // so that we can blacklist the transports that do not support ssl verification 380 if ( $arrURL['scheme'] == 'https' || $arrURL['scheme'] == 'ssl' ) 381 $r['ssl'] = true; 382 else 383 $r['ssl'] = false; 371 384 372 385 if ( is_null( $r['headers'] ) ) … … 928 941 'protocol_version' => (float) $r['httpversion'], 929 942 'header' => $strHeaders, 930 'timeout' => $r['timeout'] 943 'timeout' => $r['timeout'], 944 'ssl' => array( 945 'verify_peer' => apply_filters('https_ssl_verify', $r['sslverify']), 946 'verify_host' => apply_filters('https_ssl_verify', $r['sslverify']) 947 ) 931 948 ) 932 949 ); … … 1061 1078 'useragent' => $r['user-agent'], 1062 1079 'headers' => $r['headers'], 1080 'ssl' => array( 1081 'verifypeer' => apply_filters('https_ssl_verify', $r['sslverify']), 1082 'verifyhost' => apply_filters('https_ssl_verify', $r['sslverify']) 1083 ) 1063 1084 ); 1064 1085 … … 1154 1175 1155 1176 $handle = curl_init(); 1177 1156 1178 curl_setopt( $handle, CURLOPT_URL, $url); 1157 1158 // The cURL extension requires that the option be set for the HEAD to 1159 // work properly. 1160 if ( 'HEAD' === $r['method'] ) { 1161 curl_setopt( $handle, CURLOPT_NOBODY, true ); 1162 } 1163 1164 if ( true === $r['blocking'] ) { 1165 curl_setopt( $handle, CURLOPT_HEADER, true ); 1166 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, 1 ); 1167 } else { 1168 curl_setopt( $handle, CURLOPT_HEADER, false ); 1169 curl_setopt( $handle, CURLOPT_NOBODY, true ); 1170 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, 0 ); 1171 } 1172 1179 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true ); 1180 curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, apply_filters('https_ssl_verify', $r['sslverify']) ); 1181 curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, apply_filters('https_ssl_verify', $r['sslverify']) ); 1173 1182 curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] ); 1174 curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, 1);1183 curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $r['timeout'] ); 1175 1184 curl_setopt( $handle, CURLOPT_TIMEOUT, $r['timeout'] ); 1176 1185 curl_setopt( $handle, CURLOPT_MAXREDIRS, $r['redirection'] ); 1186 1187 switch ( $r['method'] ) { 1188 case 'HEAD': 1189 curl_setopt( $handle, CURLOPT_NOBODY, true ); 1190 break; 1191 case 'POST': 1192 curl_setopt( $handle, CURLOPT_POST, true ); 1193 curl_setopt( $handle, CURLOPT_POSTFIELDS, $r['body'] ); 1194 break; 1195 } 1196 1197 if ( true === $r['blocking'] ) 1198 curl_setopt( $handle, CURLOPT_HEADER, true ); 1199 else 1200 curl_setopt( $handle, CURLOPT_HEADER, false ); 1177 1201 1178 1202 // The option doesn't work with safe mode or when open_basedir is set. -
trunk/wp-includes/rewrite.php
r10464 r10507 1597 1597 */ 1598 1598 function wp_rewrite_rules() { 1599 $this->rules = get_ option('rewrite_rules');1599 $this->rules = get_transient('rewrite_rules'); 1600 1600 if ( empty($this->rules) ) { 1601 1601 $this->matches = 'matches'; 1602 1602 $this->rewrite_rules(); 1603 update_option('rewrite_rules', $this->rules);1603 set_transient('rewrite_rules', $this->rules); 1604 1604 } 1605 1605 … … 1784 1784 */ 1785 1785 function flush_rules() { 1786 delete_ option('rewrite_rules');1786 delete_transient('rewrite_rules'); 1787 1787 $this->wp_rewrite_rules(); 1788 1788 if ( function_exists('save_mod_rewrite_rules') ) -
trunk/wp-includes/rss.php
r10150 r10507 715 715 $cache_timestamp = 'rss_' . $this->file_name( $url ) . '_ts'; 716 716 717 // shouldn't these be using get_option() ? 718 if ( !$wpdb->get_var( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE option_name = %s", $cache_option ) ) ) 719 add_option($cache_option, '', '', 'no'); 720 if ( !$wpdb->get_var( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE option_name = %s", $cache_timestamp ) ) ) 721 add_option($cache_timestamp, '', '', 'no'); 722 723 update_option($cache_option, $rss); 724 update_option($cache_timestamp, time() ); 717 set_transient($cache_option, $rss); 718 set_transient($cache_timestamp, time() ); 725 719 726 720 return $cache_option; … … 737 731 $cache_option = 'rss_' . $this->file_name( $url ); 738 732 739 if ( ! get_option( $cache_option ) ) {733 if ( ! $rss = get_transient( $cache_option ) ) { 740 734 $this->debug( 741 735 "Cache doesn't contain: $url (cache option: $cache_option)" … … 743 737 return 0; 744 738 } 745 746 $rss = get_option( $cache_option );747 739 748 740 return $rss; … … 761 753 $cache_timestamp = 'rss_' . $this->file_name( $url ) . '_ts'; 762 754 763 if ( $mtime = get_ option($cache_timestamp) ) {755 if ( $mtime = get_transient($cache_timestamp) ) { 764 756 // find how long ago the file was added to the cache 765 757 // and whether that is longer then MAX_AGE -
trunk/wp-settings.php
r10443 r10507 258 258 wp_die(/*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/); 259 259 260 if ( file_exists(WP_CONTENT_DIR . '/object-cache.php') ) 260 if ( file_exists(WP_CONTENT_DIR . '/object-cache.php') ) { 261 261 require_once (WP_CONTENT_DIR . '/object-cache.php'); 262 else 262 $_wp_using_ext_object_cache = true; 263 } else { 263 264 require_once (ABSPATH . WPINC . '/cache.php'); 265 $_wp_using_ext_object_cache = false; 266 } 264 267 265 268 wp_cache_init();
Note: See TracChangeset
for help on using the changeset viewer.