fichier = $fichier . $action . ".php"; if (substr($controleur, 0, 2) == "Tb") { $this->nomvue = substr($controleur, 0, 7); } else if (substr($controleur, 0, 2) == "Rq") { $this->nomvue = "Execution"; } else { $this->nomvue = $controleur; } $this->datejour = date("Y-m-d"); $this->datejourfr = date("d/m/Y"); $this->heuresysteme = date("Y-m-d H:i:s"); $this->heuresystemefr = date("d/m/Y H:i:s"); // Ajout du 06/04/2019 require_once 'Localisation.php'; } public function generer($donnees) { // Ajout du 26/10/2024 => déconnecter si session expirée $_SESSION['derniere_action'] = time(); $contenu = $this->genererFichier($this->fichier, $donnees); $racineWeb = Configuration::get("racineWeb", "/"); $_SESSION['racineWeb'] = $racineWeb; if (!isset($_SESSION['menu'])) { $vue = $this->genererFichier('Vue/portail.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb)); } else { $menus = $_SESSION['menu']; $menusvue = $_SESSION['menu'.$this->nomvue]; $vue = $this->genererFichier('Vue/gabarit.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb, 'menus' => $menus, 'nomvue' => $this->nomvue, 'menusvue' => $menusvue, 'datejour' => $this->datejour, 'heuresysteme' => $this->heuresysteme)); } echo $vue; } public function genererAjaxgabarit($donnees) { $contenu = $this->genererFichier($this->fichier, $donnees); $racineWeb = Configuration::get("racineWeb", "/"); $_SESSION['racineWeb'] = $racineWeb; if (!isset($_SESSION['menu'])) { $vue = $this->genererFichier('Vue/portail.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb)); } else { $menus = $_SESSION['menu']; $menusvue = $_SESSION['menu'.$this->nomvue]; $vue = $this->genererFichier('Vue/gabarit.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb, 'menus' => $menus, 'nomvue' => $this->nomvue, 'menusvue' => $menusvue, 'datejour' => $this->datejour, 'heuresysteme' => $this->heuresysteme)); } echo $vue; } public function genererAjax($donnees) { $vue = $this->genererFichier($this->fichier, $donnees); echo $vue; } private function genererFichier($fichier, $donnees) { if (file_exists($fichier)) { extract($donnees); ob_start(); require $fichier; return ob_get_clean(); } else { throw new Exception("Fichier '$fichier' introuvable"); } } private function nettoyer($valeur) { if (!isset($valeur)) { $valeur = ''; } return htmlspecialchars($valeur, ENT_QUOTES, 'UTF-8', false); } private function nettoyertrue($valeur) { if (!isset($valeur)) { $valeur = ''; } return htmlspecialchars($valeur, ENT_QUOTES, 'UTF-8', true); } private function echapper($valeur) { if (!isset($valeur)) { $valeur = ''; } return addslashes($valeur); } private function dechapper($valeur) { if (!isset($valeur)) { $valeur = ''; } return stripslashes($valeur); } /** * Fonction de fin de session et deconnexion automatique * @param $duree */ private function dureesession($duree, $racine){ // Le delais est est atteint if(isset($_SESSION['derniere_action']) && (time() - $_SESSION['derniere_action']) > $duree){ //subtract new timestamp from the old one unset($_SESSION['derniere_action']); header('Location: '.$racine.'Connexion/deconnecter'); } else { $_SESSION['derniere_action'] = time(); //set new timestamp } } }