/adei/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/adei/trunk
1 by Suren A. Chilingaryan
Initial import
1
<?php 
2
3
require("config.php");
4
require("tools.php");
227 by Suren A. Chilingaryan
Use localization subsystem, updated Katrin configs
5
require("locale.php");
1 by Suren A. Chilingaryan
Initial import
6
7
header("Content-Type: application/xhtml+xml; charset=UTF-8");
8
header("Content-Type: text/html; charset=UTF-8");
9
header("Cache-Control: no-cache, must-revalidate");
10
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
11
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
12
if (!isset($_GET["minimal"])) {
212 by Suren A. Chilingaryan
Integration of work of students with fixes
13
	if (strpos($_SERVER['HTTP_USER_AGENT'],"iPhone") || strpos($_SERVER['HTTP_USER_AGENT'],"iPod") || strpos($_SERVER['HTTP_USER_AGENT'],"iPad") || preg_match('/iPhone/',$_SERVER['HTTP_USER_AGENT']) || preg_match('/iPod/',$_SERVER['HTTP_USER_AGENT'])) {
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
14
		$host  = $_SERVER['HTTP_HOST'];
15
		$uri   = rtrim(dirname($_SERVER['PHP_SELF']), "/\\");
16
		$extra = 'index.php?minimal=iAdei';
17
		header("Location: http://$host$uri/$extra");	
18
	} 	
19
}
20
130 by Suren A. Chilingaryan
Minimized interface version
21
if (isset($_GET["minimal"])) {
22
    if ($_GET["minimal"]) $minimal = $_GET["minimal"];
23
    else $minimal = true;
24
    unset($_GET["minimal"]);
402 by Suren A. Chilingaryan
Support srctree minimal mode
25
} else $minimal = $ADEI_DEFAULT_MODE;
130 by Suren A. Chilingaryan
Minimized interface version
26
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
27
$ADEI_MODE = $minimal;
130 by Suren A. Chilingaryan
Minimized interface version
28
29
if ($minimal) {
30
    switch ($minimal) {
402 by Suren A. Chilingaryan
Support srctree minimal mode
31
     case "srctree":
32
        $minimal = false;
33
	$allowed_popups = false;
34
	$allowed_modules = false;
35
	$no_header = false;
36
	$no_menu = false;
37
	$no_search = false;
38
     break;
130 by Suren A. Chilingaryan
Minimized interface version
39
     case "nosource":
40
	$allowed_modules = false;
41
	$displayed_popups = array("controls");
42
	$CONTROLS = array("export", "aggregator", "searchtab");
43
        $allowed_popups = array("source");
44
	
45
	$no_header = false;
46
	$no_search = false;
47
     break;
137 by Suren A. Chilingaryan
setups and configuration, nomenu minimal mode
48
     case "nomenu":
49
	$allowed_modules = false;
50
	$displayed_popups = array();
51
        $allowed_popups = array("source", "export");
52
	$no_header = false;
53
	$no_search = true;
54
	$no_menu = true;
55
     break;
130 by Suren A. Chilingaryan
Minimized interface version
56
     case "search":
57
	$config_module = "graph";
58
	$allowed_modules = array("graph");
59
	//$displayed_popups = array("searchtab");
60
	$displayed_popups = array("controls");
61
	$allowed_popups = array("source", "export");
62
	$CONTROLS = array("searchtab");
63
	
64
	$no_header = false;
65
	$no_search = false;
66
     break;
67
     case "wiki":
68
	$config_module = "wiki";
69
	$allowed_modules = array("graph", "wiki");
70
	$displayed_popups = array();
71
        $allowed_popups = array("source", "export");
72
	$no_header = false;
73
	$no_search = true;
74
     break;
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
75
     case "iAdei":
76
        if (!in_array("settings", $MODULES)) array_push($MODULES, "settings");
77
        $config_module = "wiki";
78
	$allowed_modules = array("slowcontrol", "alarms", "graph", "wiki", "settings");
79
        $allowed_popups = array("source", "export");
80
        $displayed_popups = array();        
81
        $no_header = true;
82
        $iHeader = true;
83
     break;
130 by Suren A. Chilingaryan
Minimized interface version
84
     default:
85
	$config_module = "graph";
86
	$allowed_modules = array($config_module);
87
        $allowed_popups = array("source", "export");
88
	$displayed_popups = array();
89
	$no_header = true;
90
    }
91
92
    if ($no_header) {
93
	$no_menu = true;
94
	$no_search = true;
95
    }
96
} else {
97
    $allowed_popups = false;
98
    $allowed_modules = false;
99
    $no_header = false;
100
    $no_menu = false;
101
    $no_search = false;
402 by Suren A. Chilingaryan
Support srctree minimal mode
102
}
130 by Suren A. Chilingaryan
Minimized interface version
103
402 by Suren A. Chilingaryan
Support srctree minimal mode
104
if (!isset($config_module)) {
130 by Suren A. Chilingaryan
Minimized interface version
105
    if (isset($_GET["module"])) $config_module = $_GET["module"];
106
    else $config_module = $DEFAULT_MODULE;
107
}
108
1 by Suren A. Chilingaryan
Initial import
109
$config_options = &$_GET;
110
if (sizeof($config_options)) $config_options["apply"] = 1;
111
112
session_start();
113
if (isset($_SESSION['setup'])) {
398 by Suren A. Chilingaryan
Propogate correct ADEI_SETUP_STRING to JS
114
    if ($_SESSION['setup'] != $ADEI_SETUP_STRING) {
1 by Suren A. Chilingaryan
Initial import
115
        session_regenerate_id();
398 by Suren A. Chilingaryan
Propogate correct ADEI_SETUP_STRING to JS
116
        $_SESSION['setup'] = $ADEI_SETUP_STRING;
1 by Suren A. Chilingaryan
Initial import
117
    }
118
} else {
398 by Suren A. Chilingaryan
Propogate correct ADEI_SETUP_STRING to JS
119
    $_SESSION['setup'] = $ADEI_SETUP_STRING;
1 by Suren A. Chilingaryan
Initial import
120
}
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
121
122
123
require("module.php");
124
125
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
126
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1 by Suren A. Chilingaryan
Initial import
127
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
128
<head>
76 by Suren A. Chilingaryan
Fix from UI branch: prevent filtering of uncached virtual groups and databases
129
    <title>ADEI (Advanced Data Extraction Infrastructure) </title>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
130
<?  if($iHeader){?>
131
	<meta name = "viewport" content = "user-scalable=no, initial-scale = 1.0, maximum-scale = 1.0, minimum-scale = 1.0" />
132
	<meta name="apple-touch-fullscreen" content="YES" />
133
	<meta name="apple-mobile-web-app-capable" content="yes" />
134
	<meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />
135
	<link rel="stylesheet" type="text/css" href="iadei.css"/> <?/* Should be first, otherwise cssSetProperty would not work */?>
136
	<link rel="stylesheet" type="text/css" href="includes/sw/spinningwheel.css"/>
137
<?  } else {?>    
138
	<link rel="stylesheet" type="text/css" href="adei.css"/> <?/* Should be first, otherwise cssSetProperty would not work */?>
374 by Suren A. Chilingaryan
Load setup css files after everything else to allow overriding...
139
<?  }?>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
140
79 by Suren A. Chilingaryan
New version of dhtmlxmenu and dhtmlxtree is added
141
    <link rel="stylesheet" type="text/css" href="includes/dhtmlx/skins/dhtmlxmenu_<?=$DHTMLX_SKIN;?>.css"/>
142
    <link rel="stylesheet" type="text/css" href="includes/dhtmlx/dhtmlxtree.css"/>
374 by Suren A. Chilingaryan
Load setup css files after everything else to allow overriding...
143
475 by Suren A. Chilingaryan
Further openshift fixes
144
<? /* Shold be last, to allow overriding */?>
374 by Suren A. Chilingaryan
Load setup css files after everything else to allow overriding...
145
<?    if (file_exists($SETUP_CSS)) {?>
475 by Suren A. Chilingaryan
Further openshift fixes
146
	<link rel="stylesheet" type="text/css" href="<?=$SETUP_CSS;?>"/> 
147
<?  } elseif (file_exists($LEGACY_SETUP_CSS)) {?>
148
	<link rel="stylesheet" type="text/css" href="<?=$LEGACY_SETUP_CSS;?>"/> 
366 by Artur Reymers
Add: support of DHTMLX_SKIN from local dir
149
<?  }?>
1 by Suren A. Chilingaryan
Initial import
150
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
151
    <script type="text/javascript" src="includes/date.format.js"></script>
1 by Suren A. Chilingaryan
Initial import
152
    <script type="text/javascript" src="includes/datetimepicker.js"></script>
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
153
    <script type="text/javascript" src="includes/rsh.js"></script>
154
1 by Suren A. Chilingaryan
Initial import
155
    <script type="text/javascript" src="includes/prototype.js"></script>
156
    <script type="text/javascript" src="includes/scriptaculous/scriptaculous.js?load=builder,effects,dragdrop"></script>
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
157
    <script type="text/javascript" src="includes/cropper/cropper.js"></script>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
158
	
1 by Suren A. Chilingaryan
Initial import
159
<?/*
160
    This causes Ajax.Request (prototype) to return on 'onSuccess' handler
161
    status=0 (should be 200) and undefined responseText. 
162
    This happens ocassionally (not always). Could be stimulated by openning
163
    current ADEI page in the new tab. Occurce much rare if reloaded in the 
164
    same tab and even more rare than just pressing Apply button. However, still
165
    happens sometimes.
166
    
167
    <script type="text/javascript" src="includes/ext/adapter/prototype/ext-prototype-adapter.js"></script>
168
    <script type="text/javascript" src="includes/ext/ext-all.js"></script>
169
*/?>
170
171
    <script type="text/javascript" src="includes/dhtmlx/dhtmlxcommon.js"></script>
79 by Suren A. Chilingaryan
New version of dhtmlxmenu and dhtmlxtree is added
172
    <script type="text/javascript" src="includes/dhtmlx/dhtmlxmenu.js"></script>
173
    <script type="text/javascript" src="includes/dhtmlx/dhtmlxtree.js"></script>
1 by Suren A. Chilingaryan
Initial import
174
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
175
<?
176
    if ($ADEI_RELEASE) {
177
	echo "<script type=\"text/javascript\" src=\"adei.js\"></script>\n";
205 by Suren A. Chilingaryan
Revert back to SetConfiguration from SetCustomProperties while handling certain property in search; trully support HTML content in description field within search results; support execution in XMLModule; support for setup-specific javascript code; KATRIN update
178
	if (file_exists("setups/$ADEI_SETUP/$ADEI_SETUP.js")) {
179
	    echo "<script type=\"text/javascript\" src=\"setups/$ADEI_SETUP/$ADEI_SETUP.js\"></script>\n";
180
	}
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
181
    } else {
182
	$dir = opendir("js");
183
	while ($file = readdir($dir)) {
184
	    if (preg_match("/\.js$/", $file)) {
185
		echo "<script type=\"text/javascript\" src=\"js/$file\"></script>\n";
186
	    }
187
	}
188
	closedir($dir);
169 by Suren A. Chilingaryan
Control subsystem
189
190
	$dir = opendir("js/xmlmodule");
191
	while ($file = readdir($dir)) {
192
	    if (preg_match("/\.js$/", $file)) {
193
		echo "<script type=\"text/javascript\" src=\"js/xmlmodule/$file\"></script>\n";
194
	    }
195
	}
196
	closedir($dir);
205 by Suren A. Chilingaryan
Revert back to SetConfiguration from SetCustomProperties while handling certain property in search; trully support HTML content in description field within search results; support execution in XMLModule; support for setup-specific javascript code; KATRIN update
197
208 by Suren A. Chilingaryan
Suppress 'failed to open dir' message
198
	$dir = @opendir("setups/$ADEI_SETUP/js");
205 by Suren A. Chilingaryan
Revert back to SetConfiguration from SetCustomProperties while handling certain property in search; trully support HTML content in description field within search results; support execution in XMLModule; support for setup-specific javascript code; KATRIN update
199
	if ($dir) {
200
	    while ($file = readdir($dir)) {
201
		if (preg_match("/\.js$/", $file)) {
202
		    echo "<script type=\"text/javascript\" src=\"setups/$ADEI_SETUP/js/$file\"></script>\n";
203
	        }
204
	    }
205
	    closedir($dir);
206
208 by Suren A. Chilingaryan
Suppress 'failed to open dir' message
207
	    $dir = @opendir("setups/$ADEI_SETUP/js/xmlmodule");
205 by Suren A. Chilingaryan
Revert back to SetConfiguration from SetCustomProperties while handling certain property in search; trully support HTML content in description field within search results; support execution in XMLModule; support for setup-specific javascript code; KATRIN update
208
	    if ($dir) {
209
		while ($file = readdir($dir)) {
210
		    if (preg_match("/\.js$/", $file)) {
211
			echo "<script type=\"text/javascript\" src=\"setups/$ADEI_SETUP/js/xmlmodule/$file\"></script>\n";
212
		    }
213
		}
214
		closedir($dir);
215
	    }
216
	}
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
217
    }
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
218
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
219
?>    
1 by Suren A. Chilingaryan
Initial import
220
    <script type="text/javascript" ev:event="onload">
221
//<![CDATA[
222
	function Geometry() {
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
223
	    /* DS: Do we need this? */
210 by Suren A. Chilingaryan
Use typeof to make a proper check
224
	    if (typeof adei == "undefined") return;
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
225
1 by Suren A. Chilingaryan
Initial import
226
	    var new_width = windowGetWidth();
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
227
	    var new_height = windowGetHeight();
1 by Suren A. Chilingaryan
Initial import
228
	    <?moduleAdjustGeometry("new_width", "new_height");?>
229
	}
312 by Suren A. Chilingaryan
Resizing of sidebar popups
230
	
231
	function UpdatePopupGeometry(source, dragger) {
232
	    adei.popup.popups_width = 0;        // to allow reduction
233
      	    adei.popup.UpdateGeometry(source);
234
      	    adei.popup.RunCallbacks();
235
	}
1 by Suren A. Chilingaryan
Initial import
236
237
	function Startup() {
238
	    var adei_options = new Object();
239
	    <?foreach ($config_options as $key => $value) {
240
		echo "adei_options." . $key . "=\"" . $value . "\";\n";
241
	    }?>
242
	    
130 by Suren A. Chilingaryan
Minimized interface version
243
	    <?if ($minimal) {
244
		if ($no_menu) $menuid = "false";
245
		else $menuid="\"menu_zone\"";
246
		
247
		if ($displayed_popups) $sidebarid="\"main_sidebar\"";
248
		else $sidebarid = "false";
249
	    ?>
250
		adei = new ADEI("main_div", <?=$sidebarid?>, "main_statusbar", <?=$menuid?>, "<?echo session_id();?>");
251
	    <?} else {?>
252
		adei = new ADEI("main_div", "main_sidebar", "main_statusbar", "menu_zone", "<?echo session_id();?>");
253
	    <?}?>
277 by Suren A. Chilingaryan
Move dhtmlx_iconset property to index.php for sharing with other modules
254
1 by Suren A. Chilingaryan
Initial import
255
	    adei.SetOptions(adei_options);
79 by Suren A. Chilingaryan
New version of dhtmlxmenu and dhtmlxtree is added
256
    
1 by Suren A. Chilingaryan
Initial import
257
	    adei.SetProperty('window_border', <?echo $AJAX_WINDOW_BORDER;?>);
258
	    adei.SetProperty('parse_delay', <?echo $AJAX_PARSE_DELAY;?>);
259
	    adei.SetProperty('subsecond_threshold', <?echo $GRAPH_SUBSECOND_THRESHOLD;?>);
260
	    adei.SetProperty('zoom_ratio', <?echo $GRAPH_ZOOM_RATIO;?>);
11 by Suren A. Chilingaryan
Graph navigation: mouse wheel, modifier keys, etc.
261
	    adei.SetProperty('step_ratio', <?echo $GRAPH_STEP_RATIO;?>);
262
	    adei.SetProperty('deepzoom_area', <?echo $GRAPH_DEEPZOOM_AREA;?>);
263
	    adei.SetProperty('edge_ratio', <?echo $GRAPH_EDGE_RATIO;?>);
14 by Suren A. Chilingaryan
Some minimal information on status bar
264
	    adei.SetProperty('default_status_duration', <?echo $STATUS_DEFAULT_DURATION;?>);
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
265
	    adei.SetProperty('menu_scroll_limit', <?= $MENU_SCROLL_LIMIT?>);
195 by Suren A. Chilingaryan
Image Export by Arsen Sogomonyan
266
	    adei.SetProperty('export_formats',<?= json_encode($EXPORT_FORMATS)?>);
277 by Suren A. Chilingaryan
Move dhtmlx_iconset property to index.php for sharing with other modules
267
	    adei.SetProperty('dhtmlx_iconset', '<?="includes/dhtmlx/imgs/" . ((file_exists("includes/dhtmlx/imgs/$DHTMLX_ICONSET"))?"$DHTMLX_ICONSET/":"")?>');
1 by Suren A. Chilingaryan
Initial import
268
269
	    <?if ($SETUP_MULTI_MODE) {?>
398 by Suren A. Chilingaryan
Propogate correct ADEI_SETUP_STRING to JS
270
	    adei.AddToQuery('setup=<?echo $ADEI_SETUP_STRING?>');
1 by Suren A. Chilingaryan
Initial import
271
	    <?}?>
272
	    
130 by Suren A. Chilingaryan
Minimized interface version
273
	    <?modulePlaceJS(($allowed_popups===false)?false:array_merge($allowed_popups, $displayed_popups), $allowed_modules);?>
1 by Suren A. Chilingaryan
Initial import
274
11 by Suren A. Chilingaryan
Graph navigation: mouse wheel, modifier keys, etc.
275
	    Geometry();
312 by Suren A. Chilingaryan
Resizing of sidebar popups
276
	    <?moduleSetupDragger();?>
11 by Suren A. Chilingaryan
Graph navigation: mouse wheel, modifier keys, etc.
277
1 by Suren A. Chilingaryan
Initial import
278
	    adei.Start('<?echo $config_module;?>', <?echo $AJAX_UPDATE_RATE;?>);
401 by Suren A. Chilingaryan
Support setup startup code in JS
279
280
	    if (typeof adeiSetupStartup == "function")
281
		adeiSetupStartup();
1 by Suren A. Chilingaryan
Initial import
282
	}
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
283
	
284
	function Navigate(btn) {
285
  	    if(btn != "settings") {
286
		adei.OpenModule(btn);
287
	    } else {
288
    		adei.SetConfiguration("p_id=main");
289
    		adei.OpenModule(btn);
290
    		adei.updater.Update();
291
  	    } 
292
	}
1 by Suren A. Chilingaryan
Initial import
293
//]]>
294
    </script>
295
</head>
296
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
297
<body onload="javascript:Startup()" onresize="Geometry()" onorientationchange="Geometry()">
377 by Suren A. Chilingaryan
Better report error with the logscale in SPECTRUMView
298
<div class="all">
130 by Suren A. Chilingaryan
Minimized interface version
299
<?if (!$no_menu) {?>
79 by Suren A. Chilingaryan
New version of dhtmlxmenu and dhtmlxtree is added
300
    <div class="menu_button"><div id="menu_zone"></div></div>
130 by Suren A. Chilingaryan
Minimized interface version
301
<?}?>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
302
130 by Suren A. Chilingaryan
Minimized interface version
303
<?if (!$no_header) {?>
1 by Suren A. Chilingaryan
Initial import
304
    <div id="header_div" class="header">
305
	<table width="100%" cellspacing="0" cellpadding="0"><tr>
306
	    <td class="title">
307
	        <b><?echo $TITLE;?></b>
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
308
	    </td><td class="right">
130 by Suren A. Chilingaryan
Minimized interface version
309
	    <? if (!$no_search) {?>
80 by Suren A. Chilingaryan
Few steps on source tree integration in javascript frontend
310
		<div class="search"><form action="javascript:nope()" onsubmit="javascript:adei.Search(this.search.value);"><input name="search" id="search"/></form></div>
130 by Suren A. Chilingaryan
Minimized interface version
311
	    <? }?>
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
312
	        <div class="links"><table width="100%" height="100%" cellspacing="0" cellpadding="0"><tr><td>
130 by Suren A. Chilingaryan
Minimized interface version
313
		    <?moduleLinkModules($allowed_modules);?>
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
314
		</td></tr></table></div>
1 by Suren A. Chilingaryan
Initial import
315
	    </td>
316
	</tr></table>
317
    </div>
130 by Suren A. Chilingaryan
Minimized interface version
318
<?}?>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
319
320
<?if ($iHeader){?>
321
    <div id="header_div" class="iheader">
322
	<table><tr><td><button class="settingsbtn" id="settingsbutton" onclick="javascript:Navigate('settings');"></button></td><td><h1 class="ADEIhead">ADEI</h1></td></tr></table>
323
        <select class="moduleSelector" onChange='javascript:Navigate(this.options[this.selectedIndex].value);' name="modsel" id="modsel">
324
<? 
325
     if($allowed_modules){
326
     	for($i = 0; $i<sizeof($allowed_modules);$i++){
327
   			echo"<option value='$allowed_modules[$i]'>";
328
     		if (isset($GLOBALS[$allowed_modules[$i] . "_title"])) echo  $GLOBALS[$allowed_modules[$i] . "_title"];
329
			else echo"$allowed_modules[$i]";
330
			echo"</option>";
331
     		
332
     	}
333
     }
334
 ?>
335
	</select>     
336
    </div>
337
<?}?>
338
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
339
    <div><table align="center" cellspacing="0" cellpadding="0">
130 by Suren A. Chilingaryan
Minimized interface version
340
	<?/*<tr><td colspan="2"></td></tr>*/?>
341
	<tr><td id="main_sidebar"><div>
342
	    <?if ($minimal) {
343
		foreach ($allowed_popups as $popup) {
344
		    ?><div class="popup" id="popup_<?echo $popup;?>" style="display: none;"><?
345
			if (function_exists($popup . "Page")) call_user_func($popup . "Page");
346
		    ?></div><?
347
		}
348
		moduleLinkPopups($displayed_popups);
349
	    } else {?>
1 by Suren A. Chilingaryan
Initial import
350
		<?moduleLinkPopups();?>
130 by Suren A. Chilingaryan
Minimized interface version
351
	    <?}?>
352
	</div></td><td width="100%"><div id="main_div">
353
		<?modulePlacePages($allowed_modules);?>
354
	</div></td></tr>
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
355
    </table></div>
210.1.1 by Suren A. Chilingaryan
Support of Appled devices by Toni Pirhonen
356
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
357
    <div id="main_statusbar" class="statusbar">
13 by Suren A. Chilingaryan
Handling of aggregation options
358
	<div>I'm a status bar</div>
12 by Suren A. Chilingaryan
Layout redesign: search tab, controls, menu
359
    </div>
1 by Suren A. Chilingaryan
Initial import
360
</div>
361
</body>
362
</html>