diff --git a/wp-content/plugins/rss-importer/languages/rss-importer.pot b/wp-content/plugins/rss-importer/languages/rss-importer.pot new file mode 100644 index 00000000..9dd41533 --- /dev/null +++ b/wp-content/plugins/rss-importer/languages/rss-importer.pot @@ -0,0 +1,80 @@ +# Translation of the WordPress plugin RSS Importer 0.2 by wordpressdotorg. +# Copyright (C) 2010 wordpressdotorg +# This file is distributed under the same license as the RSS Importer package. +# FIRST AUTHOR , 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: RSS Importer 0.2\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/rss-importer\n" +"POT-Creation-Date: 2010-06-01 13:26+0300\n" +"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: rss-importer.php:50 +msgid "Import RSS" +msgstr "" + +#: rss-importer.php:59 +msgid "" +"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." +msgstr "" + +#: rss-importer.php:143 +msgid "Importing post..." +msgstr "" + +#: rss-importer.php:148 +msgid "Post already imported" +msgstr "" + +#: rss-importer.php:154 +msgid "Couldn’t get post ID" +msgstr "" + +#: rss-importer.php:160 +msgid "Done!" +msgstr "" + +#: rss-importer.php:185 +#, php-format +msgid "All done. Have fun!" +msgstr "" + +#: rss-importer.php:219 +msgid "RSS" +msgstr "" + +#: rss-importer.php:219 +msgid "Import posts from an RSS feed." +msgstr "" + +#. Plugin Name of the plugin/theme +msgid "RSS Importer" +msgstr "" + +#. Plugin URI of the plugin/theme +msgid "https://wordpress.org/extend/plugins/rss-importer/" +msgstr "" + +#. Description of the plugin/theme +msgid "" +"Import posts from an RSS feed. This plugin depends on the WP_Importer base " +"class." +msgstr "" + +#. Author of the plugin/theme +msgid "wordpressdotorg" +msgstr "" + +#. Author URI of the plugin/theme +msgid "https://wordpress.org/" +msgstr "" diff --git a/wp-content/plugins/rss-importer/readme.txt b/wp-content/plugins/rss-importer/readme.txt new file mode 100644 index 00000000..8f63bf3e --- /dev/null +++ b/wp-content/plugins/rss-importer/readme.txt @@ -0,0 +1,44 @@ +=== RSS Importer === +Contributors: wordpressdotorg +Tags: importer, rss +Requires at least: 3.0 +Tested up to: 6.4.2 +Stable tag: 0.3.2 +License: GPLv2 or later +License URI: https://www.gnu.org/licenses/gpl-2.0.html + +Import posts from an RSS feed. + +== Description == + +Import posts from an RSS feed. + +== Installation == + +1. Upload the `rss-importer` folder to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Go to the Tools -> Import screen, Click on RSS + +== Frequently Asked Questions == + +== Screenshots == + +== Changelog == + += 0.3.2 = +* Testing the plugin up to WordPress 6.4.2 +* Update link references from http to https. + += 0.3.1 = +* Testing the plugin up to WordPress 6.2 + += 0.3 = +* Removed `set_magic_quotes_runtime()` for PHP 7 compatibility. +* Add support for WordPress 6.1 + += 0.2 = +* Update compat +* Add text domain headers + += 0.1 = +* Initial release diff --git a/wp-content/plugins/rss-importer/rss-importer.php b/wp-content/plugins/rss-importer/rss-importer.php new file mode 100644 index 00000000..b4951254 --- /dev/null +++ b/wp-content/plugins/rss-importer/rss-importer.php @@ -0,0 +1,232 @@ +'; + + if ( version_compare( get_bloginfo( 'version' ), '3.8.0', '<' ) ) { + screen_icon(); + } + + echo '

'.__('Import RSS', 'rss-importer').'

'; + } + + function footer() { + echo ''; + } + + function greet() { + echo '
'; + echo '

'.__('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').'

'; + wp_import_upload_form("admin.php?import=rss&step=1"); + echo '
'; + } + + 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('|(.*?)|is', $importdata, $this->posts); + $this->posts = $this->posts[1]; + $index = 0; + foreach ($this->posts as $post) { + preg_match('|(.*?)|is', $post, $post_title); + $post_title = str_replace(array(''), '', esc_sql( trim($post_title[1]) ) ); + + preg_match('|(.*?)|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('|(.*?)|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('|(.*?)|is', $post, $categories); + $categories = $categories[1]; + + if (!$categories) { + preg_match_all('|(.*?)|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('|(.*?)|is', $post, $guid); + if ( $guid ) { + $guid = esc_sql( trim( $guid[1] ) ); + } else { + $guid = ''; + } + + preg_match('|(.*?)|is', $post, $post_content); + + if ( count( $post_content ) > 1 ) { + $post_content = str_replace( array( ''), '', esc_sql( trim( $post_content[1] ) ) ); + } else { + $post_content = null; + } + + if (!$post_content) { + // This is for feeds that put content in description + preg_match('|(.*?)|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('
', '
', $post_content); + $post_content = str_replace('
', '
', $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 '
    '; + + foreach ($this->posts as $post) { + echo "
  1. ".__('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 '
  2. '; + } + + echo '
'; + + } + + 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 '

'; + printf(__('All done. Have fun!', 'rss-importer'), get_option('home')); + echo '

'; + } + + 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' );