Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *