You are here

function imce_uploader_plupload_submit in IMCE Uploader 7

Submit handler.

Parameters

array $form: Form element.

array $form_state: Form state

See also

imce_uploader_plupload()

1 string reference to 'imce_uploader_plupload_submit'
imce_uploader_plupload in plugins/plupload/imce_uploader_plupload.module
Callback to override the upload form.

File

plugins/plupload/imce_uploader_plupload.module, line 137
IMCE Uploader - Plupload

Code

function imce_uploader_plupload_submit($form, &$form_state) {
  $form_state['redirect'] = FALSE;
  $imce =& $form_state['build_info']['args'][0]['imce'];
  $diruri = imce_dir_uri($imce);
  $replace = variable_get('imce_settings_replace', FILE_EXISTS_RENAME);
  $validators = empty($form['fset_upload']['imce']['#upload_validators']) ? array() : $form['fset_upload']['imce']['#upload_validators'];
  foreach ($form_state['values']['imce'] as $uploaded_file) {
    $tmp = plupload_file_uri_to_object($uploaded_file['tmppath']);
    $tmp->filename = $uploaded_file['name'];
    $errors = file_validate($tmp, $validators);
    if (!empty($errors)) {
      $message = t('The specified file %name could not be uploaded.', array(
        '%name' => $uploaded_file['name'],
      ));
      if (count($errors) > 1) {
        $message .= theme('item_list', array(
          'items' => $errors,
        ));
      }
      else {
        $message .= ' ' . array_pop($errors);
      }
      drupal_set_message($message, 'error');
    }
    elseif ($file = file_move($tmp, $diruri . $uploaded_file['name'], $replace)) {

      // Core bug #54223.
      if ($replace == FILE_EXISTS_RENAME) {
        $name = basename($file->uri);
        if ($name != $tmp->filename) {
          $file->filename = $name;
          drupal_set_message(t('The file has been renamed to %filename.', array(
            '%filename' => $file->filename,
          )));
        }
      }

      // Global user may not be the owner.
      $file->uid = $imce['uid'];
      $file->status = FILE_STATUS_PERMANENT;
      $file->filemime = file_get_mimetype($file->uri);
      drupal_chmod($file->uri);
      file_save($file);
      imce_file_register($file);
      drupal_set_message(t('%filename has been uploaded.', array(
        '%filename' => $file->filename,
      )));

      // Update file list.
      $img = imce_image_info($file->uri);
      $file->width = $img ? $img['width'] : 0;
      $file->height = $img ? $img['height'] : 0;
      imce_add_file($file, $imce);

      // Create thumbnails.
      if (isset($form_state['values']['thumbnails']) && $img) {
        imce_create_thumbnails($file->filename, $imce, $form_state['values']['thumbnails']);
      }
    }
    else {
      $message = t('The specified file %name could not be uploaded.', array(
        '%name' => $uploaded_file['name'],
      ));
      drupal_set_message($message, 'error');
    }
  }
}