function context_condition_context::execute

cis7 context_condition_context.inc context_condition_context::execute()
cle7 context_condition_context.inc context_condition_context::execute()
elmsmedia7 context_condition_context.inc context_condition_context::execute()
icor7 context_condition_context.inc context_condition_context::execute()
meedjum_blog7 context_condition_context.inc context_condition_context::execute()
mooc7 context_condition_context.inc context_condition_context::execute()

Execute.

Overrides context_condition_path::execute

File

sites/all/modules/ulmus/context/plugins/context_condition_context.inc, line 7

Class

context_condition_context
Expose active contexts as a context condition.

Code

function execute() {
  if ($this->condition_used()) {
    $active_contexts = array_keys(context_active_contexts());
    foreach ($this->get_contexts() as $context) {
      if (!in_array($context->name, $active_contexts, TRUE) && $values = $this->fetch_from_context($context, 'values')) {
        // Always check against the active contexts.
        if ($this->match(array_keys(context_active_contexts()), $values)) {
          $this->condition_met($context);
        }
      }
    }
    // If the list of active contexts has changed, we need to recurse.
    if ($active_contexts != array_keys(context_active_contexts())) {
      $this->execute();
    }
  }
}