You are here

function context_condition::get_contexts in Context 7.3

Same name and namespace in other branches
  1. 6.3 plugins/context_condition.inc \context_condition::get_contexts()
  2. 6 plugins/context_condition.inc \context_condition::get_contexts()

Retrieve all contexts with the condition value provided.

13 calls to context_condition::get_contexts()
context_condition_book::execute in plugins/context_condition_book.inc
context_condition_default::execute in plugins/context_condition_default.inc
context_condition_language::execute in plugins/context_condition_language.inc
context_condition_menu::execute in plugins/context_condition_menu.inc
Override of execute().
context_condition_node::execute in plugins/context_condition_node.inc

... See full list

2 methods override context_condition::get_contexts()
context_condition_context::get_contexts in plugins/context_condition_context.inc
Retrieve all context conditions.
context_condition_context_all::get_contexts in plugins/context_condition_context_all.inc
Retrieve all context conditions.

File

plugins/context_condition.inc, line 159

Class

context_condition
Base class for a context condition.

Code

function get_contexts($value = NULL) {
  $map = context_condition_map();
  $map = isset($map[$this->plugin]) ? $map[$this->plugin] : array();
  $contexts = array();
  if (isset($value) && (is_string($value) || is_numeric($value))) {
    if (isset($map[$value]) && is_array($map[$value])) {
      foreach ($map[$value] as $name) {
        if (!isset($contexts[$name])) {
          $context = context_load($name);
          $contexts[$context->name] = $context;
        }
      }
    }
  }
  else {
    foreach ($map as $submap) {
      foreach ($submap as $name) {
        if (!isset($contexts[$name])) {
          $context = context_load($name);
          $contexts[$context->name] = $context;
        }
      }
    }
  }
  return $contexts;
}