You are here

function imce_uploader_plupload in IMCE Uploader 7

Callback to override the upload form.

Parameters

array $form: Form element.

array $form_state: Form state

array $imce: IMCE profile

See also

imce_uploader_plupload_process()

imce_uploader_plupload_value()

imce_uploader_plupload_submit()

2 string references to 'imce_uploader_plupload'
hook_imce_uploader in ./imce_uploader.api.inc
Register list of uploaders to IMCE.
imce_uploader_plupload_imce_uploader in plugins/plupload/imce_uploader_plupload.module
Implements hook_imce_uploader().

File

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

Code

function imce_uploader_plupload(&$form, &$form_state, &$imce) {
  $module_path = drupal_get_path('module', 'imce_uploader_plupload');
  $uploader =& $form['fset_upload']['imce'];
  $uploader['#title_display'] = 'invisible';
  $uploader['#type'] = 'plupload';

  // Find validators.
  if ($imce['extensions'] === '*') {
    $plupload_info = element_info('plupload');
    $value_callback = empty($plupload_info['#value_callback']) ? 'plupload_element_value' : $plupload_info['#value_callback'];
    $uploader['#process'][] = 'imce_uploader_plupload_process';
    $uploader['#value_callback'] = 'imce_uploader_plupload_value';
    $uploader['#default_value_callback'] = $value_callback;
  }
  else {
    $validators['file_validate_extensions'] = array(
      $imce['extensions'],
    );
  }
  $validators['imce_validate_all'] = array(
    &$imce,
  );

  // Element validators.
  $uploader['#upload_validators'] = $validators;

  // Change submit.
  foreach ($form['fset_upload']['upload']['#submit'] as $i => $handler) {
    if ($handler == 'imce_upload_submit') {
      $form['fset_upload']['upload']['#submit'][$i] = 'imce_uploader_plupload_submit';
      break;
    }
  }
  $form['#attached']['js'][] = $module_path . '/js/plupload.min.js';
  $form['#attached']['css'][] = $module_path . '/css/plupload.css';
  unset($form['fset_upload']['imce']['#size']);
}