You are here

function context_ui_preprocess_context_ui_list_contexts in Context 6.2

Preprocess the contexts list theme

File

context_ui/context_ui.admin.inc, line 19

Code

function context_ui_preprocess_context_ui_list_contexts(&$vars) {
  drupal_add_css(drupal_get_path("module", "context_ui") . "/context_ui-list.css");
  $contexts = context_contexts();
  $conditions = context_conditions();
  $reactions = context_reactions();
  ksort($contexts);
  $vars['contexts_tree'] = array();
  foreach ($contexts as $key => $context) {
    $identifier = isset($context->cid) && $context->cid ? $context->cid : $key;
    $item = new stdClass();
    $item->namespace = $context->namespace;
    $item->attribute = $context->attribute;
    $item->name = $context->value;
    $item->ops = array();

    // Build the array of links:
    $links = array();
    switch ($context->type) {
      case CONTEXT_STORAGE_DEFAULT:
        $item->type = 'Default';
        $links[0] = l(t('Override'), "admin/build/context/{$identifier}/clone");
        $links[2] = l(t('Export'), "admin/build/context/{$identifier}/export");
        $links[3] = l(t('Clone'), "admin/build/context/{$identifier}/clone");
        break;
      case CONTEXT_STORAGE_OVERRIDDEN:
        $item->type = 'Overridden';
        $links[0] = l(t('Edit'), "admin/build/context/{$identifier}");
        $links[2] = l(t('Export'), "admin/build/context/{$identifier}/export");
        $links[3] = l(t('Clone'), "admin/build/context/{$identifier}/clone");
        $links[4] = l(t('Revert'), "admin/build/context/{$identifier}/delete");
        break;
      case CONTEXT_STORAGE_NORMAL:
        $item->type = 'Normal';
        $links[0] = l(t('Edit'), "admin/build/context/{$identifier}");
        $links[2] = l(t('Export'), "admin/build/context/{$identifier}/export");
        $links[3] = l(t('Clone'), "admin/build/context/{$identifier}/clone");
        $links[4] = l(t('Delete'), "admin/build/context/{$identifier}/delete");
    }
    switch ($context->status) {
      case CONTEXT_STATUS_DISABLED:
        $item->classes = 'context-disabled';
        $links[1] = l(t('Enable'), "admin/build/context/{$identifier}/enable");
        break;
      case CONTEXT_STATUS_ENABLED:
        $item->classes = 'context-enabled';
        $links[1] = l(t('Disable'), "admin/build/context/{$identifier}/disable");
    }
    $item->ops = implode(' | ', $links);
    foreach ($conditions as $id => $condition) {
      if (!empty($context->{$id})) {
        $item->conditions[] = $condition['#title'];
      }
    }
    $item->conditions = isset($item->conditions) ? implode(', ', $item->conditions) : t('none');
    foreach ($reactions as $id => $reaction) {
      if (!empty($context->{$id})) {
        $item->reactions[] = $reaction['#title'];
      }
    }
    $item->reactions = isset($item->reactions) ? implode(', ', $item->reactions) : t('none');
    $item->description = !empty($context->description) ? filter_xss_admin($context->description) : '';
    $vars['contexts_tree'][$item->namespace][$item->attribute][$item->name] = $item;
  }
  $getting_started = theme('advanced_help_topic', 'context_ui', 'getting-started', 'title');
  if (!$getting_started) {
    $getting_started = t('Install the advanced help module to view the getting started');
    $vars['help'] = t('If you install the <a href="@advanced_help_link">Advanced Help</a> module you can get more and better help.', array(
      '@advanced_help_link' => url('http://drupal.org/project/advanced_help'),
    ));
  }
  else {
    $vars['help'] = t('Not sure what to do? Try the "!getting-started" page.', array(
      '!getting-started' => $getting_started,
    ));
  }
  $vars['help_type_icon'] = theme('advanced_help_topic', 'context_ui', 'type');
}