Magellan Linux

Annotation of /alx-src/trunk/alx-web/show.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *