<?php require dirname(__DIR__).'/app/core.php';require_roles(['admin']);if($_SERVER['REQUEST_METHOD']==='POST'){csrf();$hash=password_hash($_POST['password'],PASSWORD_DEFAULT);$pdo->prepare('INSERT INTO users(username,display_name,email_address,password_hash,role) VALUES(?,?,?,?,?)')->execute([$_POST['username'],$_POST['display_name'],$_POST['email'],$hash,$_POST['role']]);audit('administration','USER_CREATED');flash('User created.');go('admin-users.php');}$rows=$pdo->query('SELECT id,username,display_name,email_address,role,active,last_login_at FROM users ORDER BY username')->fetchAll();$title='Users';require dirname(__DIR__).'/views/head.php';?><h1>Users</h1><div class="wrap"><table><tr><th>Username</th><th>Name</th><th>Email</th><th>Role</th><th>Active</th><th>Last Login</th></tr><?php foreach($rows as $x):?><tr><td><?=e($x['username'])?></td><td><?=e($x['display_name'])?></td><td><?=e($x['email_address'])?></td><td><?=e($x['role'])?></td><td><?=$x['active']?></td><td><?=e($x['last_login_at'])?></td></tr><?php endforeach;?></table></div><section class="panel"><h2>Create user</h2><form method="post"><input type="hidden" name="csrf" value="<?=e(token())?>"><input name="username" placeholder="Username" required><input name="display_name" placeholder="Display name" required><input type="email" name="email" placeholder="Email" required><input type="password" name="password" minlength="12" placeholder="Temporary password" required><select name="role"><option>admin</option><option>standard</option><option>viewer</option></select><button>Create</button></form></section><?php require dirname(__DIR__).'/views/foot.php';?>