web/wp-includes/feed.php
changeset 204 09a1c134465b
parent 194 32102edaa81b
--- a/web/wp-includes/feed.php	Wed Dec 19 12:35:13 2012 -0800
+++ b/web/wp-includes/feed.php	Wed Dec 19 17:46:52 2012 -0800
@@ -140,6 +140,7 @@
  * @see get_the_content()
  *
  * @param string $feed_type The type of feed. rss2 | atom | rss | rdf
+ * @return string The filtered content.
  */
 function get_the_content_feed($feed_type = null) {
 	if ( !$feed_type )
@@ -487,12 +488,7 @@
  */
 function self_link() {
 	$host = @parse_url(home_url());
-	$host = $host['host'];
-	echo esc_url(
-		( is_ssl() ? 'https' : 'http' ) . '://'
-		. $host
-		. stripslashes($_SERVER['REQUEST_URI'])
-		);
+	echo esc_url( set_url_scheme( 'http://' . $host['host'] . stripslashes($_SERVER['REQUEST_URI']) ) );
 }
 
 /**
@@ -531,10 +527,17 @@
 	require_once (ABSPATH . WPINC . '/class-feed.php');
 
 	$feed = new SimplePie();
+
+	$feed->set_sanitize_class( 'WP_SimplePie_Sanitize_KSES' );
+	// We must manually overwrite $feed->sanitize because SimplePie's
+	// constructor sets it before we have a chance to set the sanitization class
+	$feed->sanitize = new WP_SimplePie_Sanitize_KSES();
+
+	$feed->set_cache_class( 'WP_Feed_Cache' );
+	$feed->set_file_class( 'WP_SimplePie_File' );
+
 	$feed->set_feed_url($url);
-	$feed->set_cache_class('WP_Feed_Cache');
-	$feed->set_file_class('WP_SimplePie_File');
-	$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url));
+	$feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );
 	do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
 	$feed->init();
 	$feed->handle_content_type();