You are here

public function CacheflushUIController::overviewTable in CacheFlush 7.3

Overrides EntityDefaultUIController::overviewTable().

Overrides EntityDefaultUIController::overviewTable

1 call to CacheflushUIController::overviewTable()
CacheflushUIController::overviewForm in modules/cacheflush_ui/includes/cacheflush_ui.class.inc
Overrides EntityDefaultUIController::overviewForm().

File

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

Class

CacheflushUIController
Custom controller for the administrator UI.

Code

public function overviewTable($conditions = array()) {
  $header = array(
    array(
      'data' => t('ID'),
      'field' => 'id',
      'sort' => 'DESC',
    ),
    array(
      'data' => t('Title'),
      'field' => 'c.title',
    ),
    array(
      'data' => t('Author'),
      'field' => 'c.uid',
    ),
    array(
      'data' => t('Status'),
      'field' => 'c.status',
    ),
    array(
      'data' => t('Menu entry'),
      'field' => 'c.menu',
    ),
    array(
      'data' => t('Created'),
      'field' => 'c.created',
    ),
    array(
      'data' => t('Operations'),
    ),
  );
  $view_any = user_access('cacheflush view any');
  $query = db_select('cacheflush', 'c')
    ->extend('TableSort')
    ->orderByHeader($header)
    ->fields('c', array(
    'id',
  ));
  if ($this->overviewPagerLimit) {
    $query
      ->extend('PagerDefault')
      ->limit($this->overviewPagerLimit);
  }
  if (isset($conditions)) {
    foreach ($conditions as $field => $value) {
      $query
        ->condition('c.' . $field, $value['value'], $value['op']);
    }
  }
  if (!$view_any) {
    $query
      ->condition('c.uid', $GLOBALS['user']->uid, '=');
  }
  $ids = $query
    ->execute()
    ->fetchCol();
  $rows = array();
  $presets = cacheflush_load_multiple($ids);
  foreach ($presets as $preset) {
    $row = $operations = array();
    $user = user_load($preset->uid);
    $row[] = $preset->id;
    $row[] = $preset->title;
    $row[] = theme('username', array(
      'account' => $user,
    ));
    $row[] = $preset->status == 1 ? t('enabled') : t('disabled');
    $row[] = $preset->menu == 1 ? t('Yes') : t('No');
    $row[] = format_date($preset->created, 'short');
    if (cacheflush_ui_access('update', $preset)) {
      $operations['update'] = array(
        'title' => t('Edit'),
        'href' => 'cacheflush/' . $preset->id . '/edit',
        'query' => drupal_get_destination(),
      );
    }
    if (cacheflush_ui_access('delete', $preset)) {
      $operations['delete'] = array(
        'title' => t('Delete'),
        'href' => 'cacheflush/' . $preset->id . '/delete',
        'query' => drupal_get_destination(),
      );
    }
    $row[] = array(
      'data' => array(
        '#theme' => 'links__node_operations',
        '#links' => $operations,
        '#attributes' => array(
          'class' => array(
            'links',
            'inline',
          ),
        ),
      ),
    );
    $rows[$preset->id] = $row;
  }
  $render = array(
    '#type' => 'tableselect',
    '#options' => $rows,
    '#header' => $header,
    '#multiple' => TRUE,
    '#empty' => t('No presets available.'),
  );
  return $render;
}