annotate plugins/tasks/mpiwg_geobrowser_view.inc @ 4:1b6cde0e4b83 default tip

merger
author Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
date Mon, 12 Oct 2015 08:38:25 +0200
parents 19f75fe342eb ea066ce001bd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 <?php
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 function mpiwg_geobrowser_mpiwg_geobrowser_view_page_manager_tasks() {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 return array(
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 'task type' => 'page',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
6
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 'title' => t('mpiwg_geobrowser template'),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
8
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 'admin title' => t('mpiwg_geobrowser template'),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 'admin description' => t('When enabled, this overrides the default Drupal behavior for displaying mpiwg_geobrowsers at <em>mpiwg_geobrowser/%mpiwg_geobrowser</em>. If you add variants, you may use selection criteria such as mpiwg_geobrowser type or language or user access to provide different views of mpiwg_geobrowsers. If no variant is selected, the default Drupal mpiwg_geobrowser view will be used. This page only affects mpiwg_geobrowsers viewed as pages, it will not affect mpiwg_geobrowsers viewed in lists or at other locations. Also please note that if you are using pathauto, aliases may make a mpiwg_geobrowser to be somewhere else, but as far as Drupal is concerned, they are still at mpiwg_geobrowser/%mpiwg_geobrowser.'),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 'admin path' => 'mpiwg_geobrowser/%mpiwg_geobrowser',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
12
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 'hook menu' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_menu',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 'hook menu alter' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_menu_alter',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
15
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 'handler type' => 'context',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 'get arguments' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_get_arguments',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 'get context placeholders' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_get_contexts',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
19
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 'disabled' => variable_get('mpiwg_geobrowser_mpiwg_geobrowser_view_disabled', FALSE),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 'enable callback' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_enable',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 'access callback' => 'mpiwg_geobrowser_mpiwg_geobrowser_view_access_check',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 );
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
25
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 function mpiwg_geobrowser_mpiwg_geobrowser_view_menu_alter(&$items, $task) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 if (variable_get('mpiwg_geobrowser_mpiwg_geobrowser_view_disabled', FALSE)) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 return;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
30
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 $callback = $items['mpiwg_geobrowser/%mpiwg_geobrowser']['page callback'];
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 if ($callback == 'mpiwg_geobrowser_page_view' || variable_get('mpiwg_geobrowser_override_anyway', TRUE)) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 $items['mpiwg_geobrowser/%mpiwg_geobrowser']['page callback'] = 'mpiwg_geobrowser_mpiwg_geobrowser_view_page';
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 $items['mpiwg_geobrowser/%mpiwg_geobrowser']['file path'] = $task['path'];
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 $items['mpiwg_geobrowser/%mpiwg_geobrowser']['file'] = $task['file'];
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 else {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 variable_set('mpiwg_geobrowser_mpiwg_geobrowser_view_disabled', TRUE);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 if (!empty($GLOBALS['mpiwg_geobrowser_enabling_mpiwg_geobrowser_view'])) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 drupal_set_message(t('Page manager module is unable to enable mpiwg_geobrowser/%mpiwg_geobrowser because some other module already has overridden with %callback.', array('%callback' => $callback)), 'error');
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
42 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
44
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 function mpiwg_geobrowser_mpiwg_geobrowser_view_page($mpiwg_geobrowser) {
3
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
46 drupal_add_css(drupal_get_path('module', 'mpiwg_geobrowser') . '/css/mpiwg_geobrowser_style.css', array('group' => CSS_DEFAULT, 'type' => 'file'));
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 drupal_add_js(drupal_get_path('module', "mpiwg_geobrowser") . '/lib/moment.min.js');
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
48 drupal_add_js(drupal_get_path('module', "mpiwg_geobrowser") . '/lib/filesaver/FileSaver.min.js');
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
49 #drupal_add_js(libraries_get_path("platin") . '/platin.js');
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
50 drupal_add_js(libraries_get_path("platin") . '/devel/platin.js');
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 drupal_add_css(drupal_get_path('module', 'mpiwg_geobrowser') . '/lib/GeoTemCo/css/platin.css', array('group' => CSS_DEFAULT, 'type' => 'file'));
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
52 drupal_add_css(libraries_get_path("platin") . '/devel/css/platin.css');
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
53 drupal_add_css(libraries_get_path("platin") . '/devel/css/style.css');
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 $task = page_manager_get_task('mpiwg_geobrowser_view');
3
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
55 dpm($task);
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 ctools_include('context');
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 ctools_include('context-task-handler');
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
58
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 drupal_set_title($mpiwg_geobrowser->item_description);
3
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
60 dpm($mpiwg_geobrowser);
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 $uri = entity_uri('mpiwg_geobrowser', $mpiwg_geobrowser);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 drupal_add_html_head_link(array('rel' => 'canonical', 'href' => url($uri['path'], $uri['options'])), TRUE);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 drupal_add_html_head_link(array('rel' => 'shortlink', 'href' => url($uri['path'], array_merge($uri['options'], array('alias' => TRUE)))), TRUE);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 $contexts = ctools_context_handler_get_task_contexts($task, '', array($mpiwg_geobrowser));
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 $output = ctools_context_handler_render($task, '', $contexts, array($mpiwg_geobrowser->mpiwg_geobrowser_instance_id));
3
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
66 dpm($contexts);
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
67 dpm($output);
19f75fe342eb minor changes
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
68
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 $geoTemCoIntegration = '
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 <script type="text/javascript">
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
71
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 var mpiwg_geobrowser_widgetsCount = 0;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 var mpiwg_geobrowser_widgetsLoaded = 0;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 var mpiwg_geobrowser_noWidgetLoaded = true;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 var widgetLoadedEvent = new Event("mpiwg_geobrowser_widget_loaded");
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
76 var allWidgetsLoadedEvent = new Event("mpiwg_geobrowser_all_widgets_loaded");
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
77
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
78 Drupal.behaviors.mpiwg_geobrowser_entity = {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 attach: function (context, settings) {
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
80
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
81 // jQuery(document).ready(function(){
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 if (context[0] !== undefined && context[0].attributes !== undefined) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 var contextAttributes = context[0].attributes;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 for (i=0; i<contextAttributes.length; i++) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 if (contextAttributes[i].name == "id" && contextAttributes[i].value == "panels-ipe-edit-control-form") {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 window.location.reload();
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
90
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
91 document.addEventListener("mpiwg_geobrowser_widget_loaded", function (e) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 if (mpiwg_geobrowser_noWidgetLoaded) {
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
93
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
94 mpiwg_geobrowser_widgetsCount = mpiwg_geobrowser_widgetsCount;
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
95
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
96
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 mpiwg_geobrowser_noWidgetLoaded = false;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
98 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
99 mpiwg_geobrowser_widgetsLoaded++;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
100 if (mpiwg_geobrowser_widgetsLoaded == mpiwg_geobrowser_widgetsCount) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 document.dispatchEvent(allWidgetsLoadedEvent);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
102 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
103 }, false);
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
104 // });
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
105
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
106 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
107 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 </script>
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
109 ';
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
110
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
111
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
112
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
113 if (isset($output["content"])){ //unterschiedliches Verhalten, je nach dem ob der Inhalt noch in einen admin rahmen eingebettet ist
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
114 //$output["content"]["#markup"] = $geoTemCoIntegration . $output["content"]["#markup"];
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
115 $output["content"]["#markup"] = $geoTemCoIntegration . $output["content"]["#markup"];
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
116
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 if ($output != FALSE) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 return $output;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 }
1
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
120 } else {
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
121
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
122 return $geoTemCoIntegration . $output;
ea066ce001bd bug fixes, works now without admin rights
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
123 }
0
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
124
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
125 $function = 'mpiwg_geobrowser_page_view';
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 foreach (module_implements('mpiwg_geobrowser_override') as $module) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 $call = $module . '_mpiwg_geobrowser_override';
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
128 if (($rc = $call('mpiwg_geobrowser_view')) && function_exists($rc)) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
129 $function = $rc;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
130 break;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
131 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
132 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
133
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 return $function($mpiwg_geobrowser);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
136
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 function mpiwg_geobrowser_mpiwg_geobrowser_view_get_arguments($task, $subtask_id) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 return array(
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
139 array(
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
140 'keyword' => 'mpiwg_geobrowser',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
141 'identifier' => t('mpiwg_geobrowser being viewed'),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 'id' => 1,
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
143 'name' => 'entity_id:mpiwg_geobrowser',
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 'settings' => array(),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
145 ),
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 );
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
148
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
149 function mpiwg_geobrowser_mpiwg_geobrowser_view_get_contexts($task, $subtask_id) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 return ctools_context_get_placeholders_from_argument(mpiwg_geobrowser_mpiwg_geobrowser_view_get_arguments($task, $subtask_id));
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
151 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
152
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 function mpiwg_geobrowser_mpiwg_geobrowser_view_enable($cache, $status) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
154 variable_set('mpiwg_geobrowser_mpiwg_geobrowser_view_disabled', $status);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
155
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
156 if (!$status) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
157 $GLOBALS['mpiwg_geobrowser_enabling_mpiwg_geobrowser_view'] = TRUE;
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
158 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
159 }
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
160
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
161 function mpiwg_geobrowser_mpiwg_geobrowser_view_access_check($task, $subtask_id, $contexts) {
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
162 $context = reset($contexts);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
163 return mpiwg_geobrowser_access('view', $context->data);
b57c7821382f initial
Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
parents:
diff changeset
164 }