<?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
		        FROM User
	            LEFT JOIN Role
                    ON (Role.Id = User.RoleId)
    	    ')->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%1$s><td data-userid="%2$s">%3$s</td><td>%4$s</td><td class="immutable">%5$s</td></tr>',
                $validateTokenResult['uid'] === $row['Id'] ? ' class="currentuser"': null,
                $row['Id'],
                explode('\\', $row['Username'])[1],
                $row['Rolename'],
                '<button class="bttn-simple bttn-xs bttn-primary" data-translation="button_sessions">Sessions</button>' . ($validateTokenResult['uid'] === $row['Id'] ? null : '&nbsp;<button class="bttn-simple bttn-xs bttn-primary delete" data-translation="button_delete">Delete</button>')
            );
    	}

        echo sprintf($pageLayout['full_alt'],
            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");
	}

?>