Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *