]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/feed.php
WordPress 4.7
[autoinstalls/wordpress.git] / wp-includes / feed.php
index f673e91d8bc52bc08f1ae14d62e8298886f555b5..e6686c040ebef9dbc66a9228110b22b0d6e3095e 100644 (file)
@@ -538,6 +538,12 @@ function prep_atom_text_construct($data) {
                return array('text', $data);
        }
 
+       if ( ! function_exists( 'xml_parser_create' ) ) {
+               trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) );
+
+               return array( 'html', "<![CDATA[$data]]>" );
+       }
+
        $parser = xml_parser_create();
        xml_parse($parser, '<div>' . $data . '</div>', true);
        $code = xml_get_error_code($parser);
@@ -663,7 +669,14 @@ function feed_content_type( $type = '' ) {
  * @return WP_Error|SimplePie WP_Error object on failure or SimplePie object on success
  */
 function fetch_feed( $url ) {
-       require_once( ABSPATH . WPINC . '/class-feed.php' );
+       if ( ! class_exists( 'SimplePie', false ) ) {
+               require_once( ABSPATH . WPINC . '/class-simplepie.php' );
+       }
+
+       require_once( ABSPATH . WPINC . '/class-wp-feed-cache.php' );
+       require_once( ABSPATH . WPINC . '/class-wp-feed-cache-transient.php' );
+       require_once( ABSPATH . WPINC . '/class-wp-simplepie-file.php' );
+       require_once( ABSPATH . WPINC . '/class-wp-simplepie-sanitize-kses.php' );
 
        $feed = new SimplePie();
 
@@ -676,7 +689,7 @@ function fetch_feed( $url ) {
        $feed->set_file_class( 'WP_SimplePie_File' );
 
        $feed->set_feed_url( $url );
-       /** This filter is documented in wp-includes/class-feed.php */
+       /** This filter is documented in wp-includes/class-wp-feed-cache-transient.php */
        $feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );
        /**
         * Fires just before processing the SimplePie feed object.