You are here

public function CacheflushUIController::overviewForm in CacheFlush 7.3

Overrides EntityDefaultUIController::overviewForm().

Overrides EntityDefaultUIController::overviewForm

File

modules/cacheflush_ui/includes/cacheflush_ui.class.inc, line 32
Contains the CacheflushUIController class.

Class

CacheflushUIController
Custom controller for the administrator UI.

Code

public function overviewForm($form, &$form_state) {
  if (isset($form_state['values']['operation']) && $form_state['values']['operation'] == 'delete') {
    return cacheflush_ui_multiple_delete_confirm($form, $form_state, array_filter($form_state['values']['presets']));
  }
  $admin_access = user_access('cacheflush administer');
  drupal_set_title(t('Presets'));
  $form['filters'] = array(
    '#type' => 'fieldset',
    '#collapsible' => FALSE,
    '#title' => t('Filter'),
    '#theme' => 'exposed_filters__cacheflush',
    '#access' => $admin_access,
  );
  $form['filters']['container'] = array(
    '#type' => 'container',
    '#attributes' => array(
      'class' => array(
        'clearfix',
      ),
    ),
  );
  $form['filters']['container']['ops'] = array(
    '#type' => 'container',
    '#attributes' => array(
      'class' => array(
        'filters',
      ),
    ),
  );
  $form['filters']['container']['ops']['status'] = array(
    '#type' => 'select',
    '#title' => t('Status'),
    '#options' => array(
      'all' => t('any'),
      1 => t('enabled'),
      0 => t('disabled'),
    ),
    '#default_value' => isset($_GET['status']) ? $_GET['status'] : NULL,
  );
  $form['filters']['container']['ops']['menu'] = array(
    '#type' => 'select',
    '#title' => t('Menu entry'),
    '#options' => array(
      'all' => t('any'),
      1 => t('Yes'),
      0 => t('No'),
    ),
    '#default_value' => isset($_GET['menu']) ? $_GET['menu'] : NULL,
  );
  $form['filters']['container']['actions'] = array(
    '#type' => 'actions',
    '#attributes' => array(
      'class' => array(
        'container-inline',
      ),
    ),
  );
  $form['filters']['container']['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Filter'),
    '#name' => 'filters',
  );
  $form['filters']['container']['actions']['reset']['#markup'] = l(t('Reset'), $_GET['q']);

  // Build the 'Otions' form.
  $form['options'] = array(
    '#type' => 'fieldset',
    '#title' => t('Options'),
    '#attributes' => array(
      'class' => array(
        'container-inline',
      ),
    ),
    '#access' => $admin_access,
  );
  $options = array();
  foreach (module_invoke_all('cacheflush_ui_operations') as $operation => $array) {
    $options[$operation] = $array['label'];
  }
  $form['options']['operation'] = array(
    '#type' => 'select',
    '#title' => t('Operation'),
    '#title_display' => 'invisible',
    '#options' => $options,
    '#default_value' => 'enable',
  );
  $form['options']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Update'),
    '#name' => 'op-submit',
  );
  $conditions = array();
  if (isset($_GET['status'])) {
    $conditions['status'] = array(
      'value' => $_GET['status'],
      'op' => '=',
    );
  }
  if (isset($_GET['menu'])) {
    $conditions['menu'] = array(
      'value' => $_GET['menu'],
      'op' => '=',
    );
  }
  $form['presets'] = $this
    ->overviewTable($conditions);
  $form['pager'] = array(
    '#theme' => 'pager',
  );
  return $form;
}