thchazot1 2 years ago
commit d89303c348

@ -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="";
} }
} }
} }

@ -1,17 +1,20 @@
<?php <?php
$rep = __DIR__ . '/../';
$rep=__DIR__.'/../'; //$location = "Location : http://londres.uca.local/" Finir le chemin du public_html
$base="votre_base";
$base=""; //nom bdd
$login=""; $login="";
$mdp=""; $password="";
$dsn=""; // chemin vers bd (mysql:host=londres.uca.local;dbname=dblibreton => pour l'iut)
$vues['erreur']='Vues/erreur.php'; $vues['erreur'] = 'Vues/erreur.php';
$vues['accueil']='Vues/accueil.php'; $vues['addList'] = 'Vues/addList.php';
$vues['signUp']='Vues/signUp.php'; $vues['addTask'] = 'Vues/addTask.php';
$vues['addList']='Vues/addList.php'; $vues['accueil'] = 'Vues/accueil.php';
$vues['addTask']='Vues/addTask.php'; $vues['accueilPrivate'] = 'Vues/accueilPrive.php';
$vues['accueilPrive']='Vues/accueilPrive.php'; $vues['connexion'] = 'Vues/connexion.php';
?> ?>

@ -0,0 +1,30 @@
<?php
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,10 +5,10 @@ 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);
$dVueEreur = array (); $dVueEreur = array ();
try { try {
@ -18,10 +18,6 @@ class userController {
$this->Reinit(); $this->Reinit();
break; break;
case "validationFormulaire":
$this->ValidationFormulaire($dVueEreur);
break;
case "delete": case "delete":
$this->Delete(); $this->Delete();
break; break;
@ -30,39 +26,47 @@ 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;
case "modifierTacheU":
$this->UpdateTask();
break;
case "viewPrivateList":
$this->PrivateList();
break; break;
default: default:
$dVueEreur[] = "Erreur d'appel php"; $dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['vuephp1']); //Appel de vue à changer require ($rep.$vues['accueil']);
break; break;
} }
} }
catch (PDOException $e){ catch (PDOException $e){
$dVueEreur[] = "Erreur BDD"; $dVueEreur[] = "Erreur BDD";
require ($rep.$vues['erreur']); //Appel de vue à changer require ($rep.$vues['erreur']);
} }
catch (Exception $e2){ catch (Exception $e2){
$dVueEreur[] = "Erreur innatendue"; $dVueEreur[] = "Erreur innatendue";
require ($rep.$vues['erreur']); //Appel de vue à changer require ($rep.$vues['erreur']);
} }
exit(0); exit(0);
} }
@ -73,7 +77,7 @@ class userController {
'username' => "", 'username' => "",
'password' => "", 'password' => "",
); );
require ($rep.$vues['accueil']); //Appel de vue à changer require ($rep.$vues['accueil']);
} }
@ -89,41 +93,66 @@ class userController {
'username' => $username, 'username' => $username,
'password' => $mdp, 'password' => $mdp,
); );
require ($rep.$vues['vuephp']); // CHANGER APPEL VUE require ($rep.$vues['accueil']);
} }
function Inscription($username, $mdp){
$results = $this->$mdlUsr->insert($username, $mdp);
if($results != NULL) {
$_SESSION['username'] = $username;
$user = $this->$mdlUsr->getUserForConnection($username, $mdp);
require ($rep.$vues['AccueilLogin']); //Appel de vue à changer (vues des listes pour user connecté)
return login ($rep.$vues['erreur : username existe déjà']); //Appel de vue à changer (soit retour sur inscription, soit erreur)
}
}
function Delete() { function Delete() {
if(isset($_SESSION['username'])) { if(isset($_SESSION['username'])) {
$results = $this->$mdlUsr->delete(); //A compléter avec bons arguments $results = $this->$mdlUsr->delete(); //A compléter avec bons arguments
session_unset(); session_unset();
session_destroy(); session_destroy();
require ($rep.$vues['AccueilLogin']); //Appel de vue à changer require ($rep.$vues['accueil']);
} }
} }
function Update() { function Update() {
if(isset($_SESSION['username'])) { if(isset($_SESSION['username'])) {
$results = $this->$mdlUsr->update(); //Ajouter arguments $results = $this->$mdlUsr->update(); //Ajouter arguments
require ($rep.$vues['Accueil']); //Appel de vue à changer require ($rep.$vues['accueil']);
} }
} }
function AddList() { function AddList() {
if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->addList($user); //changer arguments
require ($rep.$vues['addTask']);
}
}
function DelList() {
if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->delList($user); //aa
require ($rep.$vues['accueil']);
}
}
function UpdateList() {
if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->updateList($user); //changer arguments
require ($rep.$vues['...']); // Appel vue à changer
}
}
function AddTask() {
if(isset($_SESSION['username'])){ if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->addList($user); //changer arguments $results = $this->$mdlUsr->addList($user); //changer arguments
require ($rep.$vues['...']); // Appel vue à changer require ($rep.$vues['...']); // Appel vue à changer
} }
} }
function DelTask() {
if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->delTask($user); //aa
require ($rep.$vues['...']); // apegffo,
}
}
function UpdateTask() {
if(isset($_SESSION['username'])){
$results = $this->$mdlUsr->updateTask($user); //aa
require ($rep.$vues['.']); // apegffo,
}
}
} }

@ -17,14 +17,21 @@ class visitorController {
case NULL: case NULL:
$this->Reinit(); $this->Reinit();
break; break;
case "connexion": case "connexion":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Connexion($login, $mdp); $this->Connexion($login, $mdp);
break; break;
case "inscription": case "inscription":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Inscription($login, $mdp); $this->Inscription($login, $mdp);
break; break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['accueil']);
break;
} }
} }
catch (Exception $e){ catch (Exception $e){
@ -32,16 +39,52 @@ class visitorController {
} }
} }
function Reinit() {
global $rep,$vues;
$dVue = array (
'username' => "",
'password' => "",
);
require ($rep.$vues['accueil']);
}
function ValidationFormulaireLogin(array $dVueEreur){
global $rep, $vues;
$username = $_POST['username'];
$mdp = $_POST['password'];
Validation::val_form($username, $mdp, $dVueEreur);
$dVue = array (
'username' => $username,
'password' => $mdp,
);
require ($rep.$vues['accueil']); //
}
function Inscription($username, $mdp){
$results = $this->$mdlUsr->insert($username, $mdp);
if($results != NULL) {
$_SESSION['username'] = $username;
$user = $this->$mdlUsr->getUserForConnection($username, $mdp);
require ($rep.$vues['accueil']);
return login ($rep.$vues['connexion']);
}
}
function Connexion($username, $mdp){ function Connexion($username, $mdp){
$user = $this->$mdlUsr->getUserForConnection($username, $mdp); $user = $this->$mdlUsr->getUserForConnection($username, $mdp);
if($user != NULL) { if($user != NULL) {
$_SESSION['username'] = $username; $_SESSION['username'] = $username;
require ($rep.$vues['AccueilLogin']); //Appel de vue à changer (vues des listes pour user connecté) require ($rep.$vues['accueil']);
return $username; return $username;
} }
else { else {
require ($rep.$vues['erreur : username n\'existe pas']); //Appel de vue à changer (soit retour sur connexion, soit erreur) require ($rep.$vues['connexion']);
} }
} }
} }

Loading…
Cancel
Save