X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/11be8dc178e77d0b46189bbd8e33a216a9b90942..refs/tags/wordpress-3.4.2-scripts:/wp-admin/includes/import.php diff --git a/wp-admin/includes/import.php b/wp-admin/includes/import.php index c9cd71cb..3713f18b 100644 --- a/wp-admin/includes/import.php +++ b/wp-admin/includes/import.php @@ -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 ); } - -?>