Magellan Linux

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

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

revision 7120 by niro, Fri Sep 11 15:16:23 2015 UTC revision 8009 by niro, Wed Dec 16 16:13:05 2015 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', 'cfg_plugins');  $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_modules', 'cfg_other_menuitems', 'cfg_screensaver', 'client_version');
10  $multi= array( 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1);  $multi= array( 0, 0, 0, 0, 1, 0, 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'] = array('', 'managed', 'ad-hoc', 'master', 'repeater', 'secondary', 'monitor', 'auto');
86  $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');  $drop['wireless_auth_mode'] = array('', 'wep', 'wpa', 'wpa2', 'off');
87  $drop['wireless_key_length'] = array('', '64', '128', '256');  $drop['wireless_key_length'] = array('', '64', '128', '256');
# Line 90  $drop['wireless_frequency'] = array('', Line 91  $drop['wireless_frequency'] = array('',
91  $drop['wireless_key'] = 'password';  $drop['wireless_key'] = 'password';
92  $drop['wireless_key_ascii'] = 'password';  $drop['wireless_key_ascii'] = 'password';
93    
94  // plugin support  // get current citrix apps
95  for ($i=0; $i<999; $i++) { $drop['cfg_plugins_'.$i.'_plugin'] = 'pluginconfig'; }  $citrix_apps = sqlarr('SELECT session FROM values_citrix_session where enabled=1', '', 'session');
96  for ($i=0; $i<999; $i++)  // add an empty value add the first position of the array as session-default
97  {  array_unshift($citrix_apps, "");
98   $drop['cfg_plugins_'.$i.'_plugin_array'] = sqlarr('SELECT plugin FROM avail_plugins', '', 'plugin');  // hackish, fix me
99   array_unshift($drop['cfg_plugins_'.$i.'_plugin_array'], "");  for ($i=0; $i<999; $i++) { $drop['cfg_sessions_citrix_'.$i.'_session'] = $citrix_apps; }
100  }  
101    // get current storefront apps
102    $storefront_apps = sqlarr('SELECT session FROM values_storefront_session where enabled=1', '', 'session');
103    // 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  // get current citrix sessions  // GGF. NEUEN DATENSATZ EINFÃœGEN
 // split all citrix server into an array to get the first server from list  
 $citrix_query_browser = split(";", $citrix_browseradrs);  
 exec($wwwroot.'/pnabrowse-wrapper -A '.$citrix_query_browser[0], $returned_citrix_sessions, $retval);  
 if ($retval == 0)  
 {  
  $citrix_public_applications = str_replace("'", "", $returned_citrix_sessions);  
  // add an empty value add the first position of the array as session-default  
  array_unshift($citrix_public_applications, "");  
  for ($i=0; $i<999; $i++) { $drop['cfg_sessions_'.$i.'_session'] = $citrix_public_applications; }  
 }  
   
 // 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=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));   else if($what=='MENUITEM') sqladd('cfg_other_menuitems', array('serial'=>$id));
122   else if($what=='PLUGIN') sqladd('cfg_plugins', array('serial'=>$id));   else if($what=='AUTOSTART') sqladd('cfg_autostart', array('serial'=>$id));
123  }  }
124    
125    
# Line 133  if($_POST['do_upl']) Line 133  if($_POST['do_upl'])
133    
134   $arr = array();   $arr = array();
135   foreach($_POST as $k=>$v)   foreach($_POST as $k=>$v)
136     {
137   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))   if((substr($k,0,$prelen)==$prefix) && ($v!='KEEPPASS'))
138   $arr[substr($k,$prelen)] = stripslashes($v);   $arr[substr($k,$prelen)] = stripslashes($v);
139     }
140    
141   return $arr;   return $arr;
142   }   }
# Line 174  function openabs($heading, $helpfile='') Line 176  function openabs($heading, $helpfile='')
176  {  {
177   global $absnames;   global $absnames;
178   $absnames[] = $heading;   $absnames[] = $heading;
179    
180   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>   // <AufZuLink> <Bild/> <Heading/> </AufZuLink><BR/> <Absatz>
181    
182   if( $_SESSION['openclose'][$heading] )   if( $_SESSION['openclose'][$heading] )
183   {   {
184   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>';
185   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';   if($helpfile!='') echo ' <a href="JavaScript:showhelp(\''.$helpfile.'\')" title="HELP">[?]</a>';
186   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';   echo '<br><div id="sch_absatz_'.$heading.'" style="top:0px; visibility:visible">';
187   }   }
188   else   else
189   {   {
# Line 194  function openabs($heading, $helpfile='') Line 196  function openabs($heading, $helpfile='')
196  function closeabs()  function closeabs()
197  {  {
198   // </Absatz> <BR/>   // </Absatz> <BR/>
   
199   echo '</div><br>';   echo '</div><br>';
200  }  }
201    
202    // ANZEIGEN
 // ANZEIGEN  
203    
204  function parsearr($name, $arr, $del=false, $wireless=false)  function parsearr($name, $arr, $del=false, $wireless=false)
205  {  {
# Line 214  function parsearr($name, $arr, $del=fals Line 214  function parsearr($name, $arr, $del=fals
214   foreach($arr as $k=>$v)   foreach($arr as $k=>$v)
215   {   {
216   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;   if( (substr($k,0,9)=='wireless_') xor $wireless ) Continue;
217    
218   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];   $d = $drop[$name.'_'.$k]; if($d==null) $d = $drop[$k];
219   $k = str_replace('wireless_', '', $k);   $k = str_replace('wireless_', '', $k);
220   $k2 = $k;   $k2 = $k;
# Line 231  function parsearr($name, $arr, $del=fals Line 231  function parsearr($name, $arr, $del=fals
231   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>';
232   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>';
233   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>';   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>';
  else if($d=='pluginconfig')  
  {  
  $dplugin = $drop[$name.'_'.$k.'_array']; if($dplugin==null) $dplugin = $drop[$k];  
  if(is_array($dplugin))  
  {  
  echo '<tr><td class="key">'.$k2.'</td><td>= <select style="width:144px" name="'.$name.'_'.$k.'">';  
  foreach($dplugin as $di) if($v==$di) echo '<option selected>'.$di; else echo '<option>'.$di;  
  echo '</select></td></tr>';  
  }  
  // $v contains the pluginname, get the configure flag  
  $pflag = sqlfirst('SELECT configflag FROM avail_plugins WHERE plugin="'.$v.'"');  
  if ($pflag[configflag]==1) echo '<tr><td class="key">configure</td><td>= <input type=button style="width:24px" onclick="window.open(\'plugin.php?id='.$id.'&plugin='.$v.'\', \'PluginWin\', \'width=500,height=400\')" value="..."></td>';  
  }  
234   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>';   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>';
235   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>';   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>';
236   else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';   else if($d=='show') echo '<tr><td class="key">'.$k2.'</td><td>= <b>'.$v.'</b></td></tr>';
# Line 285  function parsearrs($name, $arr) Line 272  function parsearrs($name, $arr)
272   var $url = url.split("?");   var $url = url.split("?");
273   $.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); }});
274   }   }
  function plugin(name,id) { window.open('plugin.php?plugin='+name+'&id='+id, '', 'width=350,height=180'); }  
275    
276  /* ignore this atm, not always working, sometime open does not work  /* 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;
# Line 301  function parsearrs($name, $arr) Line 287  function parsearrs($name, $arr)
287   }   }
288  */  */
289   function openclose(nummer, act)   function openclose(nummer, act)
290   {   {
291   var bild = document.images['sch_bild_'+nummer];   var bild = document.images['sch_bild_'+nummer];
292   var absatz = document.all['sch_absatz_'+nummer].style;   var absatz = document.all['sch_absatz_'+nummer].style;
293   var senden = false;   var senden = false;
294    
295   if(bild.title == 'OPEN')   if(bild.title == 'OPEN')
296   {   {
297   if(act<=1)   if(act<=1)
# Line 330  function parsearrs($name, $arr) Line 316  function parsearrs($name, $arr)
316   act = 2;   act = 2;
317   }   }
318   }   }
   
319   if(senden) sendopenclose(nummer,act);   if(senden) sendopenclose(nummer,act);
320   }   }
321    
# Line 377  echo '</td><td valign=top>'; Line 362  echo '</td><td valign=top>';
362   $state = 'Off';   $state = 'Off';
363   if(count($conn)>0)   if(count($conn)>0)
364   {   {
365   if($retval==0) $state = 'On';   if($retval==0)
366     {
367     // first try mcore, then get ssh
368     $ping_retval = ping_host($conn['ip'],$mcore_port,$ping_timeout);
369     if($ping_retval==1) $ping_retval = ping_host($dat['ip'],$ssh_port,$ping_timeout);
370     if($ping_retval==0)
371     {
372     $state = 'On';
373     }
374     }
375   }   }
376    
377   echo '<img src="pics/logo2.jpg"><br><br>';   echo '<img src="pics/logo2.jpg"><br><br>';
378    
379   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>';
380    
381   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>';
382   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>';
383   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>';
384   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>';
385   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 MODULE" style="width:150px"><br>';
386   if($alxos >= '0.6.0')   echo '<input class="but" type=submit name="do_add" value="ADD MENUITEM" style="width:150px"><br>';
387   {   echo '<input class="but" type=submit name="do_add" value="ADD AUTOSTART" style="width:150px"><br>';
  echo '<input class="but" type=submit name="do_add" value="INSTALL PLUGIN" style="width:150px"><br>';  
  }  
388   echo '<br>';   echo '<br>';
389    
390   if($id>0) $KILLCAP='DEACTIVATE'; else $KILLCAP='ACTIVATE';   $clientstatus = sqlfirst('SELECT * FROM client_serials WHERE serial='.$id);
391   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';
392     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>';
393   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>';
394   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>';
395    
# Line 416  echo '</td><td valign=top>'; Line 409  echo '</td><td valign=top>';
409   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>';
410   if($state=='On')   if($state=='On')
411   {   {
412   echo '<u>IP:</u> '.$conn['ip'].'<br><br>';   echo '<u>IP:</u> '.$conn['ip'].'<br>';
413     if($conn['netboot'] == 1) echo '<u>Boot:</u> Netboot (PXE)<br>';
414     else echo '<u>Boot:</u> Local Disk<br>';
415     echo '<br>';
416   echo '<u>OS:</u> '.$alxos.'<br>';   echo '<u>OS:</u> '.$alxos.'<br>';
417   echo '<u>Utils:</u> '.$alxutils.'<br>';   echo '<u>Utils:</u> '.$alxutils.'<br>';
418   }   }
# Line 426  echo '</td><td valign=top>'; Line 422  echo '</td><td valign=top>';
422   if($state=='On')   if($state=='On')
423   {   {
424   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>';
425   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>';
426   echo '<br>';   echo '<br>';
427   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>';
428   echo 'Hardware Detection:</b></div>';  // echo 'Hardware Detection:</b></div>';
429   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="LAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=lan\',\'POST\');">';
430   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="WLAN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=wlan\',\'POST\');">';
431   echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';  // echo '<input class="but" type=button value="VGA" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=vga\',\'POST\');">';
432   echo '<br>';  // echo '<br>';
433   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="PRN" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=printer\',\'POST\');">';
434   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="HRDW" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=system\',\'POST\');">';
435   echo '<input class="but" type=button value="FS" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=rootfs\',\'POST\');">';  // echo '<input class="but" type=button value="FS" style="width:50px" onclick="javascript:urlopen(\'include/hwinfo.php?ip='.$conn['ip'].'&cmd=rootfs\',\'POST\');">';
436   echo '<br><br>';  // echo '<br><br>';
437   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>';
438   echo 'Remote Shadow:</b></div>';   echo 'Remote Shadow:</b></div>';
439   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\')">';
440   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\')">';
441   echo '<br><br>';  // echo '<br><br>';
442   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>';
443   echo 'Client Update:</b></div>';  // echo 'Client Update:</b></div>';
444   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>';
445   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>';
446   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>';
447   }   }
448   else   else
449   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>';
450    
451   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>';
452    
453  echo '</td></tr></table>';  echo '</td></tr></table>';
454  echo '</form>';  echo '</form>';

Legend:
Removed from v.7120  
changed lines
  Added in v.8009