]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/includes/import.php
WordPress 3.4
[autoinstalls/wordpress.git] / wp-admin / includes / import.php
index c9cd71cb580920b44d9ad39bd14a529125ada973..3713f18b401103b8307b5642d273897587787293 100644 (file)
@@ -56,11 +56,16 @@ function wp_import_cleanup( $id ) {
  *
  * @since 2.0.0
  *
- * @return array
+ * @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;
+       }
+
        $overrides = array( 'test_form' => false, 'test_type' => false );
-       $_FILES['import']['name'] .= '.import';
+       $_FILES['import']['name'] .= '.txt';
        $file = wp_handle_upload( $_FILES['import'], $overrides );
 
        if ( isset( $file['error'] ) )
@@ -68,20 +73,23 @@ function wp_import_handle_upload() {
 
        $url = $file['url'];
        $type = $file['type'];
-       $file = addslashes( $file['file'] );
+       $file = $file['file'];
        $filename = basename( $file );
 
        // Construct the object array
        $object = array( 'post_title' => $filename,
                'post_content' => $url,
                'post_mime_type' => $type,
-               'guid' => $url
+               'guid' => $url,
+               'context' => 'import',
+               'post_status' => 'private'
        );
 
        // Save the data
        $id = wp_insert_attachment( $object, $file );
 
+       // schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call
+       wp_schedule_single_event( time() + 86400, 'importer_scheduled_cleanup', array( $id ) );
+
        return array( 'file' => $file, 'id' => $id );
 }
-
-?>