diff --git a/Project/php/controller/Controleur.php b/Project/php/controller/ControleurTmp.php old mode 100755 new mode 100644 similarity index 96% rename from Project/php/controller/Controleur.php rename to Project/php/controller/ControleurTmp.php index 25f0889..06532d2 --- a/Project/php/controller/Controleur.php +++ b/Project/php/controller/ControleurTmp.php @@ -1,81 +1,81 @@ -Reinit(); - break; - - case 'validationFormulaire': - $this->ValidationFormulaire($dVueEreur); - break; - - //mauvaise action - default: - $dVueEreur[] = "Erreur d'appel php"; - echo $twig->render('vuephp1.html', ['dVueEreur' => $dVueEreur]); - break; - } - } catch (\PDOException $e) { - //si erreur BD, pas le cas ici - $dVueEreur[] = 'Erreur inattendue!!! '; - } catch (\Exception $e2) { - $dVueEreur[] = 'Erreur inattendue!!! '; - echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]); - } - - //fin - exit(0); - }//fin constructeur - - public function Reinit() - { - global $twig; // nécessaire pour utiliser variables globales - - $dVue = [ - 'nom' => '', - 'age' => 0, - ]; - echo $twig->render('vuephp1.html', [ - 'dVue' => $dVue - ]); - } - - public function ValidationFormulaire(array $dVueEreur) - { - global $twig; // nécessaire pour utiliser variables globales - - //si exception, ca remonte !!! - $nom = $_POST['txtNom']; // txtNom = nom du champ texte dans le formulaire - $age = $_POST['txtAge']; - \config\Validation::val_form($nom, $age, $dVueEreur); - - $model = new \modeles\Simplemodel(); - $data = $model->get_data(); - - $dVue = [ - 'nom' => $nom, - 'age' => $age, - 'data' => $data, - ]; - - echo $twig->render('vuephp1.html', ['dVue' => $dVue, 'dVueEreur' => $dVueEreur]); - } -}//fin class +Reinit(); + break; + + case 'validationFormulaire': + $this->ValidationFormulaire($dVueEreur); + break; + + //mauvaise action + default: + $dVueEreur[] = "Erreur d'appel php"; + echo $twig->render('vuephp1.html', ['dVueEreur' => $dVueEreur]); + break; + } + } catch (\PDOException $e) { + //si erreur BD, pas le cas ici + $dVueEreur[] = 'Erreur inattendue!!! '; + } catch (\Exception $e2) { + $dVueEreur[] = 'Erreur inattendue!!! '; + echo $twig->render('erreur.html', ['dVueEreur' => $dVueEreur]); + } + + //fin + exit(0); + }//fin constructeur + + public function Reinit() + { + global $twig; // nécessaire pour utiliser variables globales + + $dVue = [ + 'nom' => '', + 'age' => 0, + ]; + echo $twig->render('vuephp1.html', [ + 'dVue' => $dVue + ]); + } + + public function ValidationFormulaire(array $dVueEreur) + { + global $twig; // nécessaire pour utiliser variables globales + + //si exception, ca remonte !!! + $nom = $_POST['txtNom']; // txtNom = nom du champ texte dans le formulaire + $age = $_POST['txtAge']; + \config\Validation::val_form($nom, $age, $dVueEreur); + + $model = new \modeles\Simplemodel(); + $data = $model->get_data(); + + $dVue = [ + 'nom' => $nom, + 'age' => $age, + 'data' => $data, + ]; + + echo $twig->render('vuephp1.html', ['dVue' => $dVue, 'dVueEreur' => $dVueEreur]); + } +}//fin class diff --git a/Project/php/gateway/UserGateway.php b/Project/php/gateway/UserGateway.php index 28a3297..05782ca 100755 --- a/Project/php/gateway/UserGateway.php +++ b/Project/php/gateway/UserGateway.php @@ -1,6 +1,11 @@ con = $con; } + private function getRoles(int $id): array { + try { + $query = "SELECT r.name FROM Be b, Role_ r WHERE b.userID=:id AND b.roleID=r.id"; + $args = array(':id' => array($id, PDO::PARAM_INT)); + $this->con->executeQuery($query, $args); + $results = $this->con->getResults(); + $tab = array(); + foreach ($results as $row) $tab[] = $row['name']; + return $tab; + } + catch (PDOException $e) { + throw new Exception($e->getMessage()); + } + } + public function findAllUsers() : array{ try { - $query = "SELECT * FROM User_"; - $this->con->executeQuery($query, array()); + $this->con->executeQuery("SELECT * FROM User_"); $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']); + $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 ){ @@ -34,7 +53,7 @@ class UserGateway $args = array(':id' => array($id, PDO::PARAM_INT)); $this->con->executeQuery($query, $args); $results = $this->con->getResults(); - return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID']); + return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID'], $this->getRoles($results[0]['id'])); } catch(PDOException $e ){ throw new Exception($e->getMessage()); @@ -47,7 +66,7 @@ class UserGateway $args = array(':email' => array($email, PDO::PARAM_STR)); $this->con->executeQuery($query, $args); $results = $this->con->getResults(); - return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID']); + return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID'], $this->getRoles($results[0]['id'])); } catch(PDOException $e ){ throw new Exception($e->getMessage()); @@ -62,7 +81,7 @@ class UserGateway $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']); + $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 ){ @@ -76,7 +95,7 @@ class UserGateway $args = array(':surname' => array($surname, PDO::PARAM_STR)); $this->con->executeQuery($query, $args); $results = $this->con->getResults(); - return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID']); + return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID'], $this->getRoles($results[0]['id'])); } catch(PDOException $e ){ throw new Exception($e->getMessage()); @@ -89,7 +108,7 @@ class UserGateway $args = array(':email' => array($login, PDO::PARAM_STR), ':password' => array($password, PDO::PARAM_STR)); $this->con->executeQuery($query, $args); $results = $this->con->getResults(); - return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID']);; + return new User($results[0]['id'], $results[0]['password'], $results[0]['email'], $results[0]['name'], $results[0]['surname'], $results[0]['nickname'], $results[0]['image'], $results[0]['extraTime'], $results[0]['groupID'], $this->getRoles($results[0]['id'])); } catch(PDOException $e ){ throw new Exception($e->getMessage()); @@ -104,7 +123,7 @@ class UserGateway $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']); + $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 ){ diff --git a/Project/php/index.php b/Project/php/index.php index b450007..5a4bb8c 100755 --- a/Project/php/index.php +++ b/Project/php/index.php @@ -4,12 +4,9 @@ require_once __DIR__ . '/config/config.php'; require __DIR__ . '/vendor/autoload.php'; -use model\User; -use model\Teacher; -use model\Vocabulary; -use model\Student; -use model\Group; -use controleur\Controleur; + +use gateway\UserGateway; +use config\Connection; //twig $loader = new \Twig\Loader\FilesystemLoader('templates'); @@ -17,4 +14,8 @@ $twig = new \Twig\Environment($loader, [ 'cache' => false, ]); -$cont = new Controleur(); \ No newline at end of file +$gtw = new UserGateway(new Connection($dsn, $login, $password)); + +$results = $gtw->findAllUsers(); + +foreach ($results as $user) var_dump($user->getRoles()); \ No newline at end of file