Magellan Linux

Contents of /alx-src/trunk/alx-web/show.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *