Magellan Linux

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

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

revision 7121 by niro, Fri Sep 11 15:21:11 2015 UTC revision 8475 by niro, Tue Feb 2 13:16:11 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', 'cfg_scm_egk', '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, 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 79  $drop['screensaver'] = sqlarr('SELECT va Line 80  $drop['screensaver'] = sqlarr('SELECT va
80  $drop['client_version_os'] = 'show';  $drop['client_version_os'] = 'show';
81  $drop['client_version_utils'] = 'show';  $drop['client_version_utils'] = 'show';
82  $drop['hwdetected'] = 'ignore';  $drop['hwdetected'] = 'ignore';
83    $drop['cfg_scm_egk_facility'] = 'ignore';
84    
85  // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_  // ACHTUNG!!! wlan_-Felder heißen eigentlich wireless_
86  $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');  $drop['wireless_mode'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');
87  $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');  $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');
88  $drop['wireless_key_length'] = array('', '64', '128', '256');  $drop['wireless_key_length'] = array('', '64', '128', '256');
# Line 90  $drop['wireless_frequency'] = array('', Line 92  $drop['wireless_frequency'] = array('',
92  $drop['wireless_key'] = 'password';  $drop['wireless_key'] = 'password';
93  $drop['wireless_key_ascii'] = 'password';  $drop['wireless_key_ascii'] = 'password';
94    
95  // get current citrix sessions  // get current citrix apps
96  // 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');
97  $citrix_query_browser = split(";", $citrix_browseradrs);  // add an empty value add the first position of the array as session-default
98  exec($wwwroot.'/pnabrowse-wrapper -A '.$citrix_query_browser[0], $returned_citrix_sessions, $retval);  array_unshift($citrix_apps, "");
99  if ($retval == 0)  // hackish, fix me
100  {  for ($i=0; $i<999; $i++) { $drop['cfg_sessions_citrix_'.$i.'_session'] = $citrix_apps; }
101   $citrix_public_applications = str_replace("'", "", $returned_citrix_sessions);  
102   // add an empty value add the first position of the array as session-default  // get current storefront apps
103   array_unshift($citrix_public_applications, "");  $storefront_apps = sqlarr('SELECT session FROM values_storefront_session where enabled=1', '', 'session');
104   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
105  }  array_unshift($storefront_apps, "");
106    // hackish, fix me
107    for ($i=0; $i<999; $i++) { $drop['cfg_sessions_storefront_'.$i.'_session'] = $storefront_apps; }
108    
109    $drop['enabled'] = 'ignore';
110    $drop['filename'] = 'ignore';
111    $drop['autostart'] = array('0','1');
112    
113  // GGF. NEUEN DATENSATZ EINFÜGEN  // GGF. NEUEN DATENSATZ EINFÃœGEN
114  if(isset($_POST['do_add']))  if(isset($_POST['do_add']))
115  {  {
116   list($bla,$what) = explode(' ',$_POST['do_add']);   list($bla,$what) = explode(' ',$_POST['do_add']);
117   if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));   if($what=='COMMENT') sqladd('cfg_comments', array('serial'=>$id));
118   else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));   else if($what=='PRINTER') sqladd('cfg_printers', array('serial'=>$id));
119   else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));   else if($what=='MODULE') sqladd('cfg_modules', array('serial'=>$id));
120   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));
121     else if($what=='SESSION-STOREFRONT') sqladd('cfg_sessions_storefront', array('domain'=>$storefront_domain_name, 'store'=>$storefront_store, 'serial'=>$id));
122     else if($what=='SESSION-RDP') sqladd('cfg_sessions_rdesktop', array('domain'=>$rdesktop_domain_name, 'server'=>$rdesktop_server, 'serial'=>$id));
123   else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));   else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
124     else if($what=='AUTOSTART') sqladd('cfg_autostart', array('serial'=>$id));
125  }  }
126    
127    
# Line 124  if($_POST['do_upl']) Line 135  if($_POST['do_upl'])
135    
136   $arr = array();   $arr = array();
137   foreach($_POST as $k=>$v)   foreach($_POST as $k=>$v)
138     {
139   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
140   $arr[substr($k,$prelen)] = stripslashes($v);   $arr[substr($k,$prelen)] = stripslashes($v);
141     }
142    
143   return $arr;   return $arr;
144   }   }
# Line 165  function openabs($heading, $helpfile='') Line 178  function openabs($heading, $helpfile='')
178  {  {
179   global $absnames;   global $absnames;
180   $absnames[] = $heading;   $absnames[] = $heading;
181    
182   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
183    
184   if( $_SESSION['openclose'][$heading] )   if( $_SESSION['openclose'][$heading] )
185   {   {
186   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>';
187   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
188   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
189   }   }
190   else   else
191   {   {
# Line 185  function openabs($heading, $helpfile='') Line 198  function openabs($heading, $helpfile='')
198  function closeabs()  function closeabs()
199  {  {
200   // </Absatz> <BR/>   // </Absatz> <BR/>
   
201   echo '</div><br>';   echo '</div><br>';
202  }  }
203    
204    // ANZEIGEN
 // ANZEIGEN  
205    
206  function parsearr($name, $arr, $del=false, $wireless=false)  function parsearr($name, $arr, $del=false, $wireless=false)
207  {  {
# Line 205  function parsearr($name, $arr, $del=fals Line 216  function parsearr($name, $arr, $del=fals
216   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
217   {   {
218   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
219    
220   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
221   $k = str_replace('wireless_', '', $k);   $k = str_replace('wireless_', '', $k);
222   $k2 = $k;   $k2 = $k;
# Line 266  function parsearrs($name, $arr) Line 277  function parsearrs($name, $arr)
277    
278  /* ignore this atm, not always working, sometime open does not work  /* ignore this atm, not always working, sometime open does not work
279   function openclose(nummer, act)   function openclose(nummer, act)
280   {   {
281   var bild = document.images['sch_bild_'+nummer];   var bild = document.images['sch_bild_'+nummer];
282   var absatz = document.all['sch_absatz_'+nummer].style;   var absatz = document.all['sch_absatz_'+nummer].style;
283   var senden = false;   var senden = false;
# Line 278  function parsearrs($name, $arr) Line 289  function parsearrs($name, $arr)
289   }   }
290  */  */
291   function openclose(nummer, act)   function openclose(nummer, act)
292   {   {
293   var bild = document.images['sch_bild_'+nummer];   var bild = document.images['sch_bild_'+nummer];
294   var absatz = document.all['sch_absatz_'+nummer].style;   var absatz = document.all['sch_absatz_'+nummer].style;
295   var senden = false;   var senden = false;
296    
297   if(bild.title == 'OPEN')   if(bild.title == 'OPEN')
298   {   {
299   if(act<=1)   if(act<=1)
# Line 307  function parsearrs($name, $arr) Line 318  function parsearrs($name, $arr)
318   act = 2;   act = 2;
319   }   }
320   }   }
   
321   if(senden) sendopenclose(nummer,act);   if(senden) sendopenclose(nummer,act);
322   }   }
323    
# Line 354  echo '</td><td valign=top>'; Line 364  echo '</td><td valign=top>';
364   $state = 'Off';   $state = 'Off';
365   if(count($conn)>0)   if(count($conn)>0)
366   {   {
367   if($retval==0) $state = 'On';   if($retval==0)
368     {
369     // first try mcore, then get ssh
370     $ping_retval = ping_host($conn['ip'],$mcore_port,$ping_timeout);
371     if($ping_retval==1) $ping_retval = ping_host($dat['ip'],$ssh_port,$ping_timeout);
372     if($ping_retval==0)
373     {
374     $state = 'On';
375     }
376     }
377   }   }
378    
379   echo '<img src="pics/logo2.jpg"><br><br>';   echo '<img src="pics/logo2.jpg"><br><br>';
380    
381   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>';
382    
383   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>';
384   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>';
385   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>';
386   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>';
387   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>';
388     echo '<input class="but" type=submit name="do_add" value="ADD MODULE" style="width:150px"><br>';
389     echo '<input class="but" type=submit name="do_add" value="ADD MENUITEM" style="width:150px"><br>';
390     echo '<input class="but" type=submit name="do_add" value="ADD AUTOSTART" style="width:150px"><br>';
391   echo '<br>';   echo '<br>';
392    
393   if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';   $clientstatus = sqlfirst('SELECT * FROM client_serials WHERE serial='.$id);
394   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';
395     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>';
396   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>';
397   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>';
398    
# Line 389  echo '</td><td valign=top>'; Line 412  echo '</td><td valign=top>';
412   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>';
413   if($state=='On')   if($state=='On')
414   {   {
415   echo '<u>IP:</u> '.$conn['ip'].'<br><br>';   echo '<u>IP:</u> '.$conn['ip'].'<br>';
416     if($conn['netboot'] == 1) echo '<u>Boot:</u> Netboot (PXE)<br>';
417     else echo '<u>Boot:</u> Local Disk<br>';
418     echo '<br>';
419   echo '<u>OS:</u> '.$alxos.'<br>';   echo '<u>OS:</u> '.$alxos.'<br>';
420   echo '<u>Utils:</u> '.$alxutils.'<br>';   echo '<u>Utils:</u> '.$alxutils.'<br>';
421   }   }
# Line 399  echo '</td><td valign=top>'; Line 425  echo '</td><td valign=top>';
425   if($state=='On')   if($state=='On')
426   {   {
427   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>';
428   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\');">';  
429   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>';  
430   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>';
431    // echo 'Hardware Detection:</b></div>';
432    // echo '<input class="but" type=button value="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';
433    // echo '<input class="but" type=button value="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';
434    // echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';
435    // echo '<br>';
436    // echo '<input class="but" type=button value="PRN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=printer\',\'POST\');">';
437    // echo '<input class="but" type=button value="HRDW" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=system\',\'POST\');">';
438    // echo '<input class="but" type=button value="FS" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=rootfs\',\'POST\');">';
439    // echo '<br><br>';
440    // echo '<div style="border:solid black 1px; padding:5px; background-color:#d5e5ff" align="center"><b>';
441   echo 'Remote Shadow:</b></div>';   echo 'Remote Shadow:</b></div>';
442   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\')">';
443   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\')">';
444   echo '<br><br>';  // echo '<br><br>';
445   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>';
446   echo 'Client Update:</b></div>';  // echo 'Client Update:</b></div>';
447   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="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>';
448   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="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>';
449   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>';  // 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>';
450   }   }
451   else   else
452   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>';
453    
454   echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';  // echo '<br><center><a href="share/ChangeLog.html" target="_blank">[ChangeLog]</a> <a href="share/FAQ.html" target="_blank">[FAQs]</a></center>';
455    
456  echo '</td></tr></table>';  echo '</td></tr></table>';
457  echo '</form>';  echo '</form>';

Legend:
Removed from v.7121  
changed lines
  Added in v.8475