Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *