Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *