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

44 lines
1.5 KiB

<?php
require("model/UserModel.php");
class FrontController
{
private UserModel $usrMdl;
private $action_User;
private bool $isUser;
function __construct(&$con){
session_start();
$this->usrMdl = new UserModel($con);
$this->action_User = array('deconnexion','loadListePriv','newListPrivate');
try{
$this->isUser = $this->usrMdl->isConnected(); // cette fonction retourne quoi?
if(isset($_REQUEST['action']))
$action = $_REQUEST['action'];
else
$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);
$visitCtrl->goconnexion();
} else { # sinon
# handle action avec controlleur user
require("UserCtrl.php");
$userCtrl = new UserCtrl();
}
} else { # sinon forcement action visiteur
# appel controlleur visiteur avec l'action
require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con,$this->isUser);
}
} catch (Exception $e){ // verifier si catch bon
require("../view/erreur.php");
}
}
}
?>