Magellan Linux

Annotation of /alx-src/branches/alx-web-070/show.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2704 - (hide annotations) (download)
Tue Jul 12 15:03:34 2011 UTC (12 years, 10 months ago) by niro
Original Path: alx-src/branches/alx-web-060/show.php
File size: 25018 byte(s)
-added plugin support
1 niro 1610 <?
2 niro 2199 // INCLUDE UND TABELLEN-DEFINITIONEN
3     include('include/basesql.php');
4 niro 2419 include('include/common-functions.php');
5 niro 1726
6 niro 2199 // INCLUDE CURRENT-PROBLEMS
7     include('include/current-problems.php');
8 niro 1726
9 niro 2704 $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 niro 2199 $data = array();
12 niro 1610
13    
14 niro 2199 // get alx version info for
15     $alxinfo = sqlfirst('SELECT * FROM client_version WHERE serial='.$id);
16     $alxos = $alxinfo[os];
17     $alxutils = $alxinfo[utils];
18 niro 1610
19 niro 2199 if($kill==1)
20     {
21     foreach($tabs as $t) mysql_query('UPDATE '.$t.' SET serial=-serial WHERE serial='.$id);
22 niro 1610
23 niro 2199 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 niro 1610
26 niro 2199 if($id<0) echo 'ACTIVATED #'.abs($id);
27     else echo 'DEACTIVATED #'.$id;
28 niro 1610
29 niro 2199 echo '</td></tr></table>';
30     return true;
31     }
32 niro 1610
33 niro 2199 // FELD-DEFINITIONEN (ARRAY=>DROPDOWN / HIDDEN / IGNORE / 1 / BOLD / PASSWORD / SHOW / SHOWTIME / MONITORID)
34     $drop = array();
35 niro 2703 if($alxos >= '0.6.0')
36 niro 2199 {
37 niro 2703 $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 niro 2199 $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 niro 2601 if($alxos >= '0.6.0')
52     {
53 niro 2496 $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 niro 2601 }
55     else
56     {
57 niro 2486 $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 niro 2199 $drop['networking'] = array('dhcp', 'static');
60 niro 2604 // 0.6.0 does not support lpd, ipp and socket printing atm
61     if($alxos>='0.6.0')
62     {
63 niro 2607 $drop['port'] = array('lpt1', 'usb1', 'usb2', 'com1', 'com2');
64 niro 2605 for ($i=0; $i<999; $i++) { $drop['cfg_printers_'.$i.'_ip'] = 'ignore'; }
65 niro 2607 $drop['share'] = 'ignore';
66 niro 2604 }
67     else
68     {
69     $drop['cfg_printers_port'] = array('lpt1', 'usb1', 'usb2', 'com1', 'com2', 'lpd', 'socket', 'ipp');
70     }
71 niro 2199 $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 niro 2599 if($alxos>='0.6.0')
88     {
89 niro 2639 $drop['cfg_autostart_session'] = sqlarr('SELECT filename FROM cfg_sessions where serial='.$id, '', 'filename');
90     array_unshift($drop['cfg_autostart_session'], "");
91 niro 2599 }
92     else
93     {
94     $drop['cfg_autostart_session'] = 'filename';
95     }
96 niro 2199 $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 niro 1610
119 niro 2199 // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_
120     $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');
121 niro 2444 $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');
122 niro 2199 $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 niro 1610
129 niro 2704 // plugin support
130     if($alxos>='0.6.0')
131     {
132     for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_plugin'] = 'pluginconfig'; }
133     for ($i=0; $i<999; $i++)
134     {
135     $drop['cfg_plugins_'.$i.'_plugin_array'] = sqlarr('SELECT plugin FROM avail_plugins', '', 'plugin');
136     array_unshift($drop['cfg_plugins_'.$i.'_plugin_array'], "");
137     }
138     }
139     else
140     {
141     for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_id'] = 'ignore'; }
142     for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_serial'] = 'ignore'; }
143     for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_plugin'] = 'ignore'; }
144     }
145    
146 niro 2634 // get current citrix sessions
147 niro 2640 if($alxos>='0.6.0')
148 niro 2634 {
149 niro 2640 // split all citrix server into an array to get the first server from list
150     $citrix_query_browser = split(";", $citrix_browseradrs);
151     exec($wwwroot.'/pnabrowse-wrapper -A '.$citrix_query_browser[0], $returned_citrix_sessions, $retval);
152     if ($retval == 0)
153     {
154     $citrix_public_applications = str_replace("'", "", $returned_citrix_sessions);
155     // add an empty value add the first position of the array as session-default
156     array_unshift($citrix_public_applications, "");
157     for ($i=0; $i<999; $i++) { $drop['cfg_sessions_'.$i.'_session'] = $citrix_public_applications; }
158     }
159     else if($retval = 126) echo "pnabrowser-wrapper has no execute permission! please run chmod +x on ".$wwwroot."/pnabrowser-wrapper.";
160     else echo "pnabrowse-wrapper does not run successfully! retval->'".$retval."'<br>";
161 niro 2634 }
162    
163 niro 2199 // GGF. NEUEN DATENSATZ EINFÜGEN
164     if(isset($_POST['do_add']))
165     {
166     list($bla,$what) = explode(' ',$_POST['do_add']);
167     if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));
168     else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));
169     else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));
170 niro 2609 else if($what=='SESSION') sqladd('cfg_sessions', array('domain'=>$citrix_domain_name, 'browseradrs'=>$citrix_browseradrs, 'serial'=>$id));
171 niro 2199 else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
172 niro 2704 else if($what=='PLUGIN') sqladd('cfg_plugins', array('serial'=>$id));
173 niro 2199 }
174 niro 1610
175    
176 niro 2199 // GGF. SPEICHERN
177     if($_POST['do_upl'])
178     {
179     function postarr($prefix)
180 niro 1610 {
181 niro 2199 $prefix.='_';
182     $prelen = strlen($prefix);
183 niro 1610
184 niro 2199 $arr = array();
185     foreach($_POST as $k=>$v)
186     if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
187     $arr[substr($k,$prelen)] = stripslashes($v);
188 niro 1610
189 niro 2199 return $arr;
190     }
191 niro 1610
192 niro 2199 foreach($tabs as $k=>$t)
193     {
194     if(!$multi[$k]) mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t)).' WHERE serial='.$id);
195     else
196 niro 1610 {
197 niro 2199 $i=0;
198     while(isset($_POST[$t.'_'.$i.'_id']))
199 niro 1610 {
200 niro 2199 if($_POST[$t.'_'.$i.'_delete'])
201     mysql_query('DELETE FROM '.$t.' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
202     else
203     mysql_query('UPDATE '.$t.' SET '.updatestr(postarr($t.'_'.$i)).' WHERE serial='.$id.' AND id='.$_POST[$t.'_'.$i.'_id']);
204     $i++;
205     }
206 niro 1610 }
207     }
208 niro 2599
209     // reload site
210     header("location: show.php?id=".$id);
211 niro 2199 }
212 niro 1610
213 niro 2199 // EINLESEN DER DATEN AUS SQL-TABELLEN
214     foreach($tabs as $k=>$t)
215     {
216     if($multi[$k]) $data[$t] = sqlarr('SELECT * FROM '.$t.' WHERE serial='.$id);
217     else $data[$t] = sqlfirst('SELECT * FROM '.$t.' WHERE serial='.$id);
218     }
219 niro 1610
220 niro 2199 // ANZEIGEN - KLAPPFUNKTIONEN
221     $absnames = array();
222    
223     function openabs($heading, $helpfile='')
224     {
225     global $absnames;
226     $absnames[] = $heading;
227 niro 1610
228 niro 2199 // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
229    
230     if( $_SESSION['openclose'][$heading] )
231 niro 1610 {
232 niro 2199 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
233     if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
234     echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
235 niro 1610 }
236 niro 2199 else
237 niro 1610 {
238 niro 2199 echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/plus.gif" title="OPEN" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
239     if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
240     echo '<br><div id="sch_absatz_'.$heading.'" style="position:absolute; top:0px; visibility:hidden">';
241 niro 1610 }
242 niro 2199 }
243 niro 1610
244 niro 2199 function closeabs()
245     {
246     // </Absatz> <BR/>
247 niro 1610
248 niro 2199 echo '</div><br>';
249     }
250 niro 1610
251    
252 niro 2199 // ANZEIGEN
253 niro 1610
254 niro 2199 function parsearr($name, $arr, $del=false, $wireless=false)
255     {
256     global $drop;
257     global $id;
258     global $alxos;
259 niro 1628
260 niro 2199 $parts = explode('_',$name); $helpfile='help.php?page='.$parts[1];
261     openabs($name, $helpfile);
262     echo '<table class="keytab">';
263 niro 1610
264 niro 2199 foreach($arr as $k=>$v)
265     {
266     if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
267    
268     $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
269     $k = str_replace('wireless_', '', $k);
270     $k2 = $k;
271 niro 1628
272 niro 2199 //replace some drivers on 0.5.3 or higher
273     if($alxos >= '0.5.3')
274     {
275     if($v == 'i810')
276 niro 1610 {
277 niro 2199 echo '<br><font color="#FF0000">Replaced "i810" with "intel" - Please press SAVE!</font><br>';
278     $v='intel';
279 niro 1610 }
280 niro 2199 if($v == 'r128')
281     {
282     echo '<br><font color="#FF0000">Replaced "r128" with "vesa" - Please press SAVE!</font><br>';
283     $v='vesa';
284     }
285    
286     if($v == 'via')
287     {
288     echo '<br><font color="#FF0000">Replaced "via" with "openchrome" - Please press SAVE!</font><br>';
289     $v='openchrome';
290     }
291 niro 1610 }
292    
293 niro 2199 # tell something about vesa
294     if ($v == 'vesa') echo '<br><font color="#FF0000">Warning: "vesa" graphic module doesn\'t support any resolutions higher than 1024x786x16@60hz!</font><br>';
295    
296    
297     if(is_array($d))
298     {
299     echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
300     foreach($d as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
301     echo '</select></td></tr>';
302     }
303     else if($d=='hidden') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
304     else if($d=='1') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="1"></td></tr>';
305     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>';
306     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>';
307     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>';
308     else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';
309     else if($d=='showtime') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.date('d.m.y - H:i:s', $v).'</b></td></tr>';
310     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>';
311     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>';
312     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>';
313     else if($d!='ignore') echo '<tr><td class="key">'.$k2.'</td><td>= <input style="width:144px" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
314 niro 2704 else if($d=='pluginconfig')
315     {
316     $dplugin = $drop[$name.'_'.$k.'_array']; if($dplugin==null) $dplugin = $drop[$k];
317     if(is_array($dplugin))
318     {
319     echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
320     foreach($dplugin as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
321     echo '</select></td></tr>';
322     }
323     // $v contains the pluginname, get the configure flag
324     $pflag = sqlfirst('SELECT configflag FROM avail_plugins WHERE plugin="'.$v.'"');
325     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>';
326     }
327 niro 1610 }
328    
329 niro 2199 if($del) echo '<tr><td class="key">delete</td><td>=<input type=checkbox name="'.$name.'_delete" value="1"></td></tr>';
330     echo '</table>';
331     closeabs();
332    
333     if($name=='cfg_network' && !$wireless) parsearr($name.'_wireless', $arr, $del, true);
334     }
335     function parsearrs($name, $arr)
336     {
337     foreach($arr as $k=>$a)
338     parsearr($name.'_'.$k, $a, true);
339     }
340    
341     ?><head>
342     <title>ALX Config</title>
343     <style>
344     body,table { font-family:Tahoma; font-size:10pt }
345     a { color:#000000; text-decoration:none; }
346     .key { width:85px }
347     .keytab, input, textarea, select, option { font-size:8pt; font-family:Tahoma }
348     .but { font-size:10pt; font-family:Tahoma; height:23px }
349     </style>
350 niro 2602 <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
351 niro 2199 <script language="JavaScript" src="openclose_ajax.js"></script>
352     <script language="JavaScript">
353    
354 niro 2598 // opens an url and shows retval in a javascript-alert on current site
355     function urlopen(url,typ) {
356     var $url = url.split("?");
357     $.ajax({type:""+typ+"",url:$url[0],data:$url[1],cache:false,success:function(data){ alert(data); }});
358     }
359 niro 2704 function plugin(name,id) { window.open('plugin.php?plugin='+name+'&id='+id, '', 'width=350,height=180'); }
360 niro 2598
361 niro 2606 /* ignore this atm, not always working, sometime open does not work
362 niro 2199 function openclose(nummer, act)
363     {
364     var bild = document.images['sch_bild_'+nummer];
365     var absatz = document.all['sch_absatz_'+nummer].style;
366     var senden = false;
367    
368 niro 2600 $("#sch_absatz_"+nummer).toggle(0, function(){
369     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'});}
370     });
371     if(act<=1){ $("#sch_bild_"+nummer).attr({title:'CLOSE',src:'pics/minus.gif'}); }else{ $("#sch_bild_"+nummer).attr({title:'OPEN',src:'pics/plus.gif'}); };
372     }
373 niro 2606 */
374     function openclose(nummer, act)
375     {
376     var bild = document.images['sch_bild_'+nummer];
377     var absatz = document.all['sch_absatz_'+nummer].style;
378     var senden = false;
379    
380     if(bild.title == 'OPEN')
381     {
382     if(act<=1)
383     {
384     absatz.visibility = 'visible';
385     absatz.position = '';
386     bild.title = 'CLOSE';
387     bild.src = 'pics/minus.gif';
388     senden = true;
389     act = 0;
390     }
391     }
392     else
393     {
394     if(act>=1)
395     {
396     absatz.visibility = 'hidden';
397     absatz.position = 'absolute';
398     bild.title = 'OPEN';
399     bild.src = 'pics/plus.gif';
400     senden = true;
401     act = 2;
402     }
403     }
404    
405     if(senden) sendopenclose(nummer,act);
406     }
407 niro 1610
408 niro 2199 function showhelp(name)
409     { window.open(name, 'HelpWin', 'width=620,height=500,scrollbars=yes'); }
410 niro 1610
411 niro 2199 </script>
412     </head>
413 niro 1610
414 niro 2199 <body><?
415 niro 1610
416 niro 2601 echo '<form action="show.php" method="post" onreset="return confirm(\'UNDO CHANGES?\')">';
417 niro 2199 echo '<input type=hidden name="do_upl" value="1">';
418     echo '<input type=hidden name="id" value="'.$id.'">';
419 niro 1610
420 niro 2199 // ANZEIGEN => NON-MULTI TABELLEN
421     echo '<table><tr><td valign=top width="300">';
422 niro 1610
423 niro 2199 echo '<b style="font-size:6pt">';
424     echo '<a href="JavaScript:opencloseall(0);" title="OPEN ALL"><img src="pics/plus.gif" border="0"> OPEN...</a> ';
425     echo '<a href="JavaScript:opencloseall(2);" title="CLOSE ALL"><img src="pics/minus.gif" border="0"> CLOSE...</a> ALL';
426     echo '</b><br><br>';
427 niro 1610
428 niro 2199 foreach($tabs as $k=>$t) if(!$multi[$k]) parsearr($t, $data[$t]);
429 niro 1610
430 niro 2199 // ANZEIGEN => MULTI TABELLEN
431     echo '</td><td valign=top width="300">';
432 niro 1610
433 niro 2199 foreach($tabs as $k=>$t) if($multi[$k]) parsearrs($t, $data[$t]);
434 niro 1610
435 niro 2199 echo '<script language="JavaScript">';
436     echo 'function opencloseall(act) { ';
437 niro 1610
438 niro 2199 foreach($absnames as $absname)
439     echo 'openclose("'.$absname.'", act); ';
440 niro 1610
441 niro 2199 echo '}</script>';
442 niro 1610
443 niro 2199 // ANZEIGEN => NAVI
444     echo '</td><td valign=top>';
445 niro 1610
446 niro 2199 // STATUS BESTIMMEN (ON/OFF)
447     $conn = sqlfirst('SELECT * FROM state_connected WHERE serial='.$id);
448     $state = 'Off';
449     if(count($conn)>0)
450     {
451     if($retval==0) $state = 'On';
452     }
453 niro 1610
454 niro 2199 echo '<img src="pics/logo2.jpg"><br><br>';
455 niro 1610
456 niro 2199 echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';
457 niro 1612
458 niro 2199 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';
459     echo '<input class="but" type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';
460     echo '<input class="but" type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';
461     echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';
462 niro 2704 echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br>';
463     if($alxos >= '0.6.0')
464     {
465     echo '<input class="but" type=submit name="do_add" value="INSTALL PLUGIN" style="width:150px"><br>';
466     }
467     echo '<br>';
468 niro 2199
469     if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';
470     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>';
471     echo '<input class="but" type=button value="IMPORT FROM..." style="width:150px" onclick="location.href=\'import.php?id='.$id.'\'"><br>';
472     echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';
473    
474     $davor = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id-1),'mac')!=null; if($davor) $disdavor=''; else $disdavor = 'disabled=1';
475     $danach = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id+1),'mac')!=null; if($danach) $disdanach=''; else $disdanach = 'disabled=1';
476    
477     echo '<input class="but" type=button '.$disdavor.' value="<" style="width:30px" onclick="location.href=\'show.php?id='.($id-1).'\'">';
478     echo '<input class="but" type=button value="REFRESH" style="width:90px" onclick="location.href=\'show.php?id='.$id.'\'">';
479     echo '<input class="but" type=button '.$disdanach.' value=">" style="width:30px" onclick="location.href=\'show.php?id='.($id+1).'\'">';
480     echo '<br><input class="but" type=button value="INDEX" style="width:150px; font-weight:bold" onclick="location.href=\'index.php\'"><br><br>';
481    
482 niro 2598 echo '<br>';
483 niro 2199 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';
484     if($id<0) echo '<b>DEACTIVATED!</b><br><br>';
485     echo '<u>Serial:</u>&nbsp;&nbsp;#'.$id.'<br>';
486     echo '<u>Stand:</u>&nbsp;&nbsp;'.date('H:i:s').'<br>';
487     echo '<u>Status:</u> <img src="pics/'.strtolower($state).'line.gif" align=top> '.$state.'line<br>';
488     if($state=='On')
489     {
490     echo '<u>IP:</u> '.$conn['ip'].'<br><br>';
491 niro 2601 if($alxos >= '0.6.0')
492     {
493 niro 2591 $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']);
494 niro 2601 }
495     else
496     {
497 niro 2591 $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']);
498     }
499 niro 2199 $osver = explode(':',$osver[1]);
500     if($osver[0] == '') $osver[0]='unkown';
501     if($osver[1] == '') $osver[1]='unkown';
502    
503     # update os string in database
504     if($alxos == '' && $osver[0] >= '0.5.3')
505     {
506     mysql_query('insert into client_version(serial,os,utils) values("'.$id.'","'.$osver[0].'","'.$osver[1].'")
507     on duplicate key update os="'.$osver[0].'", utils="'.$osver[1].'"');
508     # reload the site
509     echo '<script type="text/javascript">setTimeout(\'window.location.reload()\',0);</script>';
510 niro 1610 }
511    
512 niro 2199 echo '<u>OS:</u> '.$osver[0].'<br>';
513     echo '<u>Utils:</u> '.$osver[1].'<br>';
514 niro 1610
515 niro 2199 if($osver[0] <> 'unkown')
516 niro 1610 {
517 niro 2199 //write them to database
518 niro 1610 }
519 niro 2199 }
520 niro 1610
521 niro 2199 echo '</b></div>';
522 niro 1610
523 niro 2199 if($state=='On')
524     {
525     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>';
526     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>';
527     echo '<br>';
528 niro 2598
529     if($alxos >= '0.6.0')
530     {
531     echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
532     echo 'Hardware Detection:</b></div>';
533     echo '<input class="but" type=button value="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';
534     echo '<input class="but" type=button value="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';
535     echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';
536     echo '<br><br>';
537     }
538    
539 niro 2199 echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
540     echo 'Remote Shadow:</b></div>';
541     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>';
542     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>';
543     echo '<br>';
544     echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
545     echo 'Client Update:</b></div>';
546     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>';
547     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>';
548     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>';
549     }
550     else
551     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>';
552    
553     echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';
554    
555     echo '</td></tr></table>';
556     echo '</form>';
557 niro 1610 ?>

Properties

Name Value
svn:executable *