Lucie GOIGOUX 1 year ago
commit e748f6b732

@ -1,8 +1,7 @@
<?php
namespace controleur;
namespace controller;
use config\Connection;
use model\MdlAdmin;
use model\UserGateway;
@ -11,22 +10,30 @@ class AdminController
public function __construct()
{
global $twig;
$mdl = new MdlAdmin(new UserGateway(new Connection($dsn, $login, $password)));
session_start();
$actionList = ['addUser', 'removeUser', 'addGroup', 'removeGroup', 'showGroups', 'findUser'];
$actionList = ['showUsers', 'removeUser', 'addGroup', 'removeGroup', 'showGroups'];
$dVueEreur = [];
try {
$action = $_REQUEST['action'] ?? null;
switch($action) {
case 'showAllUsers':
case null:
$this->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]);
}
}

@ -1,6 +1,6 @@
<?php
namespace model;
namespace controller;
class FrontController
{

@ -5,6 +5,7 @@ use config\Connection;
use model\User;
use PDO;
use PDOException;
use Exception;
class UserGateway extends AbsGateway
{
@ -75,6 +76,48 @@ class UserGateway extends AbsGateway
}
}
public function findAllAdmins(): array {
try {
$this->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 {

@ -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();

@ -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();
}
}
Loading…
Cancel
Save