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==""){
$dVueErreuR[] = "pas de username";
$username="";
if (!isset($chaine)||$chaine==""){
$dVueErreuR[] = "pas de chaine de charactère";
$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é)";
$username="";
}
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="";
$chaine="";
}
}
}

@ -1,17 +1,20 @@
<?php
$rep = __DIR__ . '/../';
$rep=__DIR__.'/../';
//$location = "Location : http://londres.uca.local/" Finir le chemin du public_html
$base="votre_base";
$base=""; //nom bdd
$login="";
$mdp="";
$password="";
$dsn=""; // chemin vers bd (mysql:host=londres.uca.local;dbname=dblibreton => pour l'iut)
$vues['erreur']='Vues/erreur.php';
$vues['accueil']='Vues/accueil.php';
$vues['signUp']='Vues/signUp.php';
$vues['addList']='Vues/addList.php';
$vues['addTask']='Vues/addTask.php';
$vues['accueilPrive']='Vues/accueilPrive.php';
$vues['erreur'] = 'Vues/erreur.php';
$vues['addList'] = 'Vues/addList.php';
$vues['addTask'] = 'Vues/addTask.php';
$vues['accueil'] = 'Vues/accueil.php';
$vues['accueilPrivate'] = '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;
$mdlUsr = new MdlUser();
$user = new User();
$user = $mdlUsr->getUserForConnection($username, $mdp);
session_start();
$this->ValidationFormulaire($dVueEreur);
$dVueEreur = array ();
try {
@ -18,10 +18,6 @@ class userController {
$this->Reinit();
break;
case "validationFormulaire":
$this->ValidationFormulaire($dVueEreur);
break;
case "delete":
$this->Delete();
break;
@ -30,39 +26,47 @@ class userController {
$this->Update();
break;
case "ajouterListe":
case "ajouterListeU":
$this->AddList();
break;
case "supprimerListe":
case "supprimerListeU":
$this->DelList();
break;
case "modifierListe":
case "modifierListeU":
$this->UpdateList();
break;
case "ajouterTache":
case "ajouterTacheU":
$this->AddTask();
break;
case "supprimerTache":
$this->delTask();
case "supprimerTacheU":
$this->DelTask();
break;
case "modifierTacheU":
$this->UpdateTask();
break;
case "viewPrivateList":
$this->PrivateList();
break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['vuephp1']); //Appel de vue à changer
require ($rep.$vues['accueil']);
break;
}
}
catch (PDOException $e){
$dVueEreur[] = "Erreur BDD";
require ($rep.$vues['erreur']); //Appel de vue à changer
require ($rep.$vues['erreur']);
}
catch (Exception $e2){
$dVueEreur[] = "Erreur innatendue";
require ($rep.$vues['erreur']); //Appel de vue à changer
require ($rep.$vues['erreur']);
}
exit(0);
}
@ -73,7 +77,7 @@ class userController {
'username' => "",
'password' => "",
);
require ($rep.$vues['accueil']); //Appel de vue à changer
require ($rep.$vues['accueil']);
}
@ -89,17 +93,7 @@ class userController {
'username' => $username,
'password' => $mdp,
);
require ($rep.$vues['vuephp']); // CHANGER APPEL VUE
}
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)
}
require ($rep.$vues['accueil']);
}
function Delete() {
@ -107,23 +101,58 @@ class userController {
$results = $this->$mdlUsr->delete(); //A compléter avec bons arguments
session_unset();
session_destroy();
require ($rep.$vues['AccueilLogin']); //Appel de vue à changer
require ($rep.$vues['accueil']);
}
}
function Update() {
if(isset($_SESSION['username'])) {
$results = $this->$mdlUsr->update(); //Ajouter arguments
require ($rep.$vues['Accueil']); //Appel de vue à changer
require ($rep.$vues['accueil']);
}
}
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'])){
$results = $this->$mdlUsr->addList($user); //changer arguments
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,
}
}
}

@ -19,12 +19,19 @@ class visitorController {
break;
case "connexion":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Connexion($login, $mdp);
break;
case "inscription":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Inscription($login, $mdp);
break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['accueil']);
break;
}
}
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){
$user = $this->$mdlUsr->getUserForConnection($username, $mdp);
if($user != NULL) {
$_SESSION['username'] = $username;
require ($rep.$vues['AccueilLogin']); //Appel de vue à changer (vues des listes pour user connecté)
require ($rep.$vues['accueil']);
return $username;
}
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