X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..refs/tags/wordpress-4.1:/wp-admin/import.php diff --git a/wp-admin/import.php b/wp-admin/import.php index a9de2654..e6f05e0e 100644 --- a/wp-admin/import.php +++ b/wp-admin/import.php @@ -9,7 +9,7 @@ define('WP_LOAD_IMPORTERS', true); /** Load WordPress Bootstrap */ -require_once ('admin.php'); +require_once( dirname( __FILE__ ) . '/admin.php' ); if ( !current_user_can('import') ) wp_die(__('You do not have sufficient permissions to import content in this site.')); @@ -26,36 +26,32 @@ get_current_screen()->add_help_tab( array( get_current_screen()->set_help_sidebar( '
' . __('For more information:') . '
' . '' . __('Documentation on Import') . '
' . - '' . __('Support Forums') . '
' + '' . __('Support Forums') . '
' ); -$popular_importers = array(); -if ( current_user_can('install_plugins') ) - $popular_importers = array( - 'blogger' => array( __('Blogger'), __('Install the Blogger importer to import posts, comments, and users from a Blogger blog.'), 'install' ), - 'wpcat2tag' => array(__('Categories and Tags Converter'), __('Install the category/tag converter to convert existing categories to tags or tags to categories, selectively.'), 'install', 'wp-cat2tag' ), - 'livejournal' => array( __( 'LiveJournal' ), __( 'Install the LiveJournal importer to import posts from LiveJournal using their API.' ), 'install' ), - 'movabletype' => array( __('Movable Type and TypePad'), __('Install the Movable Type importer to import posts and comments from a Movable Type or TypePad blog.'), 'install', 'mt' ), - 'opml' => array( __('Blogroll'), __('Install the blogroll importer to import links in OPML format.'), 'install' ), - 'rss' => array( __('RSS'), __('Install the RSS importer to import posts from an RSS feed.'), 'install' ), - 'tumblr' => array( __('Tumblr'), __('Install the Tumblr importer to import posts & media from Tumblr using their API.'), 'install' ), - 'wordpress' => array( 'WordPress', __('Install the WordPress importer to import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'install' ) - ); - -if ( ! empty( $_GET['invalid'] ) && !empty($popular_importers[$_GET['invalid']][3]) ) { - wp_redirect( admin_url('import.php?import=' . $popular_importers[$_GET['invalid']][3]) ); - exit; +if ( current_user_can( 'install_plugins' ) ) + $popular_importers = wp_get_popular_importers(); +else + $popular_importers = array(); + +// Detect and redirect invalid importers like 'movabletype', which is registered as 'mt' +if ( ! empty( $_GET['invalid'] ) && isset( $popular_importers[ $_GET['invalid'] ] ) ) { + $importer_id = $popular_importers[ $_GET['invalid'] ]['importer-id']; + if ( $importer_id != $_GET['invalid'] ) { // Prevent redirect loops. + wp_redirect( admin_url( 'admin.php?import=' . $importer_id ) ); + exit; + } + unset( $importer_id ); } add_thickbox(); wp_enqueue_script( 'plugin-install' ); -require_once ('admin-header.php'); +require_once( ABSPATH . 'wp-admin/admin-header.php' ); $parent_file = 'tools.php'; ?>%s importer is invalid or is not installed.'), esc_html( $_GET['invalid'] ) ); ?>
'.__('No importers are available.').'
'; // TODO: make more helpful +if ( empty( $importers ) ) { + echo '' . __('No importers are available.') . '
'; // TODO: make more helpful } else { - uasort($importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);')); + uasort( $importers, '_usort_by_first_member' ); ?> -$action | {$data[1]} |