Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *