You are here

function media_browser_plus_grid_view_form in Media Browser Plus 7

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

Appends main grid view form.

2 calls to media_browser_plus_grid_view_form()
media_browser_plus_form_media_admin_alter in ./media_browser_plus.module
Alter the media browser from to enable new UI
media_browser_plus_library_browser in ./media_browser_plus.module
Creates the Extended Library for the media browser popup.

File

./media_browser_plus.module, line 1884
Adds fields to the media browser forms for better UX

Code

function media_browser_plus_grid_view_form($library_mode = FALSE, $multiselect = FALSE) {

  // Load the media folders.
  $vocabulary = taxonomy_vocabulary_machine_name_load('media_folders');
  $folders = taxonomy_get_tree($vocabulary->vid);
  $folders = _media_browser_plus_filter_folders($folders);
  $list = _media_browser_plus_create_relationship_list($folders, TRUE);
  $folders = _media_browser_plus_folder_hierarchy_list($list);

  // Build the folder form.
  $form['admin']['folder'] = array(
    '#type' => 'markup',
    '#markup' => '<div id="folder" style="height:' . variable_get('media_grid_window_height') . 'px;">' . $folders . ' </div>',
  );
  $form['admin']['files']['#prefix'] = '<div class="media-display-thumbnails media-clear clearfix">' . '<ul class="media-list-thumbnails" style="height:' . variable_get('media_grid_window_height') . 'px;">';

  // Aetting up the header.
  $header = array(
    array(
      'data' => t('Folders'),
      'width' => '200',
    ),
    array(
      'data' => t('Media Files'),
      'width' => '*',
    ),
  );

  // and the data
  $form['buttons'] = array();
  $form['buttons']['selection_assets'] = array(
    '#type' => 'markup',
    '#markup' => '<a href="#media_folder_table" id="media_main_view_select_all" >' . t('Select All') . '</a>' . '<a href="#media_folder_table" id="media_main_view_deselect_all" >' . t('Deselect All') . '</a>',
  );
  if (!$library_mode) {
    if (media_access('view')) {
      $form['buttons']['view_media'] = array(
        '#type' => 'button',
        '#attributes' => array(
          'id' => 'media_buttons_view',
        ),
        '#value' => t('View'),
      );
    }
    if (media_access('preview')) {
      $form['buttons']['preview_media'] = array(
        '#type' => 'button',
        '#attributes' => array(
          'id' => 'media_buttons_preview',
        ),
        '#value' => t('Preview'),
      );
    }
    if (media_access('edit')) {
      $form['buttons']['edit_media'] = array(
        '#type' => 'submit',
        '#attributes' => array(
          'id' => 'media_buttons_edit',
        ),
        '#submit' => array(
          'media_browser_plus_edit_multiple_redirect',
        ),
        '#validate' => array(
          'media_browser_plus_media_admin_validate',
        ),
        '#value' => t('Edit'),
      );
    }
    if (media_access('edit')) {

      // edit-submit
      $form['buttons']['delete_media'] = array(
        '#type' => 'submit',
        '#submit' => array(
          'media_browser_plus_delete_multiple_redirect',
        ),
        '#validate' => array(
          'media_browser_plus_media_admin_validate',
        ),
        '#value' => t('Delete'),
      );
    }
  }
  $form['buttons']['select_media'] = array(
    '#type' => 'button',
    '#attributes' => array(
      'id' => 'media_buttons_select',
    ),
    '#value' => t('Add to Media Basket'),
  );
  if ($library_mode && !$multiselect) {

    // Remove select/deselect all.
    unset($form['buttons']['selection_assets']);

    // Change "Add to media basket" to process with selection.
    $form['buttons']['select_media'] = _media_browser_plus_media_basket_select_button();
  }
  $options = array(
    array(
      'categories' => array(
        'data' => drupal_render($form['admin']['folder']),
      ),
      'media' => array(
        'data' => '<div class="media-display-thumbnails media-clear clearfix">' . '<ul class="media-list-thumbnails" id="media-thumb-list" style="height: ' . variable_get('media_grid_window_height') . 'px;">' . '</ul></div>',
      ),
    ),
    array(
      'categories' => array(
        'data' => '',
      ),
      'media' => array(
        'data' => '',
        'id' => array(
          'media_browser_plus_pages',
        ),
      ),
    ),
  );

  // If no library mode with single selection add media basket buttons.
  if (!$library_mode || $multiselect) {
    $options[] = array(
      'categories' => array(
        'data' => '',
      ),
      'media' => array(
        'data' => drupal_render($form['buttons']),
        'id' => array(
          'media_browser_plus_selection_panel',
        ),
      ),
    );
  }

  // Table setup.
  $table = array(
    'header' => $header,
    'rows' => $options,
    'attributes' => array(
      'id' => 'media_folder_table',
    ),
    'empty' => t('No media added yet.'),
  );

  // Return themed table.
  $output = array(
    '#type' => 'markup',
    '#markup' => theme('table', $table),
    'buttons' => $form['buttons'],
  );
  if ($library_mode && !$multiselect) {
    $output['#markup'] .= drupal_render($form['buttons']);
  }
  return $output;
}