X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/d3b1ea255664edd2deef17f900a655613d20820d..341dfbb66f24f5145174c373267f889c31615cc5:/wp-admin/includes/import.php diff --git a/wp-admin/includes/import.php b/wp-admin/includes/import.php index 820ee540..f57be766 100644 --- a/wp-admin/includes/import.php +++ b/wp-admin/includes/import.php @@ -56,9 +56,14 @@ 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'] .= '.txt'; $file = wp_handle_upload( $_FILES['import'], $overrides ); @@ -68,19 +73,24 @@ 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 ); }