Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *