| 
<?phpinclude_once 'phppagestart.php';
 echo '<!DOCTYPE html>';
 //error_reporting( -1 );
 //ini_set( 'display_errors', 1 );
 include_once('lang.php');
 include_once('config.inc.php');
 // $destusr=$_GET['$to'];
 // $confirm=$_GET['confirm'];
 
 $now=time();
 if ((isset($_SESSION['username'])) && ($_SESSION['loggedin']=='yes') && (isset($_SESSION['password'])) && (isset($_SESSION['expire'])) && ($_SESSION['expire'] >= $now))
 {
 if (($_SESSION['expire'] - $now) <= $addtime)
 {
 $_SESSION['expire']=($_SESSION['expire'] + $buytime);
 }
 
 else
 {
 echo '';
 }
 }
 else
 {
 echo '';
 }
 ?>
 <html><head>
 
 
 <?php
 function GetUserpathFromUid($uid)
 {
 if (function_exists('posix_getpwuid'))
 {
 $a = posix_getpwuid($uid);
 return $a['dir'];
 }
 # This works on BSD but not with GNU
 elseif (strstr(php_uname('s'), 'BSD'))
 {
 exec('id -u ' . (int) $uid, $o, $r);
 
 if ($r == 0)
 return trim($o['0']);
 else
 return $uid;
 }
 elseif (is_readable('/etc/passwd'))
 {
 exec(sprintf('grep :%s: /etc/passwd | cut -d: -f1', (int) $uid), $o, $r);
 if ($r == 0)
 return trim($o['0']);
 else
 return $uid;
 }
 else
 return $uid;
 }
 
 
 
 
 function GetUsernameFromUid($uid)
 {
 if (function_exists('posix_getpwuid'))
 {
 $a = posix_getpwuid($uid);
 return $a['name'];
 }
 # This works on BSD but not with GNU
 elseif (strstr(php_uname('s'), 'BSD'))
 {
 exec('id -u ' . (int) $uid, $o, $r);
 
 if ($r == 0)
 return trim($o['0']);
 else
 return $uid;
 }
 elseif (is_readable('/etc/passwd'))
 {
 exec(sprintf('grep :%s: /etc/passwd | cut -d: -f1', (int) $uid), $o, $r);
 if ($r == 0)
 return trim($o['0']);
 else
 return $uid;
 }
 else
 return $uid;
 }
 
 if (is_numeric($_GET['touser']))
 {
 $source=$_SESSION["viewpath"];
 $destination= GetUserpathFromUid($_GET['touser']).$pamscansdir;
 $tousername= GetUsernameFromUid($_GET['touser']);
 //$destination=$touserpath;
 
 }
 
 else
 {
 if (file_exists($usersfilespath.$_GET['touser'].'.php'))
 {
 include_once($usersfilespath.$_GET['touser'].'.php');
 $source=$_SESSION["viewpath"];
 $destination=$root.$userpath;
 $tousername=$_GET['touser'];
 }
 }
 
 
 if ($_GET['confirm'] =='yes' )
 {
 echo '<meta HTTP-EQUIV="REFRESH" content="10; url=usermanager.php?rand='.$rand.'&user='.$_GET['fromuser'].'">';
 }
 
 else
 {
 echo '<meta HTTP-EQUIV="REFRESH" content="'.($_SESSION["expire"]-$now).' url=logout.php?sound=yes">';
 }
 ?>
 <meta charset="UTF-8">
 <meta name="author" content="root">
 <meta name="robots" content="noindex">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <title><?php echo $pagetitle; ?></title>
 <link rel="icon" href="/favicon.ico" type="image/x-icon" />
 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
 <link rel="stylesheet" href="/css/style.css" type="text/css" />
 
 
 
 
 </head><body>
 <table id='page_header'><tr><td>
 <a href='/airscan.php'>
 <img id='logo' src='/images/AirScan.png' alt='AirScan'>
 </a></td></tr>
 <tr><td><hr></td></tr>
 </table>
 
 
 
 
 
 
 
 
 
 
 <?php
 
 /*
 
 //https://stackoverflow.com/questions/2889995/how-to-make-php-lists-all-linux-users
 function getUsers() {
 $result = [];
 // @see http://php.net/manual/en/function.posix-getpwnam.php
 $keys = ['name', 'passwd', 'uid', 'gid', 'gecos', 'dir', 'shell'];
 $handle = fopen('/etc/passwd', 'r');
 if(!$handle){
 throw new \RuntimeException("failed to open /etc/passwd for reading! ".print_r(error_get_last(),true));
 }
 while ( ($values = fgetcsv($handle, 1000, ':')) !== false ) {
 $result[] = array_combine($keys, $values);
 }
 fclose($handle);
 return $result;
 }
 
 
 
 $pamusers= getUsers();
 $filtered = array_filter(
 $pamusers,
 function($a) use ($lowuid, $highuid) {
 return $a['uid'] >= $lowuid && $a['uid'] <= $highuid;
 }
 );
 $filtered_users = array_values($filtered);
 
 
 
 
 foreach(array_keys($filtered_users) as $key => $value) //Lists PAM users
 {
 
 //$${$filtered_users[$value]["name"]}=$filtered_users[$value]["name"];
 //$${'pampath'.$filtered_users[$value]["name"]}=$filtered_users[$value]["dir"].$pamscansdir;
 
 //$copyto.$$filtered_users[$value]['name'].'name'=$filtered_users[$value]['name'];
 //$copyto.$filtered_users[$value]['uid']=$filtered_users[$value]['uid'];
 //$copyto.$filtered_users[$value]['name']=$filtered_users[$value]['dir'].$pamscansdir;
 
 // if ($filtered_users[$value]["name"] != $_GET['fromuser'])
 // {
 echo $filtered_users[$value]["dir"];
 
 //}
 }
 */
 
 /*
 if (isnumeric($_GET['touser']))
 {*/
 
 
 
 
 ?>
 
 <?php
 //echo $_SESSION["viewpath"].' to '.$_SESSION['copytopath'];
 if (($_SESSION['loggedin'] == 'yes') && ($_SESSION['username'] == 'admin')&& ($_GET['fromuser'] != '*') && ($_GET['fromuser'] != NULL) && ($_GET['fromuser'] != 'admin') && ($_GET['fromuser'] != '') && ($_GET['fromuser'] != '/'))
 {
 /*
 echo "logged in as admin<br>";
 echo 'user ';
 echo $_GET['fromuser'];
 echo '<br/> Session username';
 echo $_SESSION['username'];
 echo '<br/> confirm ';
 echo $_GET['confirm'];
 */
 if ((isset($_GET['fromuser'])) && ($_GET['fromuser'] != NULL) && ($_GET['confirm'] !='yes' ))
 {
 echo '<br/><br/><br/><center><p><span style="color:#666; font-weight:bold">'.$startquestion.$suremovefiles.' '.$from.' '.$_GET['fromuser'].' '.$to.' '.$tousername.$endquestion.'</span></p>';
 echo '<table><tr><td>
 <form name="confirmdeleteuser" method="get" action="'.$_SERVER["PHP_SELF"].'">
 <input type="hidden" name="fromuser" value="'.$_GET['fromuser'].'">
 <input type="hidden" name="touser" value="'.$_GET['touser'].'">
 <input type="hidden" name="confirm" value="yes">
 <input type="submit" value="'.$confirm.'">
 </form>
 </td><td>      </td><td>
 <form name="canceleleteuser" method="post" action="usermanager.php?user='.$_GET['fromuser'].'&rand='.$rand.'">
 <input type="hidden" name="rand" value="'.$rand.'">
 <input type="submit" value="'.$cancel.'">
 </form>
 </td></tr></table></center>';
 //echo 'test1';
 }
 
 
 
 elseif (($_GET['fromuser'] == 'admin') && ($_GET['confirm'] =='yes' ))
 {
 //$_SESSION['copytopath'] = $filepath;  // this is default path in config
 //$destination=$touserpath;
 $source=$filepath;
 //echo $source.' to '.$destination;
 }
 
 
 elseif ((isset($source)) && (isset($destination)) && ($_GET['touser'] != NULL) && ($_GET['touser'] != '') && ($_GET['fromuser'] != '') && ($_GET['fromuser'] != NULL) && ($_GET['fromuser'] != 'admin') && ($_GET['confirm'] =='yes' )) //&& ($_GET['PAM'] != 'yes')
 {
 //if ($preferphpcommands == 'yes')
 //{
 $files = scandir($source);
 
 foreach ($files as $file)
 {
 if (in_array($file, array(".","..","index.php", "index.htm", "index.html"))) continue;
 // If we copied this successfully, mark it for deletion
 if (copy($source.$file, $destination.$file))
 {
 $delete[] = $source.$file;
 }
 }
 // Delete all successfully-copied files
 foreach ($delete as $file)
 {
 if (in_array($delete, array(".","..","index.php", "index.htm", "index.html"))) continue;
 unlink($file);
 }
 //}
 
 /*        else
 {
 $moveuserscans = 'cp '.$source.'. '.$destination;
 shell_exec($moveuserscans);
 }*/
 $chmod='chmod 777 '.$destination.'*';
 ob_flush();
 flush();
 shell_exec($chmod);
 echo '<br/><br/><center><span style="color:#666; font-weight:bold">'.$filemovesuccess.$_GET['fromuser'].' '.$to.' '.$tousername.'
 <br/> '.$from.' '.$source.' '.$to.' '.$destination.'</span></center>';
 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 else
 {
 echo "<br/><br/><center><span style='color:#666; font-weight:bold'>$sorrymustlogin</span></center>";
 }
 }
 else
 {
 echo "<br/><br/><center><span style='color:#666; font-weight:bold'>$sorrymustlogin</span></center>";
 }
 // echo $scansdelete;
 //echo $source.' to '.$destination;
 //echo '<br/>';
 //echo $usersfilespath.$_GET['touser'].'.php';
 //echo $userpath;
 //echo $moveuserscans;
 //echo '<br>';
 //echo $chmod;
 ?>
 </body></html>
 
 
 |