Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2607 - (show annotations) (download)
Wed Jul 6 14:17:11 2011 UTC (12 years, 9 months ago) by niro
File size: 22336 byte(s)
-fixed cfg_printers port/share definitions for alx-0.6.0
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 // GGF. NEUEN DATENSATZ EINFÜGEN
126 if(isset($_POST['do_add']))
127 {
128 list($bla,$what) = explode(' ',$_POST['do_add']);
129 if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));
130 else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));
131 else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));
132 else if($what=='SESSION') sqladd('cfg_sessions', array('domain'=>'DOM_AKA_NT', 'browseradrs'=>'128.20.50.50;128.20.50.66;128.20.50.71;128.20.50.46;128.20.100.31;128.20.100.32', 'serial'=>$id));
133 else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
134 }
135
136
137 // GGF. SPEICHERN
138 if($_POST['do_upl'])
139 {
140 function postarr($prefix)
141 {
142 $prefix.='_';
143 $prelen = strlen($prefix);
144
145 $arr = array();
146 foreach($_POST as $k=>$v)
147 if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
148 $arr[substr($k,$prelen)] = stripslashes($v);
149
150 return $arr;
151 }
152
153 foreach($tabs as $k=>$t)
154 {
155 if(!$multi[$k]) mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t)).' WHERE serial='.$id);
156 else
157 {
158 $i=0;
159 while(isset($_POST[$t.'_'.$i.'_id']))
160 {
161 if($_POST[$t.'_'.$i.'_delete'])
162 mysql_query('DELETE FROM '.$t.' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
163 else
164 mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t.'_'.$i)).' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
165 $i++;
166 }
167 }
168 }
169
170 // reload site
171 header("location: show.php?id=".$id);
172 }
173
174 // EINLESEN DER DATEN AUS SQL-TABELLEN
175 foreach($tabs as $k=>$t)
176 {
177 if($multi[$k]) $data[$t] = sqlarr('SELECT * FROM '.$t.' WHERE serial='.$id);
178 else $data[$t] = sqlfirst('SELECT * FROM '.$t.' WHERE serial='.$id);
179 }
180
181 // ANZEIGEN - KLAPPFUNKTIONEN
182 $absnames = array();
183
184 function openabs($heading, $helpfile='')
185 {
186 global $absnames;
187 $absnames[] = $heading;
188
189 // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
190
191 if( $_SESSION['openclose'][$heading] )
192 {
193 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
194 if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
195 echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
196 }
197 else
198 {
199 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/plus.gif" title="OPEN" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
200 if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
201 echo '<br><div id="sch_absatz_'.$heading.'" style="position:absolute; top:0px; visibility:hidden">';
202 }
203 }
204
205 function closeabs()
206 {
207 // </Absatz> <BR/>
208
209 echo '</div><br>';
210 }
211
212
213 // ANZEIGEN
214
215 function parsearr($name, $arr, $del=false, $wireless=false)
216 {
217 global $drop;
218 global $id;
219 global $alxos;
220
221 $parts = explode('_',$name); $helpfile='help.php?page='.$parts[1];
222 openabs($name, $helpfile);
223 echo '<table class="keytab">';
224
225 foreach($arr as $k=>$v)
226 {
227 if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
228
229 $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
230 $k = str_replace('wireless_', '', $k);
231 $k2 = $k;
232
233 //replace some drivers on 0.5.3 or higher
234 if($alxos >= '0.5.3')
235 {
236 if($v == 'i810')
237 {
238 echo '<br><font color="#FF0000">Replaced "i810" with "intel" - Please press SAVE!</font><br>';
239 $v='intel';
240 }
241 if($v == 'r128')
242 {
243 echo '<br><font color="#FF0000">Replaced "r128" with "vesa" - Please press SAVE!</font><br>';
244 $v='vesa';
245 }
246
247 if($v == 'via')
248 {
249 echo '<br><font color="#FF0000">Replaced "via" with "openchrome" - Please press SAVE!</font><br>';
250 $v='openchrome';
251 }
252 }
253
254 # tell something about vesa
255 if ($v == 'vesa') echo '<br><font color="#FF0000">Warning: "vesa" graphic module doesn\'t support any resolutions higher than 1024x786x16@60hz!</font><br>';
256
257
258 if(is_array($d))
259 {
260 echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
261 foreach($d as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
262 echo '</select></td></tr>';
263 }
264 else if($d=='hidden') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
265 else if($d=='1') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="1"></td></tr>';
266 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>';
267 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>';
268 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>';
269 else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';
270 else if($d=='showtime') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.date('d.m.y - H:i:s', $v).'</b></td></tr>';
271 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>';
272 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>';
273 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>';
274 else if($d!='ignore') echo '<tr><td class="key">'.$k2.'</td><td>= <input style="width:144px" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
275 }
276
277 if($del) echo '<tr><td class="key">delete</td><td>=<input type=checkbox name="'.$name.'_delete" value="1"></td></tr>';
278 echo '</table>';
279 closeabs();
280
281 if($name=='cfg_network' && !$wireless) parsearr($name.'_wireless', $arr, $del, true);
282 }
283 function parsearrs($name, $arr)
284 {
285 foreach($arr as $k=>$a)
286 parsearr($name.'_'.$k, $a, true);
287 }
288
289 ?><head>
290 <title>ALX Config</title>
291 <style>
292 body,table { font-family:Tahoma; font-size:10pt }
293 a { color:#000000; text-decoration:none; }
294 .key { width:85px }
295 .keytab, input, textarea, select, option { font-size:8pt; font-family:Tahoma }
296 .but { font-size:10pt; font-family:Tahoma; height:23px }
297 </style>
298 <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
299 <script language="JavaScript" src="openclose_ajax.js"></script>
300 <script language="JavaScript">
301
302 // opens an url and shows retval in a javascript-alert on current site
303 function urlopen(url,typ) {
304 var $url = url.split("?");
305 $.ajax({type:""+typ+"",url:$url[0],data:$url[1],cache:false,success:function(data){ alert(data); }});
306 }
307
308 /* ignore this atm, not always working, sometime open does not work
309 function openclose(nummer, act)
310 {
311 var bild = document.images['sch_bild_'+nummer];
312 var absatz = document.all['sch_absatz_'+nummer].style;
313 var senden = false;
314
315 $("#sch_absatz_"+nummer).toggle(0, function(){
316 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'});}
317 });
318 if(act<=1){ $("#sch_bild_"+nummer).attr({title:'CLOSE',src:'pics/minus.gif'}); }else{ $("#sch_bild_"+nummer).attr({title:'OPEN',src:'pics/plus.gif'}); };
319 }
320 */
321 function openclose(nummer, act)
322 {
323 var bild = document.images['sch_bild_'+nummer];
324 var absatz = document.all['sch_absatz_'+nummer].style;
325 var senden = false;
326
327 if(bild.title == 'OPEN')
328 {
329 if(act<=1)
330 {
331 absatz.visibility = 'visible';
332 absatz.position = '';
333 bild.title = 'CLOSE';
334 bild.src = 'pics/minus.gif';
335 senden = true;
336 act = 0;
337 }
338 }
339 else
340 {
341 if(act>=1)
342 {
343 absatz.visibility = 'hidden';
344 absatz.position = 'absolute';
345 bild.title = 'OPEN';
346 bild.src = 'pics/plus.gif';
347 senden = true;
348 act = 2;
349 }
350 }
351
352 if(senden) sendopenclose(nummer,act);
353 }
354
355 function showhelp(name)
356 { window.open(name, 'HelpWin', 'width=620,height=500,scrollbars=yes'); }
357
358 </script>
359 </head>
360
361 <body><?
362
363 echo '<form action="show.php" method="post" onreset="return confirm(\'UNDO CHANGES?\')">';
364 echo '<input type=hidden name="do_upl" value="1">';
365 echo '<input type=hidden name="id" value="'.$id.'">';
366
367 // ANZEIGEN => NON-MULTI TABELLEN
368 echo '<table><tr><td valign=top width="300">';
369
370 echo '<b style="font-size:6pt">';
371 echo '<a href="JavaScript:opencloseall(0);" title="OPEN ALL"><img src="pics/plus.gif" border="0"> OPEN...</a> ';
372 echo '<a href="JavaScript:opencloseall(2);" title="CLOSE ALL"><img src="pics/minus.gif" border="0"> CLOSE...</a> ALL';
373 echo '</b><br><br>';
374
375 foreach($tabs as $k=>$t) if(!$multi[$k]) parsearr($t, $data[$t]);
376
377 // ANZEIGEN => MULTI TABELLEN
378 echo '</td><td valign=top width="300">';
379
380 foreach($tabs as $k=>$t) if($multi[$k]) parsearrs($t, $data[$t]);
381
382 echo '<script language="JavaScript">';
383 echo 'function opencloseall(act) { ';
384
385 foreach($absnames as $absname)
386 echo 'openclose("'.$absname.'", act); ';
387
388 echo '}</script>';
389
390 // ANZEIGEN => NAVI
391 echo '</td><td valign=top>';
392
393 // STATUS BESTIMMEN (ON/OFF)
394 $conn = sqlfirst('SELECT * FROM state_connected WHERE serial='.$id);
395 $state = 'Off';
396 if(count($conn)>0)
397 {
398 if($retval==0) $state = 'On';
399 }
400
401 echo '<img src="pics/logo2.jpg"><br><br>';
402
403 echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';
404
405 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';
406 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';
407 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';
408 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';
409 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br><br>';
410
411
412 if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';
413 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>';
414 echo '<input class="but" type=button value="IMPORT FROM..." style="width:150px" onclick="location.href=\'import.php?id='.$id.'\'"><br>';
415 echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';
416
417 $davor = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id-1),'mac')!=null; if($davor) $disdavor=''; else $disdavor = 'disabled=1';
418 $danach = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id+1),'mac')!=null; if($danach) $disdanach=''; else $disdanach = 'disabled=1';
419
420 echo '<input class="but" type=button '.$disdavor.' value="<" style="width:30px" onclick="location.href=\'show.php?id='.($id-1).'\'">';
421 echo '<input class="but" type=button value="REFRESH" style="width:90px" onclick="location.href=\'show.php?id='.$id.'\'">';
422 echo '<input class="but" type=button '.$disdanach.' value=">" style="width:30px" onclick="location.href=\'show.php?id='.($id+1).'\'">';
423 echo '<br><input class="but" type=button value="INDEX" style="width:150px; font-weight:bold" onclick="location.href=\'index.php\'"><br><br>';
424
425 echo '<br>';
426 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';
427 if($id<0) echo '<b>DEACTIVATED!</b><br><br>';
428 echo '<u>Serial:</u>&nbsp;&nbsp;#'.$id.'<br>';
429 echo '<u>Stand:</u>&nbsp;&nbsp;'.date('H:i:s').'<br>';
430 echo '<u>Status:</u> <img src="pics/'.strtolower($state).'line.gif" align=top> '.$state.'line<br>';
431 if($state=='On')
432 {
433 echo '<u>IP:</u> '.$conn['ip'].'<br><br>';
434 if($alxos >= '0.6.0')
435 {
436 $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']);
437 }
438 else
439 {
440 $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']);
441 }
442 $osver = explode(':',$osver[1]);
443 if($osver[0] == '') $osver[0]='unkown';
444 if($osver[1] == '') $osver[1]='unkown';
445
446 # update os string in database
447 if($alxos == '' && $osver[0] >= '0.5.3')
448 {
449 mysql_query('insert into client_version(serial,os,utils) values("'.$id.'","'.$osver[0].'","'.$osver[1].'")
450 on duplicate key update os="'.$osver[0].'", utils="'.$osver[1].'"');
451 # reload the site
452 echo '<script type="text/javascript">setTimeout(\'window.location.reload()\',0);</script>';
453 }
454
455 echo '<u>OS:</u> '.$osver[0].'<br>';
456 echo '<u>Utils:</u> '.$osver[1].'<br>';
457
458 if($osver[0] <> 'unkown')
459 {
460 //write them to database
461 }
462 }
463
464 echo '</b></div>';
465
466 if($state=='On')
467 {
468 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>';
469 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>';
470 echo '<br>';
471
472 if($alxos >= '0.6.0')
473 {
474 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
475 echo 'Hardware Detection:</b></div>';
476 echo '<input class="but" type=button value="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';
477 echo '<input class="but" type=button value="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';
478 echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';
479 echo '<br><br>';
480 }
481
482 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
483 echo 'Remote Shadow:</b></div>';
484 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>';
485 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>';
486 echo '<br>';
487 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
488 echo 'Client Update:</b></div>';
489 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>';
490 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>';
491 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>';
492 }
493 else
494 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>';
495
496 echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';
497
498 echo '</td></tr></table>';
499 echo '</form>';
500 ?>

Properties

Name Value
svn:executable *