Normalement fin controllers mais doucement quand meme faut pas trop rever

main
Lilian BRETON 3 years ago
parent 8a76b7b64e
commit 8b5d7ccad0

@ -0,0 +1,33 @@
<?php
class Autoload{
private static ?Autoload $_instance = null;
public static function charger(){
if(self::$_instance != null){
throw new RuntimeException(sprintf("%s already start", __CLASS__));
}
self::$_instance = new self();
if(!spl_autoload_register(array(self::$_instance, '_autoload'))){
throw new RuntimeException('Could not stop autoload');
}
self::$_instance = null;
}
private static function _autoload($class){
global $rep;
$filename = $class.'.php';
$dir = array('modeles/', 'config', 'controllers');
foreach ($dir as $d){
$file=$rep.$d.$filename;
if($file_exists($file)){
include $file;
}
}
}
}
?>

@ -8,26 +8,16 @@ class Validation{
} }
} }
static function val_form(string &$username, string &$mdp, array &$dVueErreur){ static function val_form(string &$chaine, array &$dVueErreur){
if (!isset($username)||$username==""){ if (!isset($chaine)||$chaine==""){
$dVueErreuR[] = "pas de username"; $dVueErreuR[] = "pas de chaine de charactère";
$username=""; $chaine="";
} }
if (!$username != filter_var($username, FILTER_SANITIZE_STRING)){ if (!$chaine != filter_var($chaine, FILTER_SANITIZE_STRING)){
$dVueErreur[] = "tentative d'injection de code (attaque sécurité)"; $dVueErreur[] = "tentative d'injection de code (attaque sécurité)";
$username=""; $chaine="";
}
if (!isset($mdp)||$mdp==""){
$dVueErreuR[] = "pas de mot de passe";
$mdp="";
}
if (!$mdp != filter_var($mdp, FILTER_SANITIZE_STRING)){
$dVueErreur[] = "tentative d'injection de code (attaque sécurité)";
$mdp="";
} }
} }
} }

@ -0,0 +1,17 @@
<?php
$rep = __DIR__ . '/../';
//$location = "Location : http://londres.uca.local/" Finir le chemin du public_html
$base=""; //nom bdd
$login="";
$password="";
$dsn=""; // chemin vers bd (mysql:host=londres.uca.local;dbname=dblibreton => pour l'iut)
$vues['erreur'] = 'Vues/erreur.php'
// A faire pour toutes les vues
?>

@ -2,7 +2,29 @@
class frontController { class frontController {
function __construct() {
global $rep, $vues;
session_start();
$dVueErreur = array();
$listActionUser=array('delete', 'update', 'ajouterListeU', 'supprimerListeU', 'modifierListeU', 'ajouterTacheU', 'supprimerTacheU', 'modifierTacheU'); // actions à rajouter
try{
$user = new mdlUser();
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
Validation::val_form($action, $dVueErreur);
}
if(in_array($action, $listActionUser)) {
new userController();
}
else {
new visitorController();
}
}
catch (Exception $e){
$dVueErreur[] = "Erreur FrontController";
require $rep.$vues['erreur'];
}
}
} }
?> ?>

@ -5,7 +5,7 @@ class userController {
{ {
global $rep,$vues; global $rep,$vues;
$mdlUsr = new MdlUser(); $mdlUsr = new MdlUser();
$user = new User(); $user = $mdlUsr->getUserForConnection($username, $mdp);
session_start(); session_start();
$this->ValidationFormulaire($dVueEreur); $this->ValidationFormulaire($dVueEreur);
@ -26,27 +26,27 @@ class userController {
$this->Update(); $this->Update();
break; break;
case "ajouterListe": case "ajouterListeU":
$this->AddList(); $this->AddList();
break; break;
case "supprimerListe": case "supprimerListeU":
$this->DelList(); $this->DelList();
break; break;
case "modifierListe": case "modifierListeU":
$this->UpdateList(); $this->UpdateList();
break; break;
case "ajouterTache": case "ajouterTacheU":
$this->AddTask(); $this->AddTask();
break; break;
case "supprimerTache": case "supprimerTacheU":
$this->DelTask(); $this->DelTask();
break; break;
case "modifierTache": case "modifierTacheU":
$this->UpdateTask(); $this->UpdateTask();
break; break;

@ -27,6 +27,11 @@ class visitorController {
$this->ValidationFormulaireLogin($dVueEreur); $this->ValidationFormulaireLogin($dVueEreur);
$this->Inscription($login, $mdp); $this->Inscription($login, $mdp);
break; break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['vuephp1']); //Appel de vue à changer
break;
} }
} }
catch (Exception $e){ catch (Exception $e){

Loading…
Cancel
Save