53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 	error_reporting(E_ALL ^ E_NOTICE);
 | |
| 
 | |
| 	include_once('../include/lucidAuth.functions.php');
 | |
| 
 | |
| 	if (!empty($_COOKIE['JWT'])) {
 | |
| 		$validateTokenResult = validateToken($_COOKIE['JWT']);
 | |
| 	}
 | |
| 
 | |
| 	if ($validateTokenResult['status'] === "Success") {
 | |
| 		include_once('../include/lucidAuth.template.php');
 | |
| 
 | |
|         try {
 | |
|         	$allUsers = $pdoDB->query('
 | |
|                 SELECT User.Id, User.Username, Role.Rolename, COUNT(DISTINCT SecureToken.Value) AS Sessions
 | |
| 		        FROM User
 | |
|     		    LEFT JOIN Role
 | |
| 	    		    ON (User.RoleId=Role.Id)
 | |
|                 LEFT JOIN SecureToken
 | |
|                     ON (User.Id=SecureToken.UserId)
 | |
|     	    ')->fetchAll(PDO::FETCH_ASSOC);
 | |
|         } catch (Exception $e) {
 | |
| // Should really do some actual errorhandling here
 | |
|             throw new Exception($e);
 | |
|         }
 | |
| 
 | |
|     	foreach($allUsers as $row) {
 | |
|             $tableRows[] = sprintf('<tr><td data-userid="%1$s">%2$s</td><td>%3$s</td><td class="immutable"><a href="?">%4$s</a></td></tr>',
 | |
|                 $row['Id'],
 | |
|                 explode('\\', $row['Username'])[1],
 | |
|                 $row['Rolename'],
 | |
|                 $row['Sessions']
 | |
|             );
 | |
|     	}
 | |
| 
 | |
|         echo sprintf($pageLayout['full2'],
 | |
|             sprintf($contentLayout['manage']['header'],
 | |
|                 $validateTokenResult['name']
 | |
|             ),
 | |
|             sprintf($contentLayout['manage']['section'],
 | |
|                 implode($tableRows)
 | |
|             )
 | |
|         );
 | |
| 	} else {
 | |
| 		// No cookie containing valid authentication token found;
 | |
| 		//   explicitly deleting any remaining cookie, then redirecting to loginpage
 | |
| 		setcookie('JWT', FALSE);
 | |
| 
 | |
| 		header("HTTP/1.1 401 Unauthorized");
 | |
| 		header("Location: lucidAuth.login.php");
 | |
| 	}
 | |
| 
 | |
| ?>
 |