Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *