From 829d1212688de635af7a325e0db13d55372c189e Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Thu, 24 Oct 2024 18:03:57 +0200 Subject: [PATCH] add roles --- tpCrudTwig/src/Role.php | 86 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/tpCrudTwig/src/Role.php b/tpCrudTwig/src/Role.php index e69de29..cb99c51 100644 --- a/tpCrudTwig/src/Role.php +++ b/tpCrudTwig/src/Role.php @@ -0,0 +1,86 @@ +id = $table['id']; + $this->name = $table['name']; + } +} + +function AddRole(string $name): void +{ + global $db; + + ConnectDataBase(); + + $sql = "INSERT INTO `roles` (`name`) VALUES (:name);"; + $query = $db->prepare($sql); + $query->bindValue(':name', $name, PDO::PARAM_STR); + $query->execute(); + + CloseDataBase(); +} + +function GetRole(int $id): Role +{ + global $db; + + ConnectDataBase(); + + $sql = "SELECT * FROM `roles` WHERE `id`=:id;"; + $query = $db->prepare($sql); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->execute(); + $result = $query->fetch(); + + CloseDataBase(); + + if (empty($result)) + return null; + + return new Role($result); +} + +function GetRoles(): array +{ + global $db; + + ConnectDataBase(); + + $sql = 'SELECT * FROM `roles`'; + $query = $db->prepare($sql); + $query->execute(); + $result = $query->fetchAll(PDO::FETCH_ASSOC); + + CloseDataBase(); + + $roles = array(); + + foreach ($result as $role) { + array_push($roles, new User($role)); + } + + return $roles; +} + +function UpdateRole(Role $role): void +{ + global $db; + + ConnectDataBase(); + + $sql = "UPDATE `roles` SET `name`=:name WHERE `id`=:id;"; + $query = $db->prepare($sql); + $query->bindValue(':login', $role->name, PDO::PARAM_STR); + $query->bindValue(':id', $role->id, PDO::PARAM_INT); + $query->execute(); + + CloseDataBase(); +}