| [ XREF Home ] [ Index ] |
PHP Cross Reference of WordPress TrunkProvided by Yoast |
[Summary view] [Print] [Text view]
1 <?php 2 3 if ( !class_exists('SimplePie') ) 4 require_once (ABSPATH . WPINC . '/class-simplepie.php'); 5 6 class WP_Feed_Cache extends SimplePie_Cache { 7 /** 8 * Create a new SimplePie_Cache object 9 * 10 * @static 11 * @access public 12 */ 13 function create($location, $filename, $extension) { 14 return new WP_Feed_Cache_Transient($location, $filename, $extension); 15 } 16 } 17 18 class WP_Feed_Cache_Transient { 19 var $name; 20 var $mod_name; 21 var $lifetime = 43200; //Default lifetime in cache of 12 hours 22 23 function __construct($location, $filename, $extension) { 24 $this->name = 'feed_' . $filename; 25 $this->mod_name = 'feed_mod_' . $filename; 26 $this->lifetime = apply_filters('wp_feed_cache_transient_lifetime', $this->lifetime, $filename); 27 } 28 29 function save($data) { 30 if ( is_a($data, 'SimplePie') ) 31 $data = $data->data; 32 33 set_transient($this->name, $data, $this->lifetime); 34 set_transient($this->mod_name, time(), $this->lifetime); 35 return true; 36 } 37 38 function load() { 39 return get_transient($this->name); 40 } 41 42 function mtime() { 43 return get_transient($this->mod_name); 44 } 45 46 function touch() { 47 return set_transient($this->mod_name, time(), $this->lifetime); 48 } 49 50 function unlink() { 51 delete_transient($this->name); 52 delete_transient($this->mod_name); 53 return true; 54 } 55 } 56 57 class WP_SimplePie_File extends SimplePie_File { 58 59 function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false) { 60 $this->url = $url; 61 $this->timeout = $timeout; 62 $this->redirects = $redirects; 63 $this->headers = $headers; 64 $this->useragent = $useragent; 65 66 $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE; 67 68 if ( preg_match('/^http(s)?:\/\//i', $url) ) { 69 $args = array( 'timeout' => $this->timeout, 'redirection' => $this->redirects); 70 71 if ( !empty($this->headers) ) 72 $args['headers'] = $this->headers; 73 74 if ( SIMPLEPIE_USERAGENT != $this->useragent ) //Use default WP user agent unless custom has been specified 75 $args['user-agent'] = $this->useragent; 76 77 $res = wp_remote_request($url, $args); 78 79 if ( is_wp_error($res) ) { 80 $this->error = 'WP HTTP Error: ' . $res->get_error_message(); 81 $this->success = false; 82 } else { 83 $this->headers = wp_remote_retrieve_headers( $res ); 84 $this->body = wp_remote_retrieve_body( $res ); 85 $this->status_code = wp_remote_retrieve_response_code( $res ); 86 } 87 } else { 88 if ( ! $this->body = file_get_contents($url) ) { 89 $this->error = 'file_get_contents could not read the file'; 90 $this->success = false; 91 } 92 } 93 } 94 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Jun 1 08:30:02 2011 |
Cross-referenced by PHPXref 0.7 Provided by Yoast and awesome WordPress Hosting |