Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *