You are here

function skinr_ui_filters in Skinr 7.2

Same name and namespace in other branches
  1. 8.2 skinr_ui/skinr_ui.admin.inc \skinr_ui_filters()
  2. 6.2 skinr_ui.admin.inc \skinr_ui_filters()

List skinr administration filters that can be applied.

Return value

An array of filters.

2 string references to 'skinr_ui_filters'
skinr_context_ui_admin_skin_list in skinr_context/skinr_context_ui.admin.inc
Overrides skinr_ui_list().
skinr_ui_list in ./skinr_ui.admin.inc
Menu callback: skin configurations administration.

File

./skinr_ui.admin.inc, line 73
Admin page callbacks for the Skinr UI module.

Code

function skinr_ui_filters() {

  // Theme filter.
  $themes = list_themes();
  ksort($themes);
  $options = array(
    '[any]' => t('any'),
  );
  foreach ($themes as $theme) {
    if (!$theme->status) {
      continue;
    }
    $options[$theme->name] = $theme->info['name'];
  }
  $filters['theme'] = array(
    'title' => t('theme'),
    'options' => $options,
  );

  // Type filter.
  $config = skinr_get_config_info();
  $options = array(
    '[any]' => t('any'),
  );
  foreach ($config as $type) {
    $options[$type] = $type;
  }
  $filters['module'] = array(
    'title' => t('type'),
    'options' => $options,
  );

  // Element filter.
  $elements = db_query("SELECT module, element, theme FROM {skinr_skins} GROUP BY element, module, theme");
  $options = array(
    '[any]' => t('any'),
  );
  foreach ($elements as $element) {
    $title = skinr_ui_get_element_title($element->module, $element->element, $element->theme);
    $options[$element->element] = $title ? strip_tags($title) : $element->element;
  }
  $filters['element'] = array(
    'title' => t('element'),
    'options' => $options,
  );

  // Skin filter.
  $skin_info = skinr_get_skin_info();
  $options = array(
    '[any]' => t('any'),
    '_additional' => t('Additional classes'),
  );
  foreach ($skin_info as $skin => $info) {
    $options[$skin] = $info['title'];
  }
  $filters['skin'] = array(
    'title' => t('skin'),
    'options' => $options,
  );

  // Status filter.
  $filters['status'] = array(
    'title' => t('status'),
    'options' => array(
      '[any]' => t('any'),
      '1' => t('enabled'),
      '0' => t('disabled'),
    ),
  );

  // Allow modules to add filters.
  drupal_alter('skinr_ui_filters', $filters);
  return $filters;
}