Magellan Linux

Contents of /alx-src/branches/alx-web-060/show.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4908 - (show annotations) (download)
Wed May 29 06:44:21 2013 UTC (10 years, 11 months ago) by niro
File size: 26431 byte(s)
-filter plugin citrix_spe on clients smaller than version 0.6.6
1 <?
2 // INCLUDE UND TABELLEN-DEFINITIONEN
3 include('include/basesql.php');
4 include('include/common-functions.php');
5
6 // INCLUDE CURRENT-PROBLEMS
7 include('include/current-problems.php');
8
9 $tabs = array('cfg_graphic', 'cfg_network', 'cfg_input', 'client_auth', 'cfg_autostart', 'client_serials', 'cfg_comments', 'cfg_printers', 'cfg_sessions', 'cfg_modules', 'cfg_other_menuitems', 'cfg_screensaver', 'client_version', 'cfg_plugins');
10 $multi= array( 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1);
11 $data = array();
12
13
14 // get alx version info for
15 $alxinfo = sqlfirst('SELECT * FROM client_version WHERE serial='.$id);
16 $alxos = $alxinfo[os];
17 $alxutils = $alxinfo[utils];
18
19 // get gfxdriver
20 $gfxinfo = sqlfirst('SELECT * FROM cfg_graphic WHERE serial='.$id);
21
22 if($kill==1)
23 {
24 foreach($tabs as $t) mysql_query('UPDATE '.$t.' SET serial=-serial WHERE serial='.$id);
25
26 echo '<body onload="window.setTimeout(\'window.close()\', 1750)">';
27 echo '<table width=100% height=100% style="border:solid black 1px; background-color:#d5e5ff"><tr><td valign=middle align=center>';
28
29 if($id<0) echo 'ACTIVATED #'.abs($id);
30 else echo 'DEACTIVATED #'.$id;
31
32 echo '</td></tr></table>';
33 return true;
34 }
35
36 // FELD-DEFINITIONEN (ARRAY=>DROPDOWN / HIDDEN / IGNORE / 1 / BOLD / PASSWORD / SHOW / SHOWTIME / MONITORID)
37 $drop = array();
38 if($alxos >= '0.6.0')
39 {
40 if($alxos >= '0.6.2')
41 {
42 $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i710', 'intel', 'nv', 'nouveau', 'mach64', 'mga', 'unichrome', 'radeon', 's3', 's3virge', 'savage', 'sis', 'trident', 'tseng', 'vmware');
43 }
44 else
45 {
46 $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i710', 'intel', 'nv', 'mach64', 'mga', 'openchrome', 'radeon', 's3', 's3virge', 'savage', 'sis', 'trident', 'tseng', 'vmware');
47 }
48 if($gfxinfo[module] == 'intel')
49 {
50 $drop['cfg_graphic_hdmi'] = array('disable', 'enable');
51 }
52 else
53 {
54 $drop['cfg_graphic_hdmi'] = 'ignore';
55 }
56 }
57 else if($alxos >= '0.5.3')
58 {
59 $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i710', 'intel', 'nv', 'mach64', 'mga', 'openchrome', 'radeon', 's3', 's3virge', 'savage', 'sis', 'trident', 'tseng');
60 $drop['cfg_graphic_hdmi'] = 'ignore';
61 }
62 else
63 {
64 $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i810', 'i710', 'nv', 'mga', 'r128', 'radeon', 's3', 's3virge', 'savage', 'sis', 'trident', 'tseng', 'via');
65 $drop['cfg_graphic_hdmi'] = 'ignore';
66 }
67 $drop['resolution'] = array('640x480', '800x600', '1024x768', '1280x960', '1280x1024', '1360x768', '1366x768', '1400x1050', '1440x900', '1600x1200', '1680x1050', '1280x720', '1920x1080');
68 $drop['depth'] = array('24', '16', '8');
69 $drop['mouse'] = array('Auto', 'IMPS/2', 'PS/2');
70 $drop['keyboard'] = array('PC105');
71 if($alxos >= '0.6.0')
72 {
73 $drop['cfg_network_module'] = array('3c509', '3c59x', '8139cp', '8139too', '8390', 'amd8111e', 'atl1c', 'atl1e', 'atl1', 'atl2', 'b44', 'bnx2', 'cnic', 'e100', 'e1000', 'e1000e', 'forcedeth', 'igb', 'ipg', 'jme', 'natsemi', 'ne2k-pci', 'ns83820', 'pcnet32', 'qla3xxx', 'r8169', 'sis190', 'sis900', 'skge', 'sky2', 'tg3', 'typhoon', 'via-rhine', 'via-velocity', 'adm8211', 'airo', 'at76c50x-usb', 'ar9170usb', 'ath5k', 'ath9k', 'atmel', 'b43', 'b43legacy', 'hostap_pci', 'hostap_plx', 'ipw2100', 'ipw2200', 'iwl3945', 'usb8xxx', 'libertas_tf', 'libertas_tf_usb', 'mwl8k', 'orinoco', 'orinoco_nortel', 'orinoco_plx', 'orinoco_tmd', 'orinoco_usb', 'p54pci', 'p54usb', 'prism54', 'rndis_wlan', 'rt2400pci', 'rt2500pci', 'rt2500usb', 'rt2800pci', 'rt2800usb', 'rt61pci', 'rt73usb', 'rtl8180', 'rtl8187', 'wl1251', 'wl1271', 'zd1201', 'zd1211rw');
74 }
75 else
76 {
77 $drop['cfg_network_module'] = array('3c59x', '8139too', '8139cp', 'e100', 'ne2k-pci', 'pcnet32', 'sis900', 'via-rhine', 'zd1211', 'b44', 'bnx2', 'dl2k', 'e1000', 'forcedeth', 'r8169', 'sk98lin', 'tg3', 'via-velocity');
78 }
79 $drop['networking'] = array('dhcp', 'static');
80 // 0.6.0 does not support lpd, ipp and socket printing atm
81 if($alxos>='0.6.0')
82 {
83 $drop['port'] = array('lpt1', 'usb1', 'usb2', 'com1', 'com2');
84 for ($i=0; $i<999; $i++) { $drop['cfg_printers_'.$i.'_ip'] = 'ignore'; }
85 $drop['share'] = 'ignore';
86 }
87 else
88 {
89 $drop['port'] = array('lpt1', 'usb1', 'usb2', 'com1', 'com2', 'lpd', 'socket', 'ipp');
90 }
91 $drop['location'] = sqlarr('SELECT location FROM client_locations', '', 'location');
92 $drop['id'] = 'hidden';
93 $drop['flg_modified'] = '1';
94 $drop['serial'] = 'ignore';
95 if($alxos>='0.5.3')
96 {
97 $drop['monitorid'] = 'ignore';
98 $drop['refresh_rate'] = array('','60','75','85','100');
99 }
100 else
101 {
102 $drop['monitorid'] = 'monitorid';
103 $drop['refresh_rate'] = 'ignore';
104 }
105 $drop['hostname'] = 'bold';
106 $drop['session'] = 'bold';
107 if($alxos>='0.6.0')
108 {
109 $drop['cfg_autostart_session'] = sqlarr('SELECT filename FROM cfg_sessions where serial='.$id, '', 'filename');
110 array_unshift($drop['cfg_autostart_session'], "");
111 }
112 else
113 {
114 $drop['cfg_autostart_session'] = 'filename';
115 }
116 $drop['mtime'] = 'showtime';
117 $drop['mac'] = 'show';
118 $drop['client_serials_serial'] = 'show';
119 $drop['password'] = 'password';
120 $drop['shell'] = 'password';
121 $drop['vnc'] = 'password';
122 $drop['samba'] = 'password';
123 $drop['station'] = 'password';
124 $drop['txt'] = 'txt';
125 $drop['screensaver'] = array('','blank', 'random', 'ant', 'ant3d', 'apollonian', 'ball', 'bat', 'blot', 'bomb', 'bouboule',
126 'bounce', 'braid', 'bubble', 'bug', 'clock', 'coral', 'crystal', 'daisy', 'dclock', 'decay', 'deco',
127 'demon', 'dilemma', 'discrete', 'dragon', 'drift', 'euler2d', 'eyes', 'fadeplot', 'fiberlamp', 'flag',
128 'flame', 'flow', 'forest', 'galaxy', 'goop', 'grav', 'helix', 'hop', 'hyper', 'ico', 'ifs', 'image',
129 'juggle', 'julia', 'kaleid', 'kumppa', 'laser', 'life', 'life1d', 'life3d', 'lightning', 'lisa', 'lissie',
130 'loop', 'lyapunov', 'mandelbrot', 'marquee', 'matrix', 'maze', 'mountain', 'munch', 'nose', 'pacman',
131 'penrose', 'petal', 'petri', 'polyominoes', 'puzzle', 'pyro', 'qix', 'roll', 'rotor', 'scooter', 'shape',
132 'sierpinski', 'slip', 'solitare', 'space', 'sphere', 'spiral', 'spline', 'star', 'starfish', 'strange',
133 'swarm', 'swirl', 't3d', 'tetris', 'thornbird', 'tik_tak', 'toneclock', 'triangle', 'tube', 'turtle',
134 'vines', 'voters', 'wator', 'wire', 'world', 'worm', 'xcl', 'xjack');
135 $drop['iface'] = array('eth0', 'wlan0');
136 $drop['client_version_os'] = 'show';
137 $drop['client_version_utils'] = 'show';
138
139 // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_
140 $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');
141 $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');
142 $drop['wireless_key_length'] = array('', '64', '128', '256');
143 $drop['wireless_channel'] = array('', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14');
144 $drop['wireless_frequency'] = array('', '2.412G', '2.417G', '2.422G', '2.427G', '2.432G', '2.437G', '2.442G',
145 '2.447G', '2.452G', '2.457G', '2.462G', '2.467G', '2.472G', '2.484G');
146 $drop['wireless_key'] = 'password';
147 $drop['wireless_key_ascii'] = 'password';
148
149 // plugin support
150 if($alxos>='0.6.0')
151 {
152 for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_plugin'] = 'pluginconfig'; }
153 for ($i=0; $i<999; $i++)
154 {
155 if($alxos>'0.6.5')
156 $drop['cfg_plugins_'.$i.'_plugin_array'] = sqlarr('SELECT plugin FROM avail_plugins', '', 'plugin');
157 else
158 $drop['cfg_plugins_'.$i.'_plugin_array'] = sqlarr('SELECT plugin FROM avail_plugins where plugin<>"citrix_spe"', '', 'plugin');
159 array_unshift($drop['cfg_plugins_'.$i.'_plugin_array'], "");
160 }
161 }
162 else
163 {
164 for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_id'] = 'ignore'; }
165 for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_serial'] = 'ignore'; }
166 for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_plugin'] = 'ignore'; }
167 }
168
169 // get current citrix sessions
170 if($alxos>='0.6.0')
171 {
172 // split all citrix server into an array to get the first server from list
173 $citrix_query_browser = split(";", $citrix_browseradrs);
174 exec($wwwroot.'/pnabrowse-wrapper -A '.$citrix_query_browser[0], $returned_citrix_sessions, $retval);
175 if ($retval == 0)
176 {
177 $citrix_public_applications = str_replace("'", "", $returned_citrix_sessions);
178 // add an empty value add the first position of the array as session-default
179 array_unshift($citrix_public_applications, "");
180 for ($i=0; $i<999; $i++) { $drop['cfg_sessions_'.$i.'_session'] = $citrix_public_applications; }
181 }
182 else
183 {
184 if($retval = 126) echo "pnabrowser-wrapper has no execute permission! please run chmod +x on ".$wwwroot."/pnabrowser-wrapper.";
185 else echo "pnabrowse-wrapper does not run successfully! retval->'".$retval."'<br>";
186 }
187 }
188
189 // GGF. NEUEN DATENSATZ EINFÜGEN
190 if(isset($_POST['do_add']))
191 {
192 list($bla,$what) = explode(' ',$_POST['do_add']);
193 if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));
194 else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));
195 else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));
196 else if($what=='SESSION') sqladd('cfg_sessions', array('domain'=>$citrix_domain_name, 'browseradrs'=>$citrix_browseradrs, 'serial'=>$id));
197 else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
198 else if($what=='PLUGIN') sqladd('cfg_plugins', array('serial'=>$id));
199 }
200
201
202 // GGF. SPEICHERN
203 if($_POST['do_upl'])
204 {
205 function postarr($prefix)
206 {
207 $prefix.='_';
208 $prelen = strlen($prefix);
209
210 $arr = array();
211 foreach($_POST as $k=>$v)
212 if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
213 $arr[substr($k,$prelen)] = stripslashes($v);
214
215 return $arr;
216 }
217
218 foreach($tabs as $k=>$t)
219 {
220 if(!$multi[$k]) mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t)).' WHERE serial='.$id);
221 else
222 {
223 $i=0;
224 while(isset($_POST[$t.'_'.$i.'_id']))
225 {
226 if($_POST[$t.'_'.$i.'_delete'])
227 mysql_query('DELETE FROM '.$t.' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
228 else
229 mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t.'_'.$i)).' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
230 $i++;
231 }
232 }
233 }
234
235 // reload site
236 header("location: show.php?id=".$id);
237 }
238
239 // EINLESEN DER DATEN AUS SQL-TABELLEN
240 foreach($tabs as $k=>$t)
241 {
242 if($multi[$k]) $data[$t] = sqlarr('SELECT * FROM '.$t.' WHERE serial='.$id);
243 else $data[$t] = sqlfirst('SELECT * FROM '.$t.' WHERE serial='.$id);
244 }
245
246 // ANZEIGEN - KLAPPFUNKTIONEN
247 $absnames = array();
248
249 function openabs($heading, $helpfile='')
250 {
251 global $absnames;
252 $absnames[] = $heading;
253
254 // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
255
256 if( $_SESSION['openclose'][$heading] )
257 {
258 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
259 if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
260 echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
261 }
262 else
263 {
264 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/plus.gif" title="OPEN" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
265 if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
266 echo '<br><div id="sch_absatz_'.$heading.'" style="position:absolute; top:0px; visibility:hidden">';
267 }
268 }
269
270 function closeabs()
271 {
272 // </Absatz> <BR/>
273
274 echo '</div><br>';
275 }
276
277
278 // ANZEIGEN
279
280 function parsearr($name, $arr, $del=false, $wireless=false)
281 {
282 global $drop;
283 global $id;
284 global $alxos;
285
286 $parts = explode('_',$name); $helpfile='help.php?page='.$parts[1];
287 openabs($name, $helpfile);
288 echo '<table class="keytab">';
289
290 foreach($arr as $k=>$v)
291 {
292 if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
293
294 $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
295 $k = str_replace('wireless_', '', $k);
296 $k2 = $k;
297
298 //replace some drivers on 0.5.3 or higher
299 if($alxos >= '0.5.3')
300 {
301 if($v == 'i810')
302 {
303 echo '<br><font color="#FF0000">Replaced "i810" with "intel" - Please press SAVE!</font><br>';
304 $v='intel';
305 }
306 if($v == 'r128')
307 {
308 echo '<br><font color="#FF0000">Replaced "r128" with "vesa" - Please press SAVE!</font><br>';
309 $v='vesa';
310 }
311
312 if($v == 'via')
313 {
314 echo '<br><font color="#FF0000">Replaced "via" with "openchrome" - Please press SAVE!</font><br>';
315 $v='openchrome';
316 }
317 }
318 if($alxos >= '0.6.2')
319 {
320 if($v == 'via')
321 {
322 echo '<br><font color="#FF0000">Replaced "via" with "unichrome" - Please press SAVE!</font><br>';
323 $v='unichrome';
324 }
325 if($v == 'openchrome')
326 {
327 echo '<br><font color="#FF0000">Replaced "openchrome" with "unichrome" - Please press SAVE!</font><br>';
328 $v='unichrome';
329 }
330 }
331
332 # tell something about vesa
333 if ($v == 'vesa') echo '<br><font color="#FF0000">Warning: "vesa" graphic module doesn\'t support any resolutions higher than 1024x786x16@60hz!</font><br>';
334
335
336 if(is_array($d))
337 {
338 echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
339 foreach($d as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
340 echo '</select></td></tr>';
341 }
342 else if($d=='hidden') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
343 else if($d=='1') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="1"></td></tr>';
344 else if($d=='monitorid') echo '<tr><td class="key">'.$k2.'</td><td>= <input type=button style="width:24px" onclick="window.open(\'monitor.php?id='.$id.'\', \'MonitorWin\', \'width=350,height=200\')" value="..."></td>';
345 else if($d=='pluginconfig')
346 {
347 $dplugin = $drop[$name.'_'.$k.'_array']; if($dplugin==null) $dplugin = $drop[$k];
348 if(is_array($dplugin))
349 {
350 echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
351 foreach($dplugin as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
352 echo '</select></td></tr>';
353 }
354 // $v contains the pluginname, get the configure flag
355 $pflag = sqlfirst('SELECT configflag FROM avail_plugins WHERE plugin="'.$v.'"');
356 if ($pflag[configflag]==1) echo '<tr><td class="key">configure</td><td>= <input type=button style="width:24px" onclick="window.open(\'plugin.php?id='.$id.'&plugin='.$v.'\', \'PluginWin\', \'width=500,height=400\')" value="..."></td>';
357 }
358 else if($d=='bold') echo '<tr><td class="key">'.$k2.'</td><td>= <input style="width:144px;font-weight:bold" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
359 else if($d=='filename') echo '<tr><td class="key">filename</td><td>= <input style="width:144px;font-weight:bold" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
360 else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';
361 else if($d=='showtime') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.date('d.m.y - H:i:s', $v).'</b></td></tr>';
362 else if($d=='password' && $v=='') echo '<tr><td class="key">'.$k2.'</td><td>= <input type=password style="width:144px" name="'.$name.'_'.$k.'" value=""></td></tr>';
363 else if($d=='password') echo '<tr><td class="key">'.$k2.'</td><td>= <input type=password style="width:144px" name="'.$name.'_'.$k.'" value="KEEPPASS"></td></tr>';
364 else if($d=='txt') echo '<tr><td colspan=2><textarea style="width:240px; background-color:#d5e5ff" rows=6 name="'.$name.'_'.$k.'">'.$v.'</textarea></td></tr>';
365 else if($d!='ignore') echo '<tr><td class="key">'.$k2.'</td><td>= <input style="width:144px" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
366 }
367
368 if($del) echo '<tr><td class="key">delete</td><td>=<input type=checkbox name="'.$name.'_delete" value="1"></td></tr>';
369 echo '</table>';
370 closeabs();
371
372 if($name=='cfg_network' && !$wireless) parsearr($name.'_wireless', $arr, $del, true);
373 }
374 function parsearrs($name, $arr)
375 {
376 foreach($arr as $k=>$a)
377 parsearr($name.'_'.$k, $a, true);
378 }
379
380 ?><head>
381 <title>ALX Config</title>
382 <style>
383 body,table { font-family:Tahoma; font-size:10pt }
384 a { color:#000000; text-decoration:none; }
385 .key { width:85px }
386 .keytab, input, textarea, select, option { font-size:8pt; font-family:Tahoma }
387 .but { font-size:10pt; font-family:Tahoma; height:23px }
388 </style>
389 <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
390 <script language="JavaScript" src="openclose_ajax.js"></script>
391 <script language="JavaScript">
392
393 // opens an url and shows retval in a javascript-alert on current site
394 function urlopen(url,typ) {
395 var $url = url.split("?");
396 $.ajax({type:""+typ+"",url:$url[0],data:$url[1],cache:false,success:function(data){ alert(data); }});
397 }
398 function plugin(name,id) { window.open('plugin.php?plugin='+name+'&id='+id, '', 'width=350,height=180'); }
399
400 /* ignore this atm, not always working, sometime open does not work
401 function openclose(nummer, act)
402 {
403 var bild = document.images['sch_bild_'+nummer];
404 var absatz = document.all['sch_absatz_'+nummer].style;
405 var senden = false;
406
407 $("#sch_absatz_"+nummer).toggle(0, function(){
408 if($(this).css("display")=="none"){$("#sch_bild_"+nummer).attr({title:'OPEN',src:'pics/plus.gif'});}else{$("#sch_bild_"+nummer).attr({title:'CLOSE',src:'pics/minus.gif'});}
409 });
410 if(act<=1){ $("#sch_bild_"+nummer).attr({title:'CLOSE',src:'pics/minus.gif'}); }else{ $("#sch_bild_"+nummer).attr({title:'OPEN',src:'pics/plus.gif'}); };
411 }
412 */
413 function openclose(nummer, act)
414 {
415 var bild = document.images['sch_bild_'+nummer];
416 var absatz = document.all['sch_absatz_'+nummer].style;
417 var senden = false;
418
419 if(bild.title == 'OPEN')
420 {
421 if(act<=1)
422 {
423 absatz.visibility = 'visible';
424 absatz.position = '';
425 bild.title = 'CLOSE';
426 bild.src = 'pics/minus.gif';
427 senden = true;
428 act = 0;
429 }
430 }
431 else
432 {
433 if(act>=1)
434 {
435 absatz.visibility = 'hidden';
436 absatz.position = 'absolute';
437 bild.title = 'OPEN';
438 bild.src = 'pics/plus.gif';
439 senden = true;
440 act = 2;
441 }
442 }
443
444 if(senden) sendopenclose(nummer,act);
445 }
446
447 function showhelp(name)
448 { window.open(name, 'HelpWin', 'width=620,height=500,scrollbars=yes'); }
449
450 </script>
451 </head>
452
453 <body><?
454
455 echo '<form action="show.php" method="post" onreset="return confirm(\'UNDO CHANGES?\')">';
456 echo '<input type=hidden name="do_upl" value="1">';
457 echo '<input type=hidden name="id" value="'.$id.'">';
458
459 // ANZEIGEN => NON-MULTI TABELLEN
460 echo '<table><tr><td valign=top width="300">';
461
462 echo '<b style="font-size:6pt">';
463 echo '<a href="JavaScript:opencloseall(0);" title="OPEN ALL"><img src="pics/plus.gif" border="0"> OPEN...</a> ';
464 echo '<a href="JavaScript:opencloseall(2);" title="CLOSE ALL"><img src="pics/minus.gif" border="0"> CLOSE...</a> ALL';
465 echo '</b><br><br>';
466
467 foreach($tabs as $k=>$t) if(!$multi[$k]) parsearr($t, $data[$t]);
468
469 // ANZEIGEN => MULTI TABELLEN
470 echo '</td><td valign=top width="300">';
471
472 foreach($tabs as $k=>$t) if($multi[$k]) parsearrs($t, $data[$t]);
473
474 echo '<script language="JavaScript">';
475 echo 'function opencloseall(act) { ';
476
477 foreach($absnames as $absname)
478 echo 'openclose("'.$absname.'", act); ';
479
480 echo '}</script>';
481
482 // ANZEIGEN => NAVI
483 echo '</td><td valign=top>';
484
485 // STATUS BESTIMMEN (ON/OFF)
486 $conn = sqlfirst('SELECT * FROM state_connected WHERE serial='.$id);
487 $state = 'Off';
488 if(count($conn)>0)
489 {
490 if($retval==0) $state = 'On';
491 }
492
493 echo '<img src="pics/logo2.jpg"><br><br>';
494
495 echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';
496
497 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';
498 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';
499 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';
500 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';
501 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br>';
502 if($alxos >= '0.6.0')
503 {
504 echo '<input class="but" type=submit name="do_add" value="INSTALL PLUGIN" style="width:150px"><br>';
505 }
506 echo '<br>';
507
508 if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';
509 echo '<input class="but" type=button value="'.$KILLCAP.'" style="width:150px" onclick="if(confirm(\''.$KILLCAP.' CLIENT #'.abs($id).' ?\')) { window.open(\'show.php?id='.$id.'&kill=1\', \'DeactWin\', \'width=200,height=100\'); location.href=\'index.php\'; }"><br>';
510 echo '<input class="but" type=button value="IMPORT FROM..." style="width:150px" onclick="location.href=\'import.php?id='.$id.'\'"><br>';
511 echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';
512
513 $davor = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id-1),'mac')!=null; if($davor) $disdavor=''; else $disdavor = 'disabled=1';
514 $danach = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id+1),'mac')!=null; if($danach) $disdanach=''; else $disdanach = 'disabled=1';
515
516 echo '<input class="but" type=button '.$disdavor.' value="<" style="width:30px" onclick="location.href=\'show.php?id='.($id-1).'\'">';
517 echo '<input class="but" type=button value="REFRESH" style="width:90px" onclick="location.href=\'show.php?id='.$id.'\'">';
518 echo '<input class="but" type=button '.$disdanach.' value=">" style="width:30px" onclick="location.href=\'show.php?id='.($id+1).'\'">';
519 echo '<br><input class="but" type=button value="INDEX" style="width:150px; font-weight:bold" onclick="location.href=\'index.php\'"><br><br>';
520
521 echo '<br>';
522 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';
523 if($id<0) echo '<b>DEACTIVATED!</b><br><br>';
524 echo '<u>Serial:</u>&nbsp;&nbsp;#'.$id.'<br>';
525 echo '<u>Stand:</u>&nbsp;&nbsp;'.date('H:i:s').'<br>';
526 echo '<u>Status:</u> <img src="pics/'.strtolower($state).'line.gif" align=top> '.$state.'line<br>';
527 if($state=='On')
528 {
529 echo '<u>IP:</u> '.$conn['ip'].'<br><br>';
530 if($alxos >= '0.6.0')
531 {
532 $osver = @sshdo('os_ver=$(</etc/mageversion);cfg_ver=$(/sbin/magequery -n alxconfig-ng | cut -d" " -f5);pname=${cfg_ver%-*-*};cfg_ver=${cfg_ver/${pname}-};echo "${os_ver}:${cfg_ver}"', $conn['ip']);
533 }
534 else
535 {
536 $osver = @sshdo('os_ver=$(</etc/mageversion);cfg_ver=$(/sbin/magequery -n alxconfig-ng-alx | cut -d" " -f5);pname=${cfg_ver%-*-*};cfg_ver=${cfg_ver/${pname}-};echo "${os_ver}:${cfg_ver}"', $conn['ip']);
537 }
538 $osver = explode(':',$osver[1]);
539 if($osver[0] == '') $osver[0]='unknown';
540 if($osver[1] == '') $osver[1]='unknown';
541
542 # update os string in database
543 if($alxos == '' && $osver[0] >= '0.5.3')
544 {
545 mysql_query('insert into client_version(serial,os,utils) values("'.$id.'","'.$osver[0].'","'.$osver[1].'")
546 on duplicate key update os="'.$osver[0].'", utils="'.$osver[1].'"');
547 # reload the site
548 echo '<script type="text/javascript">setTimeout(\'window.location.reload()\',0);</script>';
549 }
550
551 echo '<u>OS:</u> '.$osver[0].'<br>';
552 echo '<u>Utils:</u> '.$osver[1].'<br>';
553
554 if($osver[0] <> 'unknown')
555 {
556 //write them to database
557 }
558 }
559
560 echo '</b></div>';
561
562 if($state=='On')
563 {
564 echo '<input class="but" type=button value="REBOOT" style="width:150px" onclick="if(confirm(\'REBOOT CLIENT #'.$id.' ?\')) window.open(\'reboot.php?client='.$id.'&ip='.$conn['ip'].'&op=reboot\', \'ShutdownWin\', \'width=200,height=100\')"><br>';
565 echo '<input class="but" type=button value="SHUTDOWN" style="width:150px" onclick="if(confirm(\'SHUTDOWN CLIENT #'.$id.' ?\')) window.open(\'reboot.php?client='.$id.'&ip='.$conn['ip'].'&op=halt\', \'ShutdownWin\', \'width=200,height=100\')"><br>';
566 echo '<br>';
567
568 if($alxos >= '0.6.0')
569 {
570 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
571 echo 'Hardware Detection:</b></div>';
572 echo '<input class="but" type=button value="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';
573 echo '<input class="but" type=button value="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';
574 echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';
575 echo '<br>';
576 echo '<input class="but" type=button value="PRN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=printer\',\'POST\');">';
577 echo '<input class="but" type=button value="HRDW" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=system\',\'POST\');">';
578 echo '<br><br>';
579 }
580
581 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
582 echo 'Remote Shadow:</b></div>';
583 echo '<input class="but" type=button value="VNC" style="width:75px" onclick="window.open(\'vncviewer.php?ip='.$conn['ip'].'\', \'VncViewer\', \'width=200,height=100\')">';
584 echo '<input class="but" type=button value="SSH" style="width:75px" onclick="window.open(\'mindterm.php?ip='.$conn['ip'].'\', \'MindTerm\', \'width=200,height=100\')">';
585 echo '<br><br>';
586 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
587 echo 'Client Update:</b></div>';
588 echo '<input class="but" type=button value="UPDATE MAGE DB" style="width:150px" onclick="if(confirm(\'UPDATE DB ON CLIENT #'.$id.' ?\')) window.open(\'mageupgrade.php?client='.$id.'&ip='.$conn['ip'].'&op=update\', \'ShutdownWin\', \'width=800,height=600\')"><br>';
589 echo '<input class="but" type=button value="CALC DEPS" style="width:150px" onclick="if(confirm(\'CALC DEPS FOR CLIENT #'.$id.' ?\')) window.open(\'mageupgrade.php?client='.$id.'&ip='.$conn['ip'].'&op=calc\', \'ShutdownWin\', \'width=800,height=600\')"><br>';
590 echo '<input class="but" type=button value="UPGRADE CLIENT" style="width:150px" onclick="if(confirm(\'UPGRADE ALL PACKAGES ON CLIENT #'.$id.' ?\')) window.open(\'mageupgrade.php?client='.$id.'&ip='.$conn['ip'].'&op=upgrade\', \'ShutdownWin\', \'width=800,height=600\');setTimeout(\'window.location.reload()\',0);"><br>';
591 }
592 else
593 echo '<input class="but" type=button value="WAKE ON LAN" style="width:150px" onclick="if(confirm(\'WAKE CLIENT #'.$id.' ?\')) window.open(\'wake_on_lan.php?mac='.$data['client_serials']['mac'].'\', \'WakeWin\', \'width=200,height=100\')"><br>';
594
595 echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';
596
597 echo '</td></tr></table>';
598 echo '</form>';
599 ?>

Properties

Name Value
svn:executable *