diff --git a/.idea/deployment.xml b/.idea/deployment.xml old mode 100644 new mode 100755 diff --git a/project/src/config/config.php b/project/src/config/config.php index cd6acdd..4194993 100755 --- a/project/src/config/config.php +++ b/project/src/config/config.php @@ -6,5 +6,10 @@ $config = [ "db" => ["dsn" => 'pgsql:host=localhost;dbname=dbrebeuret', "login" => 'rebeuret', - "mdp" => 'achanger'] + "mdp" => 'achanger'], + "templates" => ["index" => 'vues/index.php', + "pseudo" => 'pseudo.html', + "jouer" => "jouer.html", + "pendu" => "pendu.html", + "penduScore" => 'penduScore.html'] ]; \ No newline at end of file diff --git a/project/src/controller/FrontController.php b/project/src/controller/FrontController.php index 959e608..1b6b1f1 100755 --- a/project/src/controller/FrontController.php +++ b/project/src/controller/FrontController.php @@ -32,17 +32,9 @@ class FrontController $router = new AltoRouter(); $router->setBasePath($basePath); - $router->map('GET|POST','/[a:action]?','UserController'); + $router->map('GET|POST','/pseudo/[a:action]?','PseudoController'); $router->map('GET|POST','/admin/[a:action]','AdminController'); - - $router->map('GET|POST', '/validationFormulaire', 'validationFormulaire'); - $router->map('GET|POST', '/logout', 'disconnect'); - - - // Tableau qui contient les messages d'erreur - $dVueErreur = []; - $dVue = []; - $dVue['basePath'] = $basePath; + $router->map('GET|POST','/[a:action]?','UserController'); session_start(); @@ -74,10 +66,6 @@ class FrontController $this->callController('PseudoController',$match); break; - case 'validationFormulaire': - $this->ValidationFormulaire($dVueErreur, $dVue); - break; - //mauvaise action default: $dVueErreur[] = "Erreur d'appel php"; @@ -104,7 +92,7 @@ class FrontController $controller = '\\controller\\'.$cont; $controller = new $controller; - $action = $match['params']['action'] ?? 'accueil'; + $action = $match['params']['action'] ?? 'defaultAction'; if (is_callable(array($controller,$action))) { call_user_func_array(array($controller,$action),array($match['params'])); @@ -112,32 +100,4 @@ class FrontController echo $twig->render('erreur.html', ['dVueErreur' => array('Page inconnue')]); } } - - public function ValidationFormulaire(array &$dVueErreur, array &$dVue) - { - global $twig; - - $id_jeu = $_POST['jeu'] ?? ''; - $id_difficulte = $_POST['difficulte'] ?? ''; - try{ - Validation::val_form($id_jeu, $id_difficulte, $dVueErreur); - }catch (ValidationException|Exception $ex){ - $this->CreateParty($dVueErreur); - } - - if(count($dVueErreur) == 0){ - $jeu = (new MdlJeu())->getFromId($id_jeu); - $difficulte = (new MdlDifficulte())->getFromId($id_difficulte); - $_SESSION['configuration'] = new ConfigurationJeu($jeu, $difficulte); - - header("Location: /pseudo"); - #echo $twig->render('accueil.html', ['dVue' => $dVue, 'dVueErreur' => $dVueErreur]); - }else{ - $this->CreateParty($dVueErreur); - } - } - - private function CreateParty(array $dVueErreur) - { - } } diff --git a/project/src/controller/JouerController.php b/project/src/controller/JouerController.php old mode 100644 new mode 100755 index bb55cb2..22922f3 --- a/project/src/controller/JouerController.php +++ b/project/src/controller/JouerController.php @@ -12,8 +12,9 @@ class JouerController{ */ public function __construct(){ global $twig, $config; - $dVue = []; - $dVueErreur = []; + global $dVue; + global $dVueErreur; + global $basePath; if(isset($_SESSION["configuration"]) && isset($_SESSION['role'])){ try{ @@ -22,7 +23,7 @@ class JouerController{ $configurationJeu = $_SESSION['configuration']; $configurationJeu = Validation::valConfigurationJeu($configurationJeu, $dVueErreur); }catch(ValidationException $e){ - header('Location: .'); + header('Location: '.$basePath); } if(count($dVueErreur) == 0){ @@ -36,7 +37,7 @@ class JouerController{ } } }else{ - header("Location: ."); + header("Location: ".$basePath); } } } \ No newline at end of file diff --git a/project/src/controller/PseudoController.php b/project/src/controller/PseudoController.php index 9b3c4cf..2b8c68f 100755 --- a/project/src/controller/PseudoController.php +++ b/project/src/controller/PseudoController.php @@ -9,8 +9,9 @@ use model\MdlInvite; class PseudoController{ - public function __construct(){ + public function defaultAction(){ global $twig, $config; + global $basePath; $dVue = []; $dVueErreur = []; @@ -35,7 +36,7 @@ class PseudoController{ if(isset($role)){ $_SESSION['role'] = $role; - header('Location: jouer'); + header('Location: '.$basePath.'/jouer'); } } echo $twig->render($config['templates']['pseudo'], ["dVue" => $dVue, "dVueErreur" => $dVueErreur]); diff --git a/project/src/controller/UserController.php b/project/src/controller/UserController.php index a5ec0e4..f98983c 100755 --- a/project/src/controller/UserController.php +++ b/project/src/controller/UserController.php @@ -4,6 +4,7 @@ namespace controller; use config\Validation; use Exception; +use model\ConfigurationJeu; use model\Connection; use model\GameGateway; use model\MdlDifficulte; @@ -12,7 +13,7 @@ use model\ValidationException; class UserController { - public function accueil(array $params) { + public function defaultAction(array $params) { global $twig; echo $twig->render('accueil.html'); @@ -81,4 +82,31 @@ class UserController { echo $twig->render('create.html', ["dVueErreur" => $dVueErreur, 'dVueCreate' => ["jeux" => $dVueCreateJeu, "difficultes" => $dVueCreateDifficulte]]); } + + public function ValidationFormulaire(array $params) + { + global $twig; + global $dVue; + global $dVueErreur; + global $basePath; + + $id_jeu = $_POST['jeu'] ?? ''; + $id_difficulte = $_POST['difficulte'] ?? ''; + try{ + Validation::val_form($id_jeu, $id_difficulte, $dVueErreur); + }catch (ValidationException|Exception $ex){ + $this->CreateParty($dVueErreur); + } + + if(count($dVueErreur) == 0){ + $jeu = (new MdlJeu())->getFromId($id_jeu); + $difficulte = (new MdlDifficulte())->getFromId($id_difficulte); + $_SESSION['configuration'] = new ConfigurationJeu($jeu, $difficulte); + + header("Location: ".$basePath."/pseudo"); + #echo $twig->render('accueil.html', ['dVue' => $dVue, 'dVueErreur' => $dVueErreur]); + }else{ + $this->CreateParty($dVueErreur); + } + } } \ No newline at end of file diff --git a/project/src/index.php b/project/src/index.php index 06d9e3c..f88cb65 100755 --- a/project/src/index.php +++ b/project/src/index.php @@ -12,8 +12,12 @@ 'cache' => false, ]); - $dVueErreur = array(); $basePath = preg_replace('/\/index.php/i', '', $_SERVER['PHP_SELF']); + // Tableau qui contient les messages d'erreur + $dVueErreur = []; + $dVue = []; + $dVue['basePath'] = $basePath; + $cont = new FrontController(); \ No newline at end of file