Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *