Magellan Linux

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

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

revision 7124 by niro, Fri Sep 11 15:35:13 2015 UTC revision 8553 by niro, Mon Feb 8 14:05:46 2016 UTC
# Line 6  include('include/common-functions.php'); Line 6  include('include/common-functions.php');
6  // INCLUDE CURRENT-PROBLEMS  // INCLUDE CURRENT-PROBLEMS
7  include('include/current-problems.php');  include('include/current-problems.php');
8    
9  $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');  $tabs = array('cfg_graphic', 'cfg_network', 'cfg_input', 'client_auth', 'cfg_autostart', 'client_serials', 'cfg_comments', 'cfg_printers', 'cfg_sessions_citrix', 'cfg_sessions_storefront', 'cfg_sessions_rdesktop', '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);  $multi= array( 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0);
11  $data = array();  $data = array();
12    
13  // get alx version info for  // get alx version info for
# Line 20  $gfxinfo = sqlfirst('SELECT * FROM cfg_g Line 20  $gfxinfo = sqlfirst('SELECT * FROM cfg_g
20    
21  if($kill==1)  if($kill==1)
22  {  {
23   foreach($tabs as $t) mysql_query('UPDATE '.$t.' SET serial=-serial WHERE serial='.$id);   if($method=='DEACTIVATE') mysql_query('UPDATE client_serials SET enabled="0" WHERE serial='.$id);
24     else mysql_query('UPDATE client_serials SET enabled="1" WHERE serial='.$id);
25    
26   echo '<body onload="window.setTimeout(\'window.close()\', 1750)">';   echo '<body onload="window.setTimeout(\'window.close()\', 1750)">';
27   echo '<table width=100% height=100% style="border:solid black 1px; background-color:#d5e5ff"><tr><td valign=middle align=center>';   echo '<table width=100% height=100% style="border:solid black 1px; background-color:#d5e5ff"><tr><td valign=middle align=center>';
28    
29   if($id<0) echo 'ACTIVATED #'.abs($id);   if($method=='DEACTIVATE') echo 'DEACTIVATED #'.$id;
30   else echo 'DEACTIVATED #'.$id;   else echo 'ACTIVATED #'.$id;
31    
32   echo '</td></tr></table>';   echo '</td></tr></table>';
33   return true;   return true;
# Line 61  $drop['monitorid'] = 'ignore'; Line 62  $drop['monitorid'] = 'ignore';
62  $drop['refresh_rate'] = sqlarr('SELECT value FROM values_graphic_refresh_rate where enabled=1', '', 'value');  $drop['refresh_rate'] = sqlarr('SELECT value FROM values_graphic_refresh_rate where enabled=1', '', 'value');
63  $drop['hostname'] = 'bold';  $drop['hostname'] = 'bold';
64  $drop['session'] = 'bold';  $drop['session'] = 'bold';
65  $drop['cfg_autostart_session'] = sqlarr('SELECT filename FROM cfg_sessions where serial='.$id, '', 'filename');  $drop['cfg_autostart_session'] = sqlarr('SELECT filename FROM cfg_sessions_citrix where serial='.$id, '', 'filename');
66  array_unshift($drop['cfg_autostart_session'], "");  array_unshift($drop['cfg_autostart_session'], "");
67  $drop['mtime'] = 'showtime';  $drop['mtime'] = 'showtime';
68  $drop['mac'] = 'show';  $drop['mac'] = 'show';
69  $drop['client_serials_serial'] = 'show';  $drop['client_serials_serial'] = 'show';
70  //$drop['password'] = 'password';  $drop['password'] = 'password';
71  //$drop['shell'] = 'password';  //$drop['shell'] = 'password';
72  $drop['client_auth_user'] = 'password';  $drop['client_auth_user'] = 'password';
73  $drop['root'] = 'password';  $drop['root'] = 'password';
# Line 80  $drop['client_version_os'] = 'show'; Line 81  $drop['client_version_os'] = 'show';
81  $drop['client_version_utils'] = 'show';  $drop['client_version_utils'] = 'show';
82  $drop['hwdetected'] = 'ignore';  $drop['hwdetected'] = 'ignore';
83    
84  // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_  // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_
85  $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');  $drop['wireless_mode'] = sqlarr('SELECT value FROM values_network_wireless_mode where enabled=1', '', 'value');
86  $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');  $drop['wireless_auth_mode'] = sqlarr('SELECT value FROM values_network_wireless_auth_mode where enabled=1', '', 'value');
87  $drop['wireless_key_length'] = array('', '64', '128', '256');  $drop['wireless_bitrate'] = sqlarr('SELECT value FROM values_network_wireless_bitrate where enabled=1', '', 'value');
88  $drop['wireless_channel'] = array('', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14');  $drop['wireless_key_length'] = sqlarr('SELECT value FROM values_network_wireless_key_length where enabled=1', '', 'value');
89  $drop['wireless_frequency'] = array('', '2.412G', '2.417G', '2.422G', '2.427G', '2.432G', '2.437G', '2.442G',  $drop['wireless_channel'] = sqlarr('SELECT value FROM values_network_wireless_channel where enabled=1', '', 'value');
90   '2.447G', '2.452G', '2.457G', '2.462G', '2.467G', '2.472G', '2.484G');  $drop['wireless_frequency'] = sqlarr('SELECT value FROM values_network_wireless_frequency where enabled=1', '', 'value');
91  $drop['wireless_key'] = 'password';  $drop['wireless_key'] = 'password';
92  $drop['wireless_key_ascii'] = 'password';  $drop['wireless_key_ascii'] = 'password';
93    
94  // get current citrix sessions  // get current citrix apps
95  // split all citrix server into an array to get the first server from list  $citrix_apps = sqlarr('SELECT session FROM values_citrix_session where enabled=1', '', 'session');
96  $citrix_query_browser = split(";", $citrix_browseradrs);  // add an empty value add the first position of the array as session-default
97  exec($wwwroot.'/pnabrowse-wrapper -A '.$citrix_query_browser[0], $returned_citrix_sessions, $retval);  array_unshift($citrix_apps, "");
98  if ($retval == 0)  // hackish, fix me
99  {  for ($i=0; $i<999; $i++) { $drop['cfg_sessions_citrix_'.$i.'_session'] = $citrix_apps; }
100   $citrix_public_applications = str_replace("'", "", $returned_citrix_sessions);  
101   // add an empty value add the first position of the array as session-default  // get current storefront apps
102   array_unshift($citrix_public_applications, "");  $storefront_apps = sqlarr('SELECT session FROM values_storefront_session where enabled=1', '', 'session');
103   for ($i=0; $i<999; $i++) { $drop['cfg_sessions_'.$i.'_session'] = $citrix_public_applications; }  // add an empty value add the first position of the array as session-default
104  }  array_unshift($storefront_apps, "");
105    // hackish, fix me
106    for ($i=0; $i<999; $i++) { $drop['cfg_sessions_storefront_'.$i.'_session'] = $storefront_apps; }
107    
108    $drop['enabled'] = 'ignore';
109    $drop['filename'] = 'ignore';
110    $drop['autostart'] = array('0','1');
111    
112  // GGF. NEUEN DATENSATZ EINFÜGEN  // GGF. NEUEN DATENSATZ EINFÃœGEN
113  if(isset($_POST['do_add']))  if(isset($_POST['do_add']))
114  {  {
115   list($bla,$what) = explode(' ',$_POST['do_add']);   list($bla,$what) = explode(' ',$_POST['do_add']);
116   if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));   if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));
117   else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));   else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));
118   else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));   else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));
119   else if($what=='SESSION') sqladd('cfg_sessions', array('domain'=>$citrix_domain_name, 'browseradrs'=>$citrix_browseradrs, 'serial'=>$id));   else if($what=='SESSION-CITRIX') sqladd('cfg_sessions_citrix', array('domain'=>$citrix_domain_name, 'serverlist'=>$citrix_serverlist, 'serial'=>$id));
120     else if($what=='SESSION-STOREFRONT') sqladd('cfg_sessions_storefront', array('domain'=>$storefront_domain_name, 'store'=>$storefront_store, 'serial'=>$id));
121     else if($what=='SESSION-RDP') sqladd('cfg_sessions_rdesktop', array('domain'=>$rdesktop_domain_name, 'server'=>$rdesktop_server, 'serial'=>$id));
122   else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));   else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
123     else if($what=='AUTOSTART') sqladd('cfg_autostart', array('serial'=>$id));
124  }  }
125    
126    
# Line 124  if($_POST['do_upl']) Line 134  if($_POST['do_upl'])
134    
135   $arr = array();   $arr = array();
136   foreach($_POST as $k=>$v)   foreach($_POST as $k=>$v)
137     {
138   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
139   $arr[substr($k,$prelen)] = stripslashes($v);   $arr[substr($k,$prelen)] = stripslashes($v);
140     }
141    
142   return $arr;   return $arr;
143   }   }
# Line 165  function openabs($heading, $helpfile='') Line 177  function openabs($heading, $helpfile='')
177  {  {
178   global $absnames;   global $absnames;
179   $absnames[] = $heading;   $absnames[] = $heading;
180    
181   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
182    
183   if( $_SESSION['openclose'][$heading] )   if( $_SESSION['openclose'][$heading] )
184   {   {
185   echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';   echo '<a href="JavaScript:openclose(\''.$heading.'\',1);"><img border="0" src="pics/minus.gif" title="CLOSE" id="sch_bild_'.$heading.'"> <b>['.$heading.']</b></a>';
186   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
187   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
188   }   }
189   else   else
190   {   {
# Line 185  function openabs($heading, $helpfile='') Line 197  function openabs($heading, $helpfile='')
197  function closeabs()  function closeabs()
198  {  {
199   // </Absatz> <BR/>   // </Absatz> <BR/>
   
200   echo '</div><br>';   echo '</div><br>';
201  }  }
202    
203    // ANZEIGEN
 // ANZEIGEN  
204    
205  function parsearr($name, $arr, $del=false, $wireless=false)  function parsearr($name, $arr, $del=false, $wireless=false)
206  {  {
# Line 205  function parsearr($name, $arr, $del=fals Line 215  function parsearr($name, $arr, $del=fals
215   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
216   {   {
217   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
218    
219   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
220   $k = str_replace('wireless_', '', $k);   $k = str_replace('wireless_', '', $k);
221   $k2 = $k;   $k2 = $k;
222    
223   # tell something about vesa   # tell something about vesa
224   if ($v == 'vesa') echo '<br><font color="#FF0000">Warning: "vesa" graphic module doesn\'t support any resolutions higher than 1024x786x16@60hz!</font><br>';  // if ($v == 'vesa') echo '<br><font color="#FF0000">Warning: "vesa" graphic module doesn\'t support any resolutions higher than 1024x786x16@60hz!</font><br>';
225    
226   if(is_array($d))   if(is_array($d))
227   {   {
# Line 264  function parsearrs($name, $arr) Line 274  function parsearrs($name, $arr)
274   $.ajax({type:""+typ+"",url:$url[0],data:$url[1],cache:false,success:function(data){ alert(data); }});   $.ajax({type:""+typ+"",url:$url[0],data:$url[1],cache:false,success:function(data){ alert(data); }});
275   }   }
276    
 /* ignore this atm, not always working, sometime open does not work  
277   function openclose(nummer, act)   function openclose(nummer, act)
278   {   {
279   var bild = document.images['sch_bild_'+nummer];   var bild = document.images['sch_bild_'+nummer];
280   var absatz = document.all['sch_absatz_'+nummer].style;   var absatz = document.all['sch_absatz_'+nummer].style;
281   var senden = false;   var senden = false;
282    
  $("#sch_absatz_"+nummer).toggle(0, function(){  
  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'});}  
  });  
  if(act<=1){ $("#sch_bild_"+nummer).attr({title:'CLOSE',src:'pics/minus.gif'}); }else{ $("#sch_bild_"+nummer).attr({title:'OPEN',src:'pics/plus.gif'}); };  
  }  
 */  
  function openclose(nummer, act)  
  {  
  var bild = document.images['sch_bild_'+nummer];  
  var absatz = document.all['sch_absatz_'+nummer].style;  
  var senden = false;  
   
283   if(bild.title == 'OPEN')   if(bild.title == 'OPEN')
284   {   {
285   if(act<=1)   if(act<=1)
# Line 307  function parsearrs($name, $arr) Line 304  function parsearrs($name, $arr)
304   act = 2;   act = 2;
305   }   }
306   }   }
   
307   if(senden) sendopenclose(nummer,act);   if(senden) sendopenclose(nummer,act);
308   }   }
309    
# Line 356  echo '</td><td valign=top>'; Line 352  echo '</td><td valign=top>';
352   {   {
353   if($retval==0)   if($retval==0)
354   {   {
  // first try mcore, then get ssh  
355   $ping_retval = ping_host($conn['ip'],$mcore_port,$ping_timeout);   $ping_retval = ping_host($conn['ip'],$mcore_port,$ping_timeout);
  if($ping_retval==1) $ping_retval = ping_host($dat['ip'],$ssh_port,$ping_timeout);  
356   if($ping_retval==0)   if($ping_retval==0)
357   {   {
358   $state = 'On';   $state = 'On';
# Line 370  echo '</td><td valign=top>'; Line 364  echo '</td><td valign=top>';
364    
365   echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';   echo '<input class="but" type=submit value="SAVE" style="width:150px"><br><br>';
366    
367   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD COMMENT" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="ADD COMMENT" style="width:150px"><br>';
368   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD PRINTER" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="ADD PRINTER" style="width:150px"><br>';
369   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD SESSION" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="ADD SESSION-CITRIX" style="width:150px"><br>';
370   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MODULE" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="ADD SESSION-STOREFRONT" style="width:150px"><br>';
371   echo '<input class="but" type=submit name="do_add" value="SAVE+ADD MENUITEM" style="width:150px"><br>';   echo '<input class="but" type=submit name="do_add" value="ADD SESSION-RDP" style="width:150px"><br>';
372     echo '<input class="but" type=submit name="do_add" value="ADD MODULE" style="width:150px"><br>';
373     echo '<input class="but" type=submit name="do_add" value="ADD MENUITEM" style="width:150px"><br>';
374     echo '<input class="but" type=submit name="do_add" value="ADD AUTOSTART" style="width:150px"><br>';
375   echo '<br>';   echo '<br>';
376    
377   if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';   $clientstatus = sqlfirst('SELECT * FROM client_serials WHERE serial='.$id);
378   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>';   if($clientstatus['enabled']>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';
379     echo '<input class="but" type=button value="'.$KILLCAP.'" style="width:150px" onclick="if(confirm(\''.$KILLCAP.' CLIENT #'.$id.' ?\')) { window.open(\'show.php?id='.$id.'&kill=1&method='.$KILLCAP.'\', \'DeactWin\', \'width=200,height=100\'); location.href=\'index.php\'; }"><br>';
380   echo '<input class="but" 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>';
381   echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';   echo '<input class="but" type=reset value="UNDO CHANGES" style="width:150px"><br><br>';
382    
# Line 398  echo '</td><td valign=top>'; Line 396  echo '</td><td valign=top>';
396   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>';
397   if($state=='On')   if($state=='On')
398   {   {
399   echo '<u>IP:</u> '.$conn['ip'].'<br><br>';   echo '<u>IP:</u> '.$conn['ip'].'<br>';
400     if($conn['netboot'] == 1) echo '<u>Boot:</u> Netboot (PXE)<br>';
401     else echo '<u>Boot:</u> Local Disk<br>';
402     echo '<br>';
403   echo '<u>OS:</u> '.$alxos.'<br>';   echo '<u>OS:</u> '.$alxos.'<br>';
404   echo '<u>Utils:</u> '.$alxutils.'<br>';   echo '<u>Utils:</u> '.$alxutils.'<br>';
405   }   }
# Line 408  echo '</td><td valign=top>'; Line 409  echo '</td><td valign=top>';
409   if($state=='On')   if($state=='On')
410   {   {
411   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>';   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>';
412   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>';   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=shutdown\', \'ShutdownWin\', \'width=200,height=100\')"><br>';
  echo '<br>';  
  echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';  
  echo 'Hardware Detection:</b></div>';  
  echo '<input class="but" type=button value="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';  
  echo '<input class="but" type=button value="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';  
  echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';  
413   echo '<br>';   echo '<br>';
  echo '<input class="but" type=button value="PRN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=printer\',\'POST\');">';  
  echo '<input class="but" type=button value="HRDW" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=system\',\'POST\');">';  
  echo '<input class="but" type=button value="FS" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=rootfs\',\'POST\');">';  
  echo '<br><br>';  
414   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';   echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
415   echo 'Remote Shadow:</b></div>';   echo 'Remote Shadow:</b></div>';
416   echo '<input class="but" type=button value="VNC" style="width:75px" onclick="window.open(\'vncviewer.php?ip='.$conn['ip'].'\', \'VncViewer\', \'width=200,height=100\')">';   echo '<input class="but" type=button value="VNC" style="width:75px" onclick="window.open(\'vncviewer.php?ip='.$conn['ip'].'\', \'VncViewer\', \'width=200,height=100\')">';
417   echo '<input class="but" type=button value="SSH" style="width:75px" onclick="window.open(\'mindterm.php?ip='.$conn['ip'].'\', \'MindTerm\', \'width=200,height=100\')">';   echo '<input class="but" type=button value="SSH" style="width:75px" onclick="window.open(\'mindterm.php?ip='.$conn['ip'].'\', \'MindTerm\', \'width=200,height=100\')">';
  echo '<br><br>';  
  echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';  
  echo 'Client Update:</b></div>';  
  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>';  
  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>';  
  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>';  
418   }   }
419   else   else
420   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>';   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>';
421    
422   echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';   // print version info
423     $version = file_get_contents('.VERSION', FILE_USE_INCLUDE_PATH);
424     echo '<br><br><font size="1">v'.$version.'</font>';
425    
426  echo '</td></tr></table>';  echo '</td></tr></table>';
427  echo '</form>';  echo '</form>';

Legend:
Removed from v.7124  
changed lines
  Added in v.8553