X7ROOT File Manager
Current Path:
/home/gfecatvj/4abetter.us/wp-content/plugins/rss-importer
home
/
gfecatvj
/
4abetter.us
/
wp-content
/
plugins
/
rss-importer
/
📁
..
📁
languages
📄
readme.txt
(908 B)
📄
rss-importer.php
(6.3 KB)
Editing: rss-importer.php
<?php /* Plugin Name: RSS Importer Plugin URI: https://wordpress.org/extend/plugins/rss-importer/ Description: Import posts from an RSS feed. Author: wordpressdotorg Author URI: https://wordpress.org/ Version: 0.3.2 Stable tag: 0.3.2 License: GPL version 2 or later - https://www.gnu.org/licenses/old-licenses/gpl-2.0.html Text Domain: rss-importer */ if ( !defined('WP_LOAD_IMPORTERS') ) { return; } // Load Importer API require_once ABSPATH . 'wp-admin/includes/import.php'; if ( !class_exists( 'WP_Importer' ) ) { $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; if ( file_exists( $class_wp_importer ) ) require_once $class_wp_importer; } /** * RSS Importer * * @package WordPress * @subpackage Importer */ /** * RSS Importer * * Will process a RSS feed for importing posts into WordPress. This is a very * limited importer and should only be used as the last resort, when no other * importer is available. * * @since unknown */ if ( class_exists( 'WP_Importer' ) ) { class RSS_Import extends WP_Importer { var $posts = array (); var $file; function header() { echo '<div class="wrap">'; if ( version_compare( get_bloginfo( 'version' ), '3.8.0', '<' ) ) { screen_icon(); } echo '<h2>'.__('Import RSS', 'rss-importer').'</h2>'; } function footer() { echo '</div>'; } function greet() { echo '<div class="narrow">'; echo '<p>'.__('Howdy! This importer allows you to extract posts from an RSS 2.0 file into your WordPress site. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an RSS file to upload and click Import.', 'rss-importer').'</p>'; wp_import_upload_form("admin.php?import=rss&step=1"); echo '</div>'; } function _normalize_tag( $matches ) { return '<' . strtolower( $matches[1] ); } function get_posts() { global $wpdb; $datalines = file($this->file); // Read the file into an array $importdata = implode('', $datalines); // squish it $importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata); preg_match_all('|<item>(.*?)</item>|is', $importdata, $this->posts); $this->posts = $this->posts[1]; $index = 0; foreach ($this->posts as $post) { preg_match('|<title>(.*?)</title>|is', $post, $post_title); $post_title = str_replace(array('<![CDATA[', ']]>'), '', esc_sql( trim($post_title[1]) ) ); preg_match('|<pubdate>(.*?)</pubdate>|is', $post, $post_date_gmt); if ($post_date_gmt) { $post_date_gmt = strtotime($post_date_gmt[1]); } else { // if we don't already have something from pubDate preg_match('|<dc:date>(.*?)</dc:date>|is', $post, $post_date_gmt); $post_date_gmt = preg_replace('|([-+])([0-9]+):([0-9]+)$|', '\1\2\3', $post_date_gmt[1]); $post_date_gmt = str_replace('T', ' ', $post_date_gmt); $post_date_gmt = strtotime($post_date_gmt); } $post_date_gmt = gmdate('Y-m-d H:i:s', $post_date_gmt); $post_date = get_date_from_gmt( $post_date_gmt ); preg_match_all('|<category>(.*?)</category>|is', $post, $categories); $categories = $categories[1]; if (!$categories) { preg_match_all('|<dc:subject>(.*?)</dc:subject>|is', $post, $categories); $categories = $categories[1]; } $cat_index = 0; foreach ($categories as $category) { $categories[$cat_index] = esc_sql( html_entity_decode( $category ) ); $cat_index++; } preg_match('|<guid.*?>(.*?)</guid>|is', $post, $guid); if ( $guid ) { $guid = esc_sql( trim( $guid[1] ) ); } else { $guid = ''; } preg_match('|<content:encoded>(.*?)</content:encoded>|is', $post, $post_content); if ( count( $post_content ) > 1 ) { $post_content = str_replace( array( '<![CDATA[', ']]>'), '', esc_sql( trim( $post_content[1] ) ) ); } else { $post_content = null; } if (!$post_content) { // This is for feeds that put content in description preg_match('|<description>(.*?)</description>|is', $post, $post_content); $post_content = esc_sql( html_entity_decode( trim( $post_content[1] ) ) ); } // Clean up content $post_content = preg_replace_callback('|<(/?[A-Z]+)|', array( &$this, '_normalize_tag' ), $post_content); $post_content = str_replace('<br>', '<br />', $post_content); $post_content = str_replace('<hr>', '<hr />', $post_content); $post_author = 1; $post_status = 'publish'; $this->posts[$index] = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_status', 'guid', 'categories'); $index++; } } function import_posts() { echo '<ol>'; foreach ($this->posts as $post) { echo "<li>".__('Importing post...', 'rss-importer'); extract($post); if ($post_id = post_exists($post_title, $post_content, $post_date)) { _e('Post already imported', 'rss-importer'); } else { $post_id = wp_insert_post($post); if ( is_wp_error( $post_id ) ) return $post_id; if (!$post_id) { _e('Couldn’t get post ID', 'rss-importer'); return; } if (0 != count($categories)) wp_create_categories($categories, $post_id); _e('Done!', 'rss-importer'); } echo '</li>'; } echo '</ol>'; } function import() { $file = wp_import_handle_upload(); if ( isset($file['error']) ) { echo $file['error']; return; } $this->file = $file['file']; $this->get_posts(); $result = $this->import_posts(); if ( is_wp_error( $result ) ) return $result; wp_import_cleanup($file['id']); do_action('import_done', 'rss'); echo '<h3>'; printf(__('All done. <a href="%s">Have fun!</a>', 'rss-importer'), get_option('home')); echo '</h3>'; } function dispatch() { if (empty ($_GET['step'])) $step = 0; else $step = (int) $_GET['step']; $this->header(); switch ($step) { case 0 : $this->greet(); break; case 1 : check_admin_referer('import-upload'); $result = $this->import(); if ( is_wp_error( $result ) ) echo $result->get_error_message(); break; } $this->footer(); } } $rss_import = new RSS_Import(); register_importer('rss', __('RSS', 'rss-importer'), __('Import posts from an RSS feed.', 'rss-importer'), array ($rss_import, 'dispatch')); } // class_exists( 'WP_Importer' ) function rss_importer_init() { load_plugin_textdomain( 'rss-importer', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); } add_action( 'init', 'rss_importer_init' );
Upload File
Create Folder