diff options
-rw-r--r-- | mass_image_import.module | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/mass_image_import.module b/mass_image_import.module index 9c20982..ff49539 100644 --- a/mass_image_import.module +++ b/mass_image_import.module @@ -203,13 +203,17 @@ function mass_image_import_batch_finished($success, $results, $operations) { /** * Create an image entry. Contains some code from image_create_node_from(). * - * @see http://drupal.org/node/330421 + * @see + * http://drupal.org/node/330421#comment-2806336 + * * @todo * Mime, content type, field name, taxonomy, etc. */ function mass_image_import_create_node_from($filepath, $title, $body, $taxonomy) { - $mime = 'image/jpeg'; + $type = 'foto'; + $field = 'foto'; + $uid = 1; // Make sure we can copy the file into our temp directory. $original_path = $filepath; @@ -221,38 +225,32 @@ function mass_image_import_create_node_from($filepath, $title, $body, $taxonomy) $file = new stdClass(); $file->filename = basename($filepath); $file->filepath = $filepath; - $file->filemime = $mime; + $file->filemime = file_get_mimetype($filepath); $file->filesize = filesize($filepath); $file->uid = $uid; - $file->status = FILE_STATUS_PERMANENT; + //$file->status = FILE_STATUS_PERMANENT; // See http://drupal.org/node/881020 $file->timestamp = time(); drupal_write_record('files', $file); // Create the node. $node = new StdClass(); - $node->type = 'foto'; - $node->body = $body; - $node->title = $title; - - // Image field. - $node->field_foto = array( - array( - 'fid' => $file->fid, - 'title' => basename($file->filename), - 'filename' => $file->filename, - 'filepath' => $file->filepath, - 'filesize' => $file->filesize, - 'mimetype' => $mime, - 'description' => basename($file->filename), - 'list' => 1, - ), - ); - - $node->uid = 1; - $node->status = 1; - $node->active = 1; - $node->promote = 0; - node_save($node); - + $node->type = $type; + + // Add image field. + $files = array(); + $files[0] = (array) $file; + $files[0]['status'] = 0; + + // Node form. + $form_state = array(); + $form_state['values']['type'] = $type; + $form_state['values']['title'] = $title; + $form_state['values']['body'] = $body; + $form_state['values']['op'] = t('Save'); + $form_state['values']['field_'. $field] = $files; + + // Submit. + module_load_include('inc', 'node', 'node.pages'); + drupal_execute($type .'_node_form', $form_state, $node); return $node; } |