Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 355 by niro, Mon Oct 10 19:42:06 2005 UTC revision 443 by niro, Thu Jun 5 13:28:23 2008 UTC
# Line 1  Line 1 
1  <?  <?
2   // INCLUDE UND TABELLEN-DEFINITIONEN   // INCLUDE UND TABELLEN-DEFINITIONEN
3   include('include/basesql.php');   include('include/basesql.php');
4   $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');   $tabs = array('cfg_graphic', 'cfg_network', 'cfg_network_interfaces', 'cfg_input', 'client_auth', 'cfg_autostart', 'client_serials', 'cfg_comments', 'cfg_printers', 'cfg_sessions', 'cfg_modules', 'cfg_other_menuitems', 'cfg_screensaver');
5   $multi= array(    0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0);   $multi= array(    0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0);
6   $data = array();   $data = array();
7    
8   if($kill==1)   if($kill==1)
# Line 22  Line 22 
22    
23   // FELD-DEFINITIONEN  (ARRAY=>DROPDOWN / HIDDEN / IGNORE / 1 / BOLD / PASSWORD / SHOW / SHOWTIME / MONITORID)   // FELD-DEFINITIONEN  (ARRAY=>DROPDOWN / HIDDEN / IGNORE / 1 / BOLD / PASSWORD / SHOW / SHOWTIME / MONITORID)
24   $drop = array();   $drop = array();
25   $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i810', 'i710', 'nv', 'mga', 'r128', 'radeon', 's3', 's3virge', 'sis', 'trident', 'tseng', 'via');   $drop['cfg_graphic_module'] = array('vesa', 'ati', 'cirrus', 'i810', 'i710', 'nv', 'mga', 'r128', 'radeon', 's3', 's3virge', 'sis', 'trident', 'tseng', 'via', 'vmware');
26   $drop['resolution'] = array('640x480', '800x600', '1024x768', '1280x1024', '1600x1200');   $drop['resolution'] = array('640x480', '800x600', '1024x768', '1280x1024','1360x768', '1366x768', '1600x1200');
27   $drop['depth'] = array('24', '16', '8');   $drop['depth'] = array('24', '16', '8');
28   $drop['mouse'] = array('Auto', 'IMPS/2', 'PS/2');   $drop['mouse'] = array('Auto', 'IMPS/2', 'PS/2');
29   $drop['cfg_network_module'] = array('3c59x', '8139too', '8139cp', 'e100', 'ne2k-pci', 'pcnet32', 'sis900', 'via-rhine', 'zd1211');   $drop['keyboard'] = array('kbd');
30     $drop['cfg_network_module'] = array('auto','3c59x', '8139too', '8139cp', 'e100', 'ne2k-pci', 'pcnet32', 'sis900', 'via-rhine', 'zd1211');
31   $drop['networking'] = array('dhcp', 'static');   $drop['networking'] = array('dhcp', 'static');
32   $drop['port'] = array('lpt1', 'com1', 'com2', 'lpd', 'socket');   $drop['default_iface'] = sqlarr('SELECT iface FROM cfg_network_interfaces', '', 'default_iface');
33   $drop['location'] = array('', 'BO', 'HAT', 'LIN');   $drop['iface'] = 'show';
34     $drop['port'] = array('lpt1', 'com1', 'com2', 'lpd', 'socket', 'ipp');
35     $drop['location'] = sqlarr('SELECT location FROM client_locations', '', 'location');
36   $drop['id'] = 'hidden';   $drop['id'] = 'hidden';
37   $drop['flg_modified'] = '1';   $drop['flg_modified'] = '1';
38   $drop['serial'] = 'ignore';   $drop['serial'] = 'ignore';
# Line 56  Line 59 
59   'sierpinski', 'slip', 'solitare', 'space', 'sphere', 'spiral', 'spline', 'star', 'starfish', 'strange',   'sierpinski', 'slip', 'solitare', 'space', 'sphere', 'spiral', 'spline', 'star', 'starfish', 'strange',
60   'swarm', 'swirl', 't3d', 'tetris', 'thornbird', 'tik_tak', 'toneclock', 'triangle', 'tube', 'turtle',   'swarm', 'swirl', 't3d', 'tetris', 'thornbird', 'tik_tak', 'toneclock', 'triangle', 'tube', 'turtle',
61   'vines', 'voters', 'wator', 'wire', 'world', 'worm', 'xcl', 'xjack');   'vines', 'voters', 'wator', 'wire', 'world', 'worm', 'xcl', 'xjack');
62   $drop['iface'] = array('eth0', 'wlan0');  
63   $drop['wireless_mode'] = array('managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');  
64   $drop['wireless_auth_mode'] = array('wep', 'wpa', 'off');   // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_
65   //$drop['wireless_key_length'] = array('64', '128', '256');   $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');
66     $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'off');
67     $drop['wireless_key_length'] = array('', '64', '128', '256');
68     $drop['wireless_channel'] = array('', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14');
69     $drop['wireless_frequency'] = array('', '2.412G', '2.417G', '2.422G', '2.427G', '2.432G', '2.437G', '2.442G',
70     '2.447G', '2.452G', '2.457G', '2.462G', '2.467G', '2.472G', '2.484G');
71     $drop['wireless_key'] = 'password';
72     $drop['wireless_key_ascii'] = 'password';
73    
74   // GGF. NEUEN DATENSATZ EINFÜGEN   // GGF. NEUEN DATENSATZ EINFÜGEN
75   if(isset($_POST['do_add']))   if(isset($_POST['do_add']))
# Line 118  Line 128 
128    
129    
130    
131   // ANZEIGEN   // ANZEIGEN - KLAPPFUNKTIONEN
132   function parsearr($name, $arr, $del=false)   $absnames = array();
133    
134     function openabs($heading, $helpfile='')
135     {
136     global $absnames;
137     $absnames[] = $heading;
138    
139     // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
140    
141     if( $_SESSION['openclose'][$heading] )
142     {
143     echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
144     if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
145     echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
146     }
147     else
148     {
149     echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/plus.gif" title="OPEN" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
150     if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
151     echo '<br><div id="sch_absatz_'.$heading.'" style="position:absolute; top:0px; visibility:hidden">';
152     }
153     }
154    
155     function closeabs()
156     {
157     // </Absatz> <BR/>
158    
159     echo '</div><br>';
160     }
161    
162    
163     // ANZEIGEN
164    
165     function parsearr($name, $arr, $del=false, $wireless=false)
166   {   {
167   global $drop;   global $drop;
168   global $id;   global $id;
169    
170   $parts = explode('_',$name); $helpfile='help.php?page='.$parts[1];   $parts = explode('_',$name); $helpfile='help.php?page='.$parts[1];
171   echo '<tr><td colspan=2 style="cursor:hand" onclick="window.open(\''.$helpfile.'\', \'HelpWin\', \'width=600,height=500,scrollbars=no\')"><b>['.$name.'] <font color=#626a88><tt>(?)</tt></font></b></td></tr>';   openabs($name, $helpfile);
172     echo '<table class="keytab">';
173    
174   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
175   {   {
176     if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
177    
178   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
179     $k = str_replace('wireless_', '', $k);
180     $k2 = $k;
181    
182   if(is_array($d))   if(is_array($d))
183   {   {
184   echo '<tr><td>'.$k.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';   echo '<tr><td>'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';
185   foreach($d as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;   foreach($d as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;
186   echo '</select></td></tr>';   echo '</select></td></tr>';
187   }   }
188   else if($d=='hidden') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';   else if($d=='hidden') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
189   else if($d=='1') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="1"></td></tr>';   else if($d=='1') echo '<tr><td colspan=2><input type=hidden name="'.$name.'_'.$k.'" value="1"></td></tr>';
190   else if($d=='monitorid') echo '<tr><td>'.$k.'</td><td>= <input type=button style="width:24px" onclick="window.open(\'monitor.php?id='.$id.'\', \'MonitorWin\', \'width=350,height=200\')" value="..."></td>';   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>';
191   else if($d=='bold') echo '<tr><td>'.$k.'</td><td>= <input style="width:144px;font-weight:bold" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';   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>';
192   else if($d=='filename') echo '<tr><td>filename</td><td>= <input style="width:144px;font-weight:bold" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';   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>';
193   else if($d=='show') echo '<tr><td>'.$k.'</td><td>= <b>'.$v.'</b></td></tr>';   else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';
194   else if($d=='showtime') echo '<tr><td>'.$k.'</td><td>= <b>'.date('d.m.y - H:i:s', $v).'</b></td></tr>';   else if($d=='showtime') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.date('d.m.y - H:i:s', $v).'</b></td></tr>';
195   else if($d=='password' && $v=='') echo '<tr><td>'.$k.'</td><td>= <input type=password style="width:144px" name="'.$name.'_'.$k.'" value=""></td></tr>';   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>';
196   else if($d=='password') echo '<tr><td>'.$k.'</td><td>= <input type=password style="width:144px" name="'.$name.'_'.$k.'" value="KEEPPASS"></td></tr>';   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>';
197   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>';   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>';
198   else if($d!='ignore') echo '<tr><td>'.$k.'</td><td>= <input style="width:144px" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';   else if($d!='ignore') echo '<tr><td class="key">'.$k2.'</td><td>= <input style="width:144px" name="'.$name.'_'.$k.'" value="'.$v.'"></td></tr>';
199   }   }
200    
201   if($del) echo '<tr><td>delete</td><td>=<input type=checkbox name="'.$name.'_delete" value="1"></td></tr>';   if($del) echo '<tr><td class="key">delete</td><td>=<input type=checkbox name="'.$name.'_delete" value="1"></td></tr>';
202   echo '<tr height=30><td colspan=2></td></tr>';   echo '</table>';
203     closeabs();
204    
205     if($name=='cfg_network' && !$wireless) parsearr($name.'_wireless', $arr, $del, true);
206   }   }
207   function parsearrs($name, $arr)   function parsearrs($name, $arr)
208   {   {
# Line 159  Line 210 
210   parsearr($name.'_'.$k, $a, true);   parsearr($name.'_'.$k, $a, true);
211   }   }
212    
213   echo '<head><title>ALX Config - Client #'.$id.'</title></head>';   ?><head>
214   echo '<body>';   <title>ALX Config</title>
215     <style>
216     body,table { font-family:Tahoma; font-size:10pt }
217     a { color:#000000; text-decoration:none; }
218     .key { width:85px }
219     .keytab, input, textarea, select, option { font-size:8pt; font-family:Tahoma }
220     .but { font-size:10pt; font-family:Tahoma; height:23px }
221     </style>
222     <script language="JavaScript" src="openclose_ajax.js"></script>
223     <script language="JavaScript">
224    
225     function openclose(nummer, act)
226     {
227     var bild = document.images['sch_bild_'+nummer];
228     var absatz = document.all['sch_absatz_'+nummer].style;
229     var senden = false;
230    
231     if(bild.title == 'OPEN')
232     {
233     if(act<=1)
234     {
235     absatz.visibility = 'visible';
236     absatz.position = '';
237     bild.title = 'CLOSE';
238     bild.src = 'pics/minus.gif';
239     senden = true;
240     act = 0;
241     }
242     }
243     else
244     {
245     if(act>=1)
246     {
247     absatz.visibility = 'hidden';
248     absatz.position = 'absolute';
249     bild.title = 'OPEN';
250     bild.src = 'pics/plus.gif';
251     senden = true;
252     act = 2;
253     }
254     }
255    
256     if(senden) sendopenclose(nummer,act);
257     }
258    
259     function showhelp(name)
260     { window.open(name, 'HelpWin', 'width=620,height=500,scrollbars=yes'); }
261    
262     </script>
263     </head>
264    
265     <body><?
266    
267    
268   //echo '<body style="background-image:URL(logo.jpg);background-repeat:no-repeat; background-position:0px 0px; margin-top:25px">';   //echo '<body style="background-image:URL(logo.jpg);background-repeat:no-repeat; background-position:0px 0px; margin-top:25px">';
269   echo '<form action="show.php" method=post onreset="return confirm(\'UNDO CHANGES?\')">';   echo '<form action="show.php" method=post onreset="return confirm(\'UNDO CHANGES?\')">';
270   echo '<input type=hidden name="do_upl" value="1">';   echo '<input type=hidden name="do_upl" value="1">';
271   echo '<input type=hidden name="id" value="'.$id.'">';   echo '<input type=hidden name="id" value="'.$id.'">';
272    
273   // ANZEIGEN => NON-MULTI TABELLEN   // ANZEIGEN => NON-MULTI TABELLEN
274   echo '<table><tr><td valign=top width=280>';   echo '<table><tr><td valign=top width="300">';
275    
276     echo '<b style="font-size:6pt">';
277     echo '<a href="JavaScript:opencloseall(0);" title="OPEN ALL"><img src="pics/plus.gif" border="0"> OPEN...</a> ';
278     echo '<a href="JavaScript:opencloseall(2);" title="CLOSE ALL"><img src="pics/minus.gif" border="0"> CLOSE...</a> ALL';
279     echo '</b><br><br>';
280    
  echo '<table cellpadding=0 cellspacing=0>';  
281   foreach($tabs as $k=>$t) if(!$multi[$k]) parsearr($t, $data[$t]);   foreach($tabs as $k=>$t) if(!$multi[$k]) parsearr($t, $data[$t]);
  echo '</table>';  
282    
283   // ANZEIGEN => MULTI TABELLEN   // ANZEIGEN => MULTI TABELLEN
284   echo '</td><td valign=top width=280>';   echo '</td><td valign=top width="300">';
285    
  echo '<table cellpadding=0 cellspacing=0>';  
286   foreach($tabs as $k=>$t) if($multi[$k]) parsearrs($t, $data[$t]);   foreach($tabs as $k=>$t) if($multi[$k]) parsearrs($t, $data[$t]);
287   echo '</table>';  
288     echo '<script language="JavaScript">';
289     echo 'function opencloseall(act) { ';
290    
291     foreach($absnames as $absname)
292     echo 'openclose("'.$absname.'", act); ';
293    
294     echo '}</script>';
295    
296   // ANZEIGEN => NAVI   // ANZEIGEN => NAVI
297   echo '</td><td valign=top>';   echo '</td><td valign=top>';
# Line 195  Line 308 
308    
309   echo '<img src="pics/logo2.jpg"><br><br>';   echo '<img src="pics/logo2.jpg"><br><br>';
310    
311   echo '<input type=submit value="SAVE" style="width:150px"><br><br>';   echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';
312    
313   echo '<input type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';
314   echo '<input type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';
315   echo '<input type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';
316   echo '<input type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';
317   echo '<input type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br><br>';   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br><br>';
318    
319    
320   if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';   if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';
321   echo '<input 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>';   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>';
322   echo '<input type=button value="IMPORT FROM..." style="width:150px" onclick="location.href=\'import.php?id='.$id.'\'"><br>';   echo '<input class="but" type=button value="IMPORT FROM..." style="width:150px" onclick="location.href=\'import.php?id='.$id.'\'"><br>';
323   echo '<input type=reset value="UNDO CHANGES" style="width:150px"><br><br>';   echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';
324    
325   $davor  = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id-1),'mac')!=null; if($davor) $disdavor=''; else $disdavor = 'disabled=1';   $davor  = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id-1),'mac')!=null; if($davor) $disdavor=''; else $disdavor = 'disabled=1';
326   $danach = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id+1),'mac')!=null; if($danach) $disdanach=''; else $disdanach = 'disabled=1';   $danach = sqlfirst('SELECT mac FROM client_serials WHERE serial='.($id+1),'mac')!=null; if($danach) $disdanach=''; else $disdanach = 'disabled=1';
327    
328   echo '<input type=button '.$disdavor.' value="<" style="width:30px" onclick="location.href=\'show.php?id='.($id-1).'\'">';   echo '<input class="but" type=button '.$disdavor.' value="<" style="width:30px" onclick="location.href=\'show.php?id='.($id-1).'\'">';
329   echo '<input type=button value="REFRESH" style="width:90px" onclick="location.href=\'show.php?id='.$id.'\'">';   echo '<input class="but" type=button value="REFRESH" style="width:90px" onclick="location.href=\'show.php?id='.$id.'\'">';
330   echo '<input type=button '.$disdanach.' value=">" style="width:30px" onclick="location.href=\'show.php?id='.($id+1).'\'">';   echo '<input class="but" type=button '.$disdanach.' value=">" style="width:30px" onclick="location.href=\'show.php?id='.($id+1).'\'">';
331   echo '<br><input type=button value="INDEX" style="width:150px; font-weight:bold" onclick="location.href=\'index.php\'"><br><br>';   echo '<br><input class="but" type=button value="INDEX" style="width:150px; font-weight:bold" onclick="location.href=\'index.php\'"><br><br>';
332    
333   echo '<br><br>';   echo '<br><br>';
334   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';
# Line 223  Line 336 
336   echo '<u>Serial:</u>&nbsp;&nbsp;#'.$id.'<br>';   echo '<u>Serial:</u>&nbsp;&nbsp;#'.$id.'<br>';
337   echo '<u>Stand:</u>&nbsp;&nbsp;'.date('H:i:s').'<br>';   echo '<u>Stand:</u>&nbsp;&nbsp;'.date('H:i:s').'<br>';
338   echo '<u>Status:</u> <img src="pics/'.strtolower($state).'line.gif" align=top> '.$state.'line<br>';   echo '<u>Status:</u> <img src="pics/'.strtolower($state).'line.gif" align=top> '.$state.'line<br>';
339   if($state=='On') echo '<u>IP:</u> '.$conn['ip'];   if($state=='On')
340     {
341     echo '<u>IP:</u> '.$conn['ip'].'<br><br>';
342     $pubkey = mysql_query('select public_key from ssh_auth_clients where serial='.$id.'');
343     while ($row = mysql_fetch_row ($pubkey)) {
344     # schreiben der .ssh/known_hosts file mit dem public rsa key des client,
345     # um die "yes" abfrage zu vermeiden
346     $hostfile = fopen ($home."/.ssh/known_hosts","w");
347     fwrite($hostfile,$conn['ip']." ".$row[0],strlen($row[0])+strlen($conn['ip'])+1);
348     fclose($hostfile);
349    
350     $osver = exec($sshcmd.' -l root '.$conn['ip'].' \'os_ver=$(<'.$mageversion.');cfg_ver=$(/sbin/magequery -n '.$alxconfig.'|cut -d" " -f5);pname=${cfg_ver%-*-*};cfg_ver=${cfg_ver/${pname}-};echo "${os_ver}:${cfg_ver}"\'');
351     $osver = explode(':',$osver);
352     }
353     if($osver[0] == '') $osver[0]='unkown';
354     if($osver[1] == '') $osver[1]='unkown';
355                     echo '<u>OS:</u> '.$osver[0].'<br>';
356                     echo '<u>Utils:</u> '.$osver[1].'<br>';
357     }
358    
359   echo '</b></div>';   echo '</b></div>';
360   //echo '<br><br>';   //echo '<br><br>';
361    
362   if($state=='On')   if($state=='On')
363   {   {
364   echo '<input 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>';   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>';
365   echo '<input 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>';   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>';
366    
367   echo '<br>';   echo '<br>';
368                   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff"><b>';                   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
369                  echo 'Client Software Update:<br><br>';                  echo 'Client Update:</b></div>';
370   echo '<input 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>';   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>';
371   echo '<input 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>';   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>';
372   echo '<input 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\')"><br>';   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\')"><br>';                                      
                 echo '</b></div>';  
373   }   }
374   else   else
375   echo '<input 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>';   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>';
376    
377   echo '<br><a href="share/ChangeLog.html">ChangeLog</a>';   echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';
  echo '<br><a href="share/FAQ.html">FAQs</a>';  
378    
379   echo '</td></tr></table>';   echo '</td></tr></table>';
380   echo '</form>';   echo '</form>';

Legend:
Removed from v.355  
changed lines
  Added in v.443