upgrade omega again
[indybay:drupal.git] / docs / sites / all / modules / contrib / context / plugins / context_condition_taxonomy_term.inc
1 <?php
2
3 /**
4  * Expose term views/term forms by vocabulary as a context condition.
5  */
6 class context_condition_taxonomy_term extends context_condition {
7   function condition_values() {
8     $values = array();
9     foreach (taxonomy_get_vocabularies() as $vocab) {
10       $values[$vocab->machine_name] = check_plain($vocab->name);
11     }
12     return $values;
13   }
14
15   function options_form($context) {
16     $defaults = $this->fetch_from_context($context, 'options');
17     return array(
18       'term_form' => array(
19         '#title' => t('Set on term form'),
20         '#type' => 'select',
21         '#options' => array(
22            0 => t('No'),
23            1 => t('Yes'),
24            2 => t('Only on term form')
25         ),
26         '#description' => t('Set this context on term forms'),
27         '#default_value' => isset($defaults['term_form']) ? $defaults['term_form'] : TRUE,
28       ),
29     );
30   }
31
32   function execute($term, $op) {
33     foreach ($this->get_contexts($term->vocabulary_machine_name) as $context) {
34       // Check the node form option.
35       $options = $this->fetch_from_context($context, 'options');
36       if ($op === 'form') {
37         $options = $this->fetch_from_context($context, 'options');
38         if (!empty($options['term_form']) && in_array($options['term_form'], array(1, 2))) {
39           $this->condition_met($context, $term->vocabulary_machine_name);
40         }
41       }
42       elseif (empty($options['term_form']) || $options['term_form'] != 2) {
43         $this->condition_met($context, $term->vocabulary_machine_name);
44       }
45     }
46   }
47 }