You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
5.7 KiB

<?php
class VisitorController {
function __construct()
{
global $rep,$vues;
//session_start();
$dVueEreur = array ();
try {
$action = $_REQUEST['action']??null;
switch($action) {
case NULL:
$this->Reinit();
break;
case "goHome":
$this->Reinit();
break;
case "signIn":
$this->Connection($dVueEreur);
break;
case "signUp":
$this->Inscription($dVueEreur);
break;
case "accessSignIn":
require($rep.$vues['signIn']);
break;
case "supprimerListe":
$this->DelList();
break;
case "modifierListe":
$this->UpdateList();
break;
case "ajouterTache":
$this->AddTask();
break;
case "supprimerTache":
$this->DelTask();
break;
case "modifierTache":
$this->UpdateTask();
break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['accueil']);
break;
}
}
catch (Exception $e){
}
}
public function Reinit(){
global $rep,$vues,$dataView,$styles;
$model = new MdlListe();
$dataView = $model->getPublicList();
require($rep.$vues['accueil']);
$dVueEreur= array();
}
public function Inscription(array $dVueEreur){
global $rep,$vues,$dataView;
$username=$_POST['username'];
$password=$_POST['password'];
$confirm=$_POST['passwordconf'];
$model = new MdlUser();
$dVueEreur=Validation::val_inscription($username,$password,$confirm,$dVueEreur);
if($model->existUser($username)){
$dVueEreur[]="Username already taken";
}
if(empty($dVueEreur)){
$hash= password_hash($password,PASSWORD_DEFAULT);
$model->singUp($username,$hash);
$dVueEreur= array();
}
else{
require($rep.$vues['signUp']);
}
$_REQUEST['action']=null;
$this->reinit();
}
public function Connexion(array $dVueEreur){
global $rep,$vues,$dataView;
$username=$_POST['login'];
$password=$_POST['mdp'];
$dVueEreur=Validation::val_connexion($username,$password,$dVueEreur);
if(!empty($dVueEreur)){
require($rep.$vues['signIn']);
}
$model= new MdlUser();
$model->insert("wesh", "wesh");
if($model->existUser($username)){
if(password_verify($password,$model->getPasswordHash($username))){
$model->connexion($username);
$_REQUEST['action']=null;
$this->reinit();
$dVueEreur= array();
}
else{
$dVueEreur =array('username'=>$username,'password'=>$password);
require($rep.$vues['signIn']);
}
}
else{
$dVueEreur =array('username'=>$usrname,'password'=>$pwd);
require($rep.$vues['signIn']);
}
}
function DelList($dVueEreur) {
global $rep, $vues;
$idListe=$_POST['liste'];
$name=$_POST['name'];
$private=$_POST['private'];
$model = new MdlListe();
$model->delete($idListe, $name, $private);
$_REQUEST['action']=null;
$this->reinit();
$dVueEreur= array();
}
function UpdateList($dVueEreur) {
global $rep, $vues;
$idListe=$_POST['liste'];
$name=$_POST['name'];
$private=$_POST['private'];
$model = new MdlListe();
$model->update($idListe, $name, $private);
$_REQUEST['action']=null;
$this->reinit();
$dVueEreur= array();
}
function AddTask($dVueEreur) {
global $rep,$vues,$dataView;
$nom=$_POST['name'];
$idListe=$_POST['liste'];
$content=$_POST['content'];
$completed=$_POST['completed'];
$dVueEreur = Validation::val_intitule($nom, $dVueEreur);
if(!empty($dVueEreur)){
require($rep.$vues['addTask']);
}
else{
$model = new MdlTache();
$model->insert($nom, $content, $completed, $idListe);
$_REQUEST['action']="accessListInfos";
$this->accessListInfos($dVueEreur);
$dVueEreur= array();
}
}
function accessListInfos($dVueEreur){
global $rep,$vues,$dataView;
$idListe=$_POST['liste'];
$model = new MdlListe();
$dataView = $model->findById($idListe);
require($rep.$vues['seeList']);
$dVueEreur= array();
}
function DelTask($dVueEreur) {
global $rep,$vues,$dataView;
$idTache=$_POST['tache'];
$model= new MdlTache();
$model->delete($idTache);
$_REQUEST['action']="accessListInfos";
$this->accessListInfos($dVueEreur);
$dVueEreur= array();
}
function UpdateTask($dVueEreur) {
global $rep,$vues,$dataView;
$idTache=$_POST['tache'];
$name=$_POST['name'];
$content=$_POST['content'];
$completed=$_POST['completed'];
$model = new MdlTache();
$model->update($idTache, $name, $content, $completed);
$_REQUEST['action']="accessListInfos";
$this->accessListInfos($dVueEreur);
$dVueEreur= array();
}
}
?>