upgrade omega again
[indybay:drupal.git] / docs / sites / all / modules / contrib / context / plugins / context_condition_views.inc
1 <?php
2
3 class context_condition_views extends context_condition {
4
5   /**
6    * Generate a list of database and module provided views.
7    */
8   function condition_values() {
9     $enabled_views = array();
10
11     $views = views_get_all_views();
12     ksort($views);
13
14     foreach ($views as $view) {
15       if (!isset($views[$view->name]->disabled) || !$views[$view->name]->disabled) {
16         $enabled_views[$view->name] = check_plain($view->name);
17
18         // Provide more granular options for each page display
19         $displays = array();
20         foreach ($view->display as $id => $display) {
21           if ($display->display_plugin == 'page') {
22             $displays[$view->name . ":" . $id] = check_plain("-- {$display->display_title}");
23           }
24         }
25         $enabled_views += $displays;
26       }
27     }
28     return $enabled_views;
29   }
30
31   function execute($view) {
32     switch ($view->display_handler->display->display_plugin) {
33       case 'page':
34       case 'calendar':
35         // Set contexts for this view.
36         foreach ($this->get_contexts($view->name) as $context) {
37           $this->condition_met($context, $view->name);
38         }
39         // Set any contexts associated with the current display
40         if (!empty($view->current_display)) {
41           foreach ($this->get_contexts("{$view->name}:{$view->current_display}") as $context) {
42             $this->condition_met($context, "{$view->name}:{$view->current_display}");
43           }
44         }
45         break;
46     }
47   }
48 }