You are here

function media_browser_plus_library_browser in Media Browser Plus 7

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

Creates the Extended Library for the media browser popup.

_state

Parameters

$form:

$multiselect:

$types:

1 string reference to 'media_browser_plus_library_browser'
media_browser_plus_media_browser_plugin_view in ./media_browser_plus.module
Implements hook_media_browser_plugin_view().

File

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

Code

function media_browser_plus_library_browser($form, &$form_state, $multiselect, $types) {
  $path = drupal_get_path('module', 'media_browser_plus');

  // Assemble library from grid view.
  $form['#attached']['library'][] = array(
    'media_browser_plus',
    'media_browser_plus',
  );
  $form['#attached']['library'][] = array(
    'media_browser_plus',
    'colorbox',
  );

  // Set base href for javascript requests.
  $settings = media_browser_plus_main_view_javascript_settings();
  $settings['media_browser_plus']['multiselect'] = $multiselect;
  $settings['media_browser_plus']['folder_dnd_enabled'] = FALSE;

  // Setting filter condition.
  $filter = array(
    array(
      'property' => array(
        'type',
        $types,
        'IN',
      ),
    ),
  );
  $settings['media_browser_plus']['filter'] = drupal_json_encode($filter);

  // Attach settings.
  $form['#attached']['js'][] = array(
    'type' => 'setting',
    'data' => $settings,
  );

  // Check access rights.
  if (!media_browser_plus_access('media grid view')) {
    drupal_access_denied();
    return array();
  }

  // Adding grid view js and css.
  $form['#attached']['js'][] = $path . '/js/media_browser_plus.admin.js';
  $form['#attached']['js'][] = $path . '/js/media_browser_plus.library.js';
  drupal_add_library('system', 'ui.draggable');
  drupal_add_library('system', 'ui.droppable');

  // Removing options form part.
  unset($form['options']);
  if (!media_browser_plus_access('media list view') || !media_browser_plus_access('media grid view')) {
    unset($form['switch']);
  }

  // Add main grid view window.
  $form['admin'] = media_browser_plus_grid_view_form(TRUE, $multiselect);

  // Append media basket only for multi select.
  if ($multiselect) {
    $form['media-basket'] = media_browser_plus_media_basket_form(TRUE);
  }
  return $form;
}