diff --git a/Project/php/controller/AdminController.php b/Project/php/controller/AdminController.php index 1547662..ee9731d 100755 --- a/Project/php/controller/AdminController.php +++ b/Project/php/controller/AdminController.php @@ -1,8 +1,7 @@ Reinit(); + $this->showAllUsers(); break; - case 'addUser': - $mdl->addUser(); + case 'showAllAdmins': + $this->showAllAdmins(); + break; + + case 'showAllTeachers': + $this->showAllTeachers(); + break; + + case 'showAllStudents': + $this->showAllStudents(); break; default: @@ -44,7 +51,7 @@ class AdminController exit(0); } - public function Reinit() + /*public function Reinit() { global $twig; @@ -55,5 +62,33 @@ class AdminController echo $twig->render('vuephp1.html', [ 'dVue' => $dVue ]); + }*/ + + public function showAllUsers(): void { + global $twig; + $model = new MdlAdmin(); + $users = $model->showAllUsers(); + echo $twig->render('usersView.html', ['users' => $users]); + } + + public function showAllAdmins(): void { + global $twig; + $model = new MdlAdmin(); + $users = $model->showAllAdmins(); + echo $twig->render('usersView.html', ['users' => $users]); + } + + public function showAllTeachers(): void { + global $twig; + $model = new MdlAdmin(); + $users = $model->showAllTeachers(); + echo $twig->render('usersView.html', ['users' => $users]); + } + + public function showAllStudents(): void { + global $twig; + $model = new MdlAdmin(); + $users = $model->showAllStudents(); + echo $twig->render('usersView.html', ['users' => $users]); } } diff --git a/Project/php/controller/ControleurTmp.php b/Project/php/controller/ControleurTmp.php old mode 100644 new mode 100755 diff --git a/Project/php/controller/FrontController.php b/Project/php/controller/FrontController.php index 5004af7..5dcf7bf 100755 --- a/Project/php/controller/FrontController.php +++ b/Project/php/controller/FrontController.php @@ -1,6 +1,6 @@ con->executeQuery("SELECT u.* FROM User_ u, Be b WHERE u.id=b.userID AND b.roleID=1 "); + $results = $this->con->getResults(); + $tab = array(); + foreach ($results as $row) + $tab[] = new User($row['id'], $row['password'], $row['email'], $row['name'], $row['surname'], $row['nickname'], $row['image'], $row['extraTime'], $row['groupID'], $this->getRoles($row['id'])); + return $tab; + } + catch(PDOException $e ){ + throw new Exception($e->getMessage()); + } + } + + public function findAllTeachers(): array { + try { + $this->con->executeQuery("SELECT u.* FROM User_ u, Be b WHERE u.id=b.userID AND b.roleID=2"); + $results = $this->con->getResults(); + $tab = array(); + foreach ($results as $row) + $tab[] = new User($row['id'], $row['password'], $row['email'], $row['name'], $row['surname'], $row['nickname'], $row['image'], $row['extraTime'], $row['groupID'], $this->getRoles($row['id'])); + return $tab; + } + catch(PDOException $e ){ + throw new Exception($e->getMessage()); + } + } + + public function findAllStudents(): array { + try { + $this->con->executeQuery("SELECT u.* FROM User_ u, Be b WHERE u.id=b.userID AND b.roleID=3"); + $results = $this->con->getResults(); + $tab = array(); + foreach ($results as $row) + $tab[] = new User($row['id'], $row['password'], $row['email'], $row['name'], $row['surname'], $row['nickname'], $row['image'], $row['extraTime'], $row['groupID'], $this->getRoles($row['id'])); + return $tab; + } + catch(PDOException $e ){ + throw new Exception($e->getMessage()); + } + } + public function findById(int $id) { try { diff --git a/Project/php/model/AbsModel.php b/Project/php/model/AbsModel.php old mode 100644 new mode 100755 index e2d8739..f735a11 --- a/Project/php/model/AbsModel.php +++ b/Project/php/model/AbsModel.php @@ -2,28 +2,26 @@ namespace model; +use config\Connection; use gateway\UserGateway; class AbsModel { - protected UserGateway $gtw; private string $role; /** - * @param UserGateway $gtw * @param string $role */ - public function __construct(UserGateway $gtw, string $role) + public function __construct(string $role) { - $this->gtw = $gtw; $this->role = $role; } public function connection($login, $password){ $cleanedLogin = strip_tags($login); $cleanedPassword = strip_tags($password); - - $student = $this->gtw->findUserByLoginPassword($cleanedLogin, $cleanedPassword); + $gtw = new UserGateway(new Connection($dsn, $login, $password)); + $student = $gtw->findUserByLoginPassword($cleanedLogin, $cleanedPassword); if ($student) { session_start(); diff --git a/Project/php/model/MdlAdmin.php b/Project/php/model/MdlAdmin.php index 06c4801..9b5b4b3 100755 --- a/Project/php/model/MdlAdmin.php +++ b/Project/php/model/MdlAdmin.php @@ -2,19 +2,17 @@ namespace model; +use config\Connection; use gateway\UserGateway; class MdlAdmin extends AbsModel { - /** - * @param UserGateway $userGtw - */ - public function __construct(UserGateway $userGtw) + public function __construct() { - parent::__construct($userGtw, "admin"); + parent::__construct("admin"); } - public function isAdmin(){ + /*public function isAdmin(){ if( isset ($_SESSION['login'])){ $login = strip_tags($_SESSION['login']); $user = $this->gtw->findUserByEmail($login); @@ -22,9 +20,25 @@ class MdlAdmin extends AbsModel else return null; } else return null; + }*/ + + public function showAllUsers(): array { + $gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger')); + return $gtw->findAll(); + } + + public function showAllAdmins(): array { + $gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger')); + return $gtw->findAllAdmins(); } - public function addUser(string $password, string $email, string $name, string $surname, string $nickname, string $image, bool $extraTime, int $group, array $roles){ + public function showAllTeachers(): array { + $gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger')); + return $gtw->findAllTeachers(); + } + public function showAllStudents(): array { + $gtw = new UserGateway(new Connection('mysql:host=localhost;dbname=dbanrichard7', 'anrichard7', 'achanger')); + return $gtw->findAllStudents(); } } \ No newline at end of file