Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *