157 lines
4.1 KiB
PHP
Executable File
157 lines
4.1 KiB
PHP
Executable File
<?php
|
|
require_once 'Session.php';
|
|
require_once 'Configuration.php';
|
|
require_once 'Functions.php';
|
|
|
|
class Vue
|
|
{
|
|
private $fichier;
|
|
private $titre;
|
|
private $nomvue;
|
|
private $datejour;
|
|
private $datejourfr;
|
|
private $heuresysteme;
|
|
private $heuresystemefr;
|
|
|
|
public function __construct($action, $controleur = "")
|
|
{
|
|
$fichier = "Vue/";
|
|
if ($controleur != "") {
|
|
$fichier = $fichier . $controleur . "/";
|
|
}
|
|
$this->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
|
|
}
|
|
}
|
|
|
|
}
|
|
|