Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *