You are here

function media_browser_plus_form_file_entity_add_upload_alter in Media Browser Plus 7.3

Same name and namespace in other branches
  1. 7.2 media_browser_plus.module \media_browser_plus_form_file_entity_add_upload_alter()

Implements hook_form_FORM_ID_alter().

File

./media_browser_plus.module, line 856
Media Browser Plus - enhanced file management functions.

Code

function media_browser_plus_form_file_entity_add_upload_alter(&$form, &$form_state) {

  // This isn't really necessary but ensures the usage consistency over all
  // upload forms.
  switch ($form['#step']) {

    // Add folder selection to the upload form.
    case 1:

      // By re-using the field form structure we can inject the value into the
      // next step.
      // @todo Check if we can replace this somehow by the real field widget.
      $form['field_folder'] = array(
        '#type' => 'container',
        '#tree' => TRUE,
      );

      // Abuse the taxonomy term field widget to get the available options.
      $field['settings']['allowed_values'][] = array(
        'vocabulary' => 'media_folders',
        'parent' => 0,
      );
      $field_folder_info = field_info_field('field_folder');
      $form['field_folder'][LANGUAGE_NONE] = array(
        '#type' => 'select',
        '#title' => $field_folder_info['label'],
        '#description' => t('Defines the folder where the uploaded files will be saved'),
        '#options' => taxonomy_allowed_values($field),
      );
      break;

    // Nothing to do for now.
    case 2:
    case 3:
      break;

    // Set media folder default value.
    case 4:
      if (!empty($form_state['storage']['field_folder'][LANGUAGE_NONE]) && isset($form['field_folder'])) {
        $form['field_folder'][LANGUAGE_NONE]['#default_value'] = $form_state['storage']['field_folder'][LANGUAGE_NONE];
      }
      break;
  }
}