wp/wp-admin/includes/import.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
--- a/wp/wp-admin/includes/import.php	Mon Jun 08 16:11:51 2015 +0000
+++ b/wp/wp-admin/includes/import.php	Tue Jun 09 03:35:32 2015 +0200
@@ -15,12 +15,29 @@
  */
 function get_importers() {
 	global $wp_importers;
-	if ( is_array($wp_importers) )
-		uasort($wp_importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
+	if ( is_array( $wp_importers ) ) {
+		uasort( $wp_importers, '_usort_by_first_member' );
+	}
 	return $wp_importers;
 }
 
 /**
+ * Sorts a multidimensional array by first member of each top level member
+ *
+ * Used by uasort() as a callback, should not be used directly.
+ *
+ * @since 2.9.0
+ * @access private
+ *
+ * @param array $a
+ * @param array $b
+ * @return int
+ */
+function _usort_by_first_member( $a, $b ) {
+	return strnatcasecmp( $a[0], $b[0] );
+}
+
+/**
  * Register importer for WordPress.
  *
  * @since 2.0.0
@@ -59,39 +76,40 @@
  * @return array Uploaded file's details on success, error message on failure
  */
 function wp_import_handle_upload() {
-	if ( !isset($_FILES['import']) ) {
-		$file['error'] = __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' );
-		return $file;
+	if ( ! isset( $_FILES['import'] ) ) {
+		return array(
+			'error' => __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' )
+		);
 	}
 
 	$overrides = array( 'test_form' => false, 'test_type' => false );
 	$_FILES['import']['name'] .= '.txt';
-	$file = wp_handle_upload( $_FILES['import'], $overrides );
-
-	if ( isset( $file['error'] ) )
-		return $file;
+	$upload = wp_handle_upload( $_FILES['import'], $overrides );
 
-	$url = $file['url'];
-	$type = $file['type'];
-	$file = $file['file'];
-	$filename = basename( $file );
+	if ( isset( $upload['error'] ) ) {
+		return $upload;
+	}
 
 	// Construct the object array
-	$object = array( 'post_title' => $filename,
-		'post_content' => $url,
-		'post_mime_type' => $type,
-		'guid' => $url,
+	$object = array(
+		'post_title' => basename( $upload['file'] ),
+		'post_content' => $upload['url'],
+		'post_mime_type' => $upload['type'],
+		'guid' => $upload['url'],
 		'context' => 'import',
 		'post_status' => 'private'
 	);
 
 	// Save the data
-	$id = wp_insert_attachment( $object, $file );
+	$id = wp_insert_attachment( $object, $upload['file'] );
 
-	// schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call
+	/*
+	 * Schedule a cleanup for one day from now in case of failed
+	 * import or missing wp_import_cleanup() call.
+	 */
 	wp_schedule_single_event( time() + DAY_IN_SECONDS, 'importer_scheduled_cleanup', array( $id ) );
 
-	return array( 'file' => $file, 'id' => $id );
+	return array( 'file' => $upload['file'], 'id' => $id );
 }
 
 /**
@@ -102,7 +120,7 @@
  * @return array Importers with metadata for each.
  */
 function wp_get_popular_importers() {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	$locale = get_locale();
 	$popular_importers = get_site_transient( 'popular_importers_' . $locale );