J'avais ca
<?php
/*
Raz variables session gestion
*/
function raz_session(){
session_unregister('ACCES_SAV');
session_unregister('G_EMPLOYE');
session_unregister('R_EMPLOYE');
session_unregister('rubriques');
session_unregister('parties');
session_unregister('G_BLOQUER');
session_unregister('assistance');
}
?>
J'ai mis ca
<?php
/*
Raz variables session gestion
*/
function raz_session(){
unset('ACCES_SAV');
unset('G_EMPLOYE');
unset('R_EMPLOYE');
unset('rubriques');
unset('parties');
unset('G_BLOQUER');
unset('assistance');
}
?>
Pour session start il est bien au début du init.php appelé par l'index
init.php :
<?php
session_start();
/* Giorgio REGNI
* Fichier à include dans chaque page
*/
require ("engine/config.php");
require("../engine/email.php");
require("../engine/errors.php");
require('../engine/class.Time.php');
require("../engine/admin/utility_admin.php");
require("../engine/database.php");
require("../engine/user_management.php");
require("../engine/Smarty/Smarty.class.php");
require("../engine/admin/class.AUTOSQLForm.php");
require ("../engine/panier.php");
require ("../engine/client.php");
require("../engine/class.Commande.php");
require("../engine/calcul_cout_pointages.php");
require("../engine/class.Mois.php");
require("../engine/class.Session.php");
require("../engine/class.Service.php");
/**
* Récupération de l'état de l'assistance pour le cas de connexion à
* distance sans passer par la page d'accueil
*/
if( !$_SESSION["assistance"] );
{
$sql = new DB;
$sql->query("SELECT * FROM gestion");
$sql->next_object();
$_SESSION["assistance"] = $sql->object->assistance;
}
$decalage = 0;
$localtime = mktime()+$decalage;
$time_now = new Time();
$time_now->from_timestamp($localtime);
class MaSmarty extends Smarty {
function MaSmarty() {
global $path,$decalage,$url,$title,$_COMMANDE;
parent::Smarty();
/* Class Constructor. These automatically get set with each new
instance. */
$this->template_dir = concat_dirs($path,"templates");
$this->compile_dir = concat_dirs($path,"templates_c");
$this->config_dir = concat_dirs($path,"configs");
$this->cache_dir = concat_dirs($path,"cache");
$this->caching = false;
$this->assign('url_site',$url);
$this->assign('site_title',$title);
$this->assign('version',$version);
$this->assign('rand',md5(microtime()));
$this->assign('rand1',md5(microtime()+100));
$this->assign('heure',mktime()+$decalage);
}
}
?>
et index.php
<?php
include ("engine/init.php");
session_start();
require_once ("raz_session.php");
//Remise à zéro de la session pour le cas où on passe par le lien Accueil et non Fermer Session
//Raz variables session gestion
raz_session();
admin_verifie_session(false);
$SMARTY = new MaSmarty();
$sql= new DB();
//Gestion du test de connexion
//Test de connectivité internet
$connexion = @shell_exec("ping -w1
www.google.fr");
if (!strpos($connexion,"100% packet loss"))
$SMARTY->assign("connexion","ok");
else
$SMARTY->assign("connexion","pas ok");
$SMARTY->assign("sommaire","oui");//Pour le fond bleu clair
//Gestion de la date de garantie matérielle
$limite_hard=100;
$limite_soft=100;
$sql->query("SELECT maint_hard,
maint_soft,
DATE_FORMAT(DATE_ADD(maint_soft, INTERVAL 1 DAY),'%d/%m/%Y') AS debut_autonomie
FROM gestion");
if($sql->next_row_assoc())
{
$maint_hard_o=$sql->row['maint_hard'];
$maint_soft_o=$sql->row['maint_soft'];
$debut_autonomie=$sql->row['debut_autonomie'];
}
$sql->free();
$maint_hards=explode("-", $maint_hard_o);
$maint_hard=$maint_hards[2]."-".$maint_hards[1]."-".$maint_hards[0];
$maint_softs=explode("-", $maint_soft_o);
$maint_soft=$maint_softs[2]."-".$maint_softs[1]."-".$maint_softs[0];
$jour_hard=$maint_hards[2];
$mois_hard=$maint_hards[1];
$an_hard=$maint_hards[0];
$timestamp_hard = mktime(0, 0, 0, $mois_hard, $jour_hard, $an_hard);
$timestamp2_hard = time();
$diff_hard = floor(($timestamp_hard - $timestamp2_hard) / (3600 * 24));
$jour_soft=$maint_softs[2];
$mois_soft=$maint_softs[1];
$an_soft=$maint_softs[0];
$timestamp_soft = mktime(0, 0, 0, $mois_soft, $jour_soft, $an_soft);
$timestamp2_soft = time();
$diff_soft = floor(($timestamp_soft - $timestamp2_soft) / (3600 * 24));
//Calcul des jours restant jusqu'à l'échéance du contrat d'assistance
if($diff_soft<=30 && $diff_soft>=16)
{ // 30 JOURS RESTANT
$limite_soft=1;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<=15 && $diff_soft>=8)
{ // 15 JOUR RESTANT
$limite_soft=2;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<=7 && $diff_soft>=0)
{ // 7 JOUR RESTANT
$limite_soft=3;
$affiche_perte_assistance="oui";
}
elseif($diff_soft<0)
{ // ECHUS
$limite_soft = 0;
//Passage en version non assistée
$sql->query("UPDATE gestion
SET assistance = 'non',
version = 'Sans Assistance'");
$sql->free();
}
if ($diff_hard < 0 )
$limite_hard = 0;
$SMARTY->assign('maint_hard',$maint_hard);
$SMARTY->assign('maint_soft',$maint_soft);
$SMARTY->assign('limite_hard',$limite_hard);
$SMARTY->assign('limite_soft',$limite_soft);
$SMARTY->assign('diff_soft',$diff_soft);
$SMARTY->assign('diff_hard',$diff_hard);
$SMARTY->assign('debut_autonomie',$debut_autonomie);
//Données du formulaire vierge
$sql->query("SELECT nom FROM personnel WHERE fonction IN ('manager','assistant manager') AND actif LIKE 'oui' ORDER BY nom");
while( $sql->next_row_assoc() ) {
$SMARTY->append('identifiants',$sql->row['nom']);
}
//Traitement du formulaire
if (isset($_GET['refuse']))
{
$SMARTY->assign("refuse",true);
}
if (isset($_GET['employe']))
{
$SMARTY->assign('employe',$_GET['employe']);
}
//Avertissement de la perte de l'assistance sous 30 jours de l'échéance
if ($_GET)
$perte_assistance_affichee = 1;
else
$perte_assistance_affichee = 0;
if ($affiche_perte_assistance == "oui" && $perte_assistance_affichee == 0)
{
$perte_assistance_affichee = 1;
$SMARTY->display("perte_assistance.html");
}
else
$SMARTY->display("index.html");
?>