upgrade omega again
[indybay:drupal.git] / docs / sites / all / modules / contrib / context / plugins / context_reaction_region.inc
1 <?php
2
3 class context_reaction_region extends context_reaction {
4
5   function editor_form($context) {
6   }
7
8   function options_form($context) {
9     $values = $this->fetch_from_context($context);
10     $form = array();
11     foreach (list_themes() as $theme) {
12       if ($theme->status) {
13         $regions = system_region_list($theme->name);
14         $default = isset($values[$theme->name]) ? $values[$theme->name]['disable'] : array();
15
16         $form[$theme->name] = array(
17           '#type' => 'fieldset',
18           '#title' => "Disable Regions in {$theme->name} Theme",
19           '#collapsible' => TRUE,
20           '#collapsed' => !array_reduce($default, create_function('$a, $b', 'return $a || $b;')),
21         );
22         $form[$theme->name]['disable'] = array(
23           '#type' => 'checkboxes',
24           '#title' => t("Disable the following"),
25           '#options' => $regions,
26           '#default_value' => $default,
27         );
28       }
29     }
30     return $form;
31   }
32   
33   function execute(&$page) {  
34     global $theme;
35     foreach ($this->get_contexts() as $k => $v) { 
36       if (isset($v->reactions[$this->plugin][$theme])) {
37         $regions = $v->reactions[$this->plugin][$theme]['disable'];
38         foreach ($regions as $region => $disable) {
39           if ($disable && isset($page[$region])) {
40             unset($page[$region]);
41           }
42         }
43       }
44     }
45   }
46 }