From c86e82354cdafa9aaa785455505a2e8b0ce5fc73 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 30 Apr 2021 10:15:25 +0300 Subject: Check can_edit_reports and can_edit_bugs flags --- user/delete.php | 2 ++ user/login.php | 9 +++++++-- user/logout.php | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'user') diff --git a/user/delete.php b/user/delete.php index b46cdce..80740e7 100644 --- a/user/delete.php +++ b/user/delete.php @@ -13,6 +13,8 @@ if($query->execute()) { echo '

Account successfully deleted

'; unset($_SESSION['user_name']); unset($_SESSION['user_id']); + unset($_SESSION['user_can_edit_bugs']); + unset($_SESSION['user_can_edit_reports']); } else { echo '

Account deletion failed

'; } diff --git a/user/login.php b/user/login.php index a927d02..7a25d38 100644 --- a/user/login.php +++ b/user/login.php @@ -4,13 +4,18 @@ require_once(TEMPLATES_PATH . "/header.php"); session_start(); $conn = new PDO($config['db']['dsn'], $config['db']['username'], $config['db']['password']); -$query = "SELECT id, username, password FROM users WHERE username = '$_POST[username]'"; -$result = $conn->query($query)->fetch(); +$query = $conn->prepare("SELECT id, username, password, can_edit_bugs, can_edit_reports + FROM users WHERE username=:username"); +$query->bindParam(':username', $_POST['username']); +$query->execute(); +$result = $query->fetch(); if(password_verify($_POST['password'], $result['password'])) { echo 'password verified'; $_SESSION['user_name'] = $result['username']; $_SESSION['user_id'] = $result['id']; + $_SESSION['user_can_edit_bugs'] = $result['can_edit_bugs']; + $_SESSION['user_can_edit_reports'] = $result['can_edit_reports']; } else { echo 'wrong password'; } diff --git a/user/logout.php b/user/logout.php index 26bbfa0..319a43a 100644 --- a/user/logout.php +++ b/user/logout.php @@ -5,6 +5,8 @@ require_once(TEMPLATES_PATH . "/header.php"); session_start(); unset($_SESSION['user_name']); unset($_SESSION['user_id']); +unset($_SESSION['user_can_edit_bugs']); +unset($_SESSION['user_can_edit_reports']); echo 'Session cleared'; header("Refresh: 2; URL=$_SERVER[HTTP_REFERER]"); -- cgit v1.2.1