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.

162 lines
4.6 KiB

<?php
class UserController {
function __construct()
{
global $rep,$vues;
$dVueEreur = array ();
try {
$action = $_REQUEST['action'];
switch($action) {
case "delete":
$this->Delete();
break;
case "update":
$this->Update();
break;
case "deconnection":
$this->deconnection($dVueEreur);
break;
case "accessAddListPrivee":
require($rep.$vues['addList']);
break;
case "accessModifyListPriv":
$mdlListe= new MdlListe();
$liste=$mdlListe->findById($_POST['list']);
$dataView=$liste[0];
require($rep.$vues['modifyListPriv']);
break;
case "addPrivateList":
$this->AddListPrivate($dVueEreur);
break;
case "modifyPrivateList":
$this->ModifyListPriv($dVueEreur);
break;
case "viewPrivateList":
$this->PrivateList($dVueEreur);
break;
default:
$dVueEreur[] = "Erreur d'appel php";
require ($rep.$vues['accueil']);
break;
}
}
catch (PDOException $e){
$dVueEreur[] = "Erreur BDD";
require ($rep.$vues['erreur']);
}
catch (Exception $e2){
$dVueEreur[] = "Erreur innatendue";
require ($rep.$vues['erreur']);
}
exit(0);
}
function Delete() {
if(isset($_SESSION['username'])) {
$results = $this->$mdlUsr->delete(); //A compléter avec bons arguments
session_unset();
session_destroy();
require ($rep.$vues['accueil']);
}
}
function Update() {
if(isset($_SESSION['username'])) {
$results = $this->$mdlUsr->update(); //Ajouter arguments
require ($rep.$vues['accueil']);
}
}
function AddListPrivate($dVueEreur) {
global $rep, $vues, $dataView;
$name=$_POST['name'];
Validation::val_intitule($name, $dVueEreur);
try {
$mdlUsr = new MdlUser();
$mdlListe = new MdlListe();
if(!isset($_POST['private']))
{
$private = false;
} else {
$private = $_POST['private'];
}
$dVueEreur = Validation::val_intitule($name, $dVueEreur);
if(!empty($dVueEreur)){
require($rep.$vues['modifyTask']);
}
else{
$list=[];
$user=$mdlUsr->findByName($_SESSION['login']);
$list[]=$mdlListe->insert($name, $private, $user);
$dataView=$list;
require($rep.$vues['seeList']);
}
}
catch (PDOException $e) {
$dataView[]="Erreur inatendue";
require($rep.$vues['erreur']);
}
}
function PrivateList($dVueEreur){
global $rep, $vues, $dataView;
$mdlUsr = new MdlUser();
$model = new MdlListe();
$user=$mdlUsr->findByName($_SESSION['login']);
$dataView = $model->findByUser($user);
require($rep.$vues['accueilPrivate']);
}
function deconnection($dVueEreur){
global $rep, $vues;
$model = new MdlUser();
$retour = $model->deconnection();
$_REQUEST['action']=null;
$control= new VisitorController();
$dVueEreur = array();
}
function ModifyListPriv($dVueEreur){
global $rep,$vues,$dataView;
$list=$_POST['list'];
$name=$_POST['name'];
$model = new MdlListe();
$mdlUsr = new MdlUser();
if(!isset($_POST['private'])){
$private = false;
}
else{
$private = $_POST['private'];
}
$dVueEreur = Validation::val_intitule($name, $dVueEreur);
if(!empty($dVueEreur)){
require($rep.$vues['modifyTask']);
}
else{
$list=$model->findById($_POST['list']);
$model->update($list[0], $name, $private);
$user=$mdlUsr->findByName($_SESSION['login']);
$dataView = $model->findByUser($user);
$dVueEreur= array();
require($rep.$vues['accueilPrivate']);
}
}
}
?>