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.
ProjetPHP/controller/FrontCtrl.php

47 lines
1.8 KiB

<?php
require_once("config/config.php");
require("model/UserModel.php");
class FrontCtrl
{
private UserModel $usrMdl;
private $action_User;
private bool $isUser;
private $TabVues;
function __construct(&$con, $TabVues, $TMessage){
session_start();
$this->TMessage = $TMessage;
$this->TabVues = $TabVues;
$this->usrMdl = new UserModel($con, $this->TMessage);
$this->action_User = array('deconnecter', 'voirListePriv', 'creerListePriv', 'supprimerListePriv');
try{
$this->isUser = $this->usrMdl->isConnected();
$action = $_REQUEST['action'] ?? null;
if(($i = array_search($action,$this->action_User)) !== false){ # si action dans la liste d'actions user
if(!$this->isUser){ # si pas conncter
# appel controlleur visiteur avec action connecter
require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->TMessage, $this->isUser);
$visitCtrl->goconnexion();
} else { # sinon
# handle action avec controlleur user
require("UserCtrl.php");
$userCtrl = new UserCtrl($con, $this->TabVues, $this->TMessage);
}
} else { # sinon forcement action visiteur
# appel controlleur visiteur avec l'action
require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->TMessage, $this->isUser);
}
} catch (Exception $e){ // verifier si catch bon
$this->TMessage[] = $e->getMessage();
require($this->TabVues["erreur"]);
}
}
}
?>