';
		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 '
- (.*?)|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 "- ".__('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 '';
		}
		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' );