You are here

function gallery_assist_items_upload_submit in Gallery Assist 7

Same name in this branch
  1. 7 gallery_assist_form_BUP.inc \gallery_assist_items_upload_submit()
  2. 7 gallery_assist_form.inc \gallery_assist_items_upload_submit()

Prepare the GA items upload data submission.

@todo: Implementation: Recognize archives, unpack and assign items to a gallery.

1 string reference to 'gallery_assist_items_upload_submit'
gallery_assist_gallery_node_form in ./gallery_assist.module
Form builder; GA settings node form builder.

File

./gallery_assist_form.inc, line 454
GA node settings, upload, sorting and gallery items management forms.

Code

function gallery_assist_items_upload_submit($form, &$form_state) {

  // Process the upload and perform validation. Note: we're using the
  // form value for the $replace parameter.
  $node = $form_state['build_info']['args'][0];
  $ganame = gallery_assist_build_dir_name($node);
  $ga_dir = variable_get('gallery_assist_directory', FALSE);
  $ga['user_dir'] = $ga_dir . '/' . $node->uid;
  $ga['user_ga_dir'] = $ga['user_dir'] . '/' . $ganame;
  $ga['user_pack_dir'] = $ga['user_dir'] . '/' . 'packages';
  $ga['user_tmp_dir'] = $ga['user_dir'] . '/' . 'tmp';
  foreach ($ga as $key => $uri) {
    file_prepare_directory($uri, FILE_CREATE_DIRECTORY);
  }
  $destination = array(
    'files' => $ga['user_ga_dir'],
    'packages' => $ga['user_pack_dir'],
  );
  $validators['file_validate_extensions'] = array(
    $node->ga_conf[$node->type]['upload_extensions'],
  );
  $files = array();
  foreach ($_FILES['files']['name'] as $key => $value) {
    if ($_FILES['files']['type'][$key] == 'application/zip' || $_FILES['files']['type'][$key] == 'application/x-zip' || $_FILES['files']['type'][$key] == 'application/x-gzip') {
      $type = 'packages';
      $validators['file_validate_extensions'] = array(
        'zip ZIP',
      );
    }
    else {
      $type = 'files';
      $validators['file_validate_is_image'] = array();
      $validators['file_validate_extensions'] = array(
        $node->ga_conf[$node->type]['upload_extensions'] . ' ' . strtoupper($node->ga_conf[$node->type]['upload_extensions']),
      );
    }

    // Save
    $file = file_save_upload($key, $validators, $destination[$type]);
    if ($file) {
      if ($type == 'packages') {
        $_SESSION['gallery_assist']['packages'][$file->fid] = $file;
      }
      elseif ($type == 'files') {
        $_SESSION['gallery_assist']['files'][$file->fid] = $file;
      }
      $form_state['values'][$key] = $file;
      drupal_set_message(t('File @filepath was uploaded.', array(
        '@filepath' => $file->uri,
      )));
      drupal_set_message(t('File name is @filename.', array(
        '@filename' => $file->filename,
      )));
      drupal_set_message(t('File MIME type is @mimetype.', array(
        '@mimetype' => $file->filemime,
      )));
      $files[] = $file;
    }
    elseif ($file === FALSE) {
      drupal_set_message(t('File upload FAIL!'), 'error');
    }
  }
  if (count($files)) {
    gallery_assist_save_uploaded_files($node, $files);
  }
}