finition correction altorouteur

php
Renaud BEURET 1 year ago
parent a3a44e06d8
commit c8323d3f50

@ -6,5 +6,10 @@ $config = [
"db" => ["dsn" => 'pgsql:host=localhost;dbname=dbrebeuret', "db" => ["dsn" => 'pgsql:host=localhost;dbname=dbrebeuret',
"login" => 'rebeuret', "login" => 'rebeuret',
"mdp" => 'achanger'] "mdp" => 'achanger'],
"templates" => ["index" => 'vues/index.php',
"pseudo" => 'pseudo.html',
"jouer" => "jouer.html",
"pendu" => "pendu.html",
"penduScore" => 'penduScore.html']
]; ];

@ -32,17 +32,9 @@ class FrontController
$router = new AltoRouter(); $router = new AltoRouter();
$router->setBasePath($basePath); $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','/admin/[a:action]','AdminController');
$router->map('GET|POST','/[a:action]?','UserController');
$router->map('GET|POST', '/validationFormulaire', 'validationFormulaire');
$router->map('GET|POST', '/logout', 'disconnect');
// Tableau qui contient les messages d'erreur
$dVueErreur = [];
$dVue = [];
$dVue['basePath'] = $basePath;
session_start(); session_start();
@ -74,10 +66,6 @@ class FrontController
$this->callController('PseudoController',$match); $this->callController('PseudoController',$match);
break; break;
case 'validationFormulaire':
$this->ValidationFormulaire($dVueErreur, $dVue);
break;
//mauvaise action //mauvaise action
default: default:
$dVueErreur[] = "Erreur d'appel php"; $dVueErreur[] = "Erreur d'appel php";
@ -104,7 +92,7 @@ class FrontController
$controller = '\\controller\\'.$cont; $controller = '\\controller\\'.$cont;
$controller = new $controller; $controller = new $controller;
$action = $match['params']['action'] ?? 'accueil'; $action = $match['params']['action'] ?? 'defaultAction';
if (is_callable(array($controller,$action))) { if (is_callable(array($controller,$action))) {
call_user_func_array(array($controller,$action),array($match['params'])); 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')]); 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)
{
}
} }

@ -12,8 +12,9 @@ class JouerController{
*/ */
public function __construct(){ public function __construct(){
global $twig, $config; global $twig, $config;
$dVue = []; global $dVue;
$dVueErreur = []; global $dVueErreur;
global $basePath;
if(isset($_SESSION["configuration"]) && isset($_SESSION['role'])){ if(isset($_SESSION["configuration"]) && isset($_SESSION['role'])){
try{ try{
@ -22,7 +23,7 @@ class JouerController{
$configurationJeu = $_SESSION['configuration']; $configurationJeu = $_SESSION['configuration'];
$configurationJeu = Validation::valConfigurationJeu($configurationJeu, $dVueErreur); $configurationJeu = Validation::valConfigurationJeu($configurationJeu, $dVueErreur);
}catch(ValidationException $e){ }catch(ValidationException $e){
header('Location: .'); header('Location: '.$basePath);
} }
if(count($dVueErreur) == 0){ if(count($dVueErreur) == 0){
@ -36,7 +37,7 @@ class JouerController{
} }
} }
}else{ }else{
header("Location: ."); header("Location: ".$basePath);
} }
} }
} }

@ -9,8 +9,9 @@ use model\MdlInvite;
class PseudoController{ class PseudoController{
public function __construct(){ public function defaultAction(){
global $twig, $config; global $twig, $config;
global $basePath;
$dVue = []; $dVue = [];
$dVueErreur = []; $dVueErreur = [];
@ -35,7 +36,7 @@ class PseudoController{
if(isset($role)){ if(isset($role)){
$_SESSION['role'] = $role; $_SESSION['role'] = $role;
header('Location: jouer'); header('Location: '.$basePath.'/jouer');
} }
} }
echo $twig->render($config['templates']['pseudo'], ["dVue" => $dVue, "dVueErreur" => $dVueErreur]); echo $twig->render($config['templates']['pseudo'], ["dVue" => $dVue, "dVueErreur" => $dVueErreur]);

@ -4,6 +4,7 @@ namespace controller;
use config\Validation; use config\Validation;
use Exception; use Exception;
use model\ConfigurationJeu;
use model\Connection; use model\Connection;
use model\GameGateway; use model\GameGateway;
use model\MdlDifficulte; use model\MdlDifficulte;
@ -12,7 +13,7 @@ use model\ValidationException;
class UserController { class UserController {
public function accueil(array $params) { public function defaultAction(array $params) {
global $twig; global $twig;
echo $twig->render('accueil.html'); echo $twig->render('accueil.html');
@ -81,4 +82,31 @@ class UserController {
echo $twig->render('create.html', ["dVueErreur" => $dVueErreur, 'dVueCreate' => ["jeux" => $dVueCreateJeu, "difficultes" => $dVueCreateDifficulte]]); 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);
}
}
} }

@ -12,8 +12,12 @@
'cache' => false, 'cache' => false,
]); ]);
$dVueErreur = array();
$basePath = preg_replace('/\/index.php/i', '', $_SERVER['PHP_SELF']); $basePath = preg_replace('/\/index.php/i', '', $_SERVER['PHP_SELF']);
// Tableau qui contient les messages d'erreur
$dVueErreur = [];
$dVue = [];
$dVue['basePath'] = $basePath;
$cont = new FrontController(); $cont = new FrontController();
Loading…
Cancel
Save