mediamosa_browse_asset_filter_form

Versions
mediamosa-21
mediamosa_browse_asset_filter_form()

Form builder; Return form for asset filters.

See also

mediamosa_browse_asset_filter_form_submit()

Code

sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_asset.inc, line 54

<?php
function mediamosa_browse_asset_filter_form() {
  // Get session.
  $session = _mediamosa_browse_asset_session();

  // Get all collections.
  $collections = array_merge(array(0 => ''), mediamosa_collection::getAll(array(mediamosa_collection_db::ID, mediamosa_collection_db::TITLE))->fetchAllKeyed());
  foreach ($collections as $coll_id => $name) {
    if (!$coll_id || trim($name) != '') {
      continue;
    }

    // Set empty titles.
    $collections[$coll_id] = t('<collection has no name> ID: @id', array('@id' => $coll_id));
  }

  $form = array();

  $form['filters'] = array(
    '#type' => 'fieldset',
    '#title' => t('Filter'),
    '#collapsible' => TRUE,
    '#prefix' => '<div id="searchparameters">',
    '#suffix' => '</div>',
  );

  $form['filters']['operator'] = array(
    '#type' => 'select',
    '#title' => t('Search criteria operator'),
    '#description' => t("Filter on all search criteria ('AND') or a least one criterium ('OR')."),
    '#options' => array('and' => t('AND'), 'or' => t('OR')),
    '#default_value' => isset($session['operator']) ? $session['operator'] : 'and',
  );

  $form['filters']['coll_id'] = array(
    '#type' => 'select',
    '#title' => t('Search within collection'),
    '#description' => t("Select collection to be searched. Leave empty for all collections."),
    '#options' => $collections,
    '#default_value' => isset($session['coll_id']) ? $session['coll_id'] : 0,
  );

  $form['filters']['searchparameters'] = array(
    '#type' => 'fieldset',
    '#title' => t('Search criteria'),
  );

  $form['filters']['searchparameters']['add'] = array(
    '#type' => 'submit',
    '#value' => t('Add search item'),
    '#ajax' => array(
      'event' => 'click',
      'wrapper' => 'searchparameters',
      'path' => 'admin/mediamosa/browse/js/asset/searchparameters',
      'method' => 'replace',
    ),
    '#weight' => 10,
  );

  $form['filters']['searchparameters']['reset'] = array(
    '#type' => 'submit',
    '#value' => t('Reset'),
    '#ajax' => array(
      'event' => 'click',
      'wrapper' => 'searchparameters',
      'path' => 'admin/mediamosa/browse/js/asset/searchparameters',
      'method' => 'replace',
    ),
    '#weight' => 11,
  );

  $form['filters']['apply'] = array(
    '#type' => 'submit',
    '#value' => t('Apply filter'),
  );

  // CQL filter.
  $form['cqlfilter'] = array(
    '#type' => 'fieldset',
    '#title' => t('CQL Filter'),
    '#collapsible' => TRUE,
  );

  $form['cqlfilter']['cql'] = array(
    '#type' => 'textfield',
    //'#title' => t('CQL:'),
    '#description' => t('Enter a CQL search command here. Usage can be found in the Webservice document. Examples: "aut_app==5" or "is_protected == FALSE"'),
    '#default_value' => isset($session['cql']) ? $session['cql'] : '',
  );

  $form['cqlfilter']['apply_cql'] = array(
    '#type' => 'submit',
    '#value' => t('Apply CQL filter'),
  );

  $form = _mediamosa_browse_asset_searchparameters($form);

  return $form;
}
?>