Désactivation du cache lors du mode saisie

This commit is contained in:
Michael RICOIS 2009-03-10 09:13:05 +00:00
parent bc78f907c7
commit de3f0524e4
6 changed files with 55 additions and 45 deletions

View File

@ -13,6 +13,7 @@ class Cache {
public $forceStart = FALSE; public $forceStart = FALSE;
public $fileName = ''; public $fileName = '';
public $path = ''; public $path = '';
public $disable = FALSE;
private $maxTime = 6; //heures max en cache private $maxTime = 6; //heures max en cache
private $CacheRefreshHours = 16; //Raffraichir les pages après xx heures private $CacheRefreshHours = 16; //Raffraichir les pages après xx heures
@ -21,11 +22,10 @@ class Cache {
$this->path = realpath(dirname(__FILE__).'/../cache/'); $this->path = realpath(dirname(__FILE__).'/../cache/');
} }
function startCapture($fileName, $forceStart = FALSE){ function startCapture($fileName){
global $firephp; global $firephp;
$fileName = str_replace('.php','',$fileName); $fileName = str_replace('.php','',$fileName);
$this->fileName = $this->path .'/'. $fileName; $this->fileName = $this->path .'/'. $fileName;
$this->forceStart = $forceStart;
if(!$this->isInCache() || $this->forceStart){ if(!$this->isInCache() || $this->forceStart){
$firephp->log('Pas en CACHE','CACHE'); $firephp->log('Pas en CACHE','CACHE');
ob_start(); ob_start();
@ -33,16 +33,21 @@ class Cache {
}else{ }else{
$firephp->log('En CACHE','CACHE'); $firephp->log('En CACHE','CACHE');
return FALSE; return FALSE;
} }
} }
function stopCapture(){ function stopCapture(){
if(!$this->isInCache() || $this->forceStart){ if (!$this->disable){
$this->content = ob_get_contents(); if(!$this->isInCache() || $this->forceStart){
$this->length = ob_get_length(); $this->content = ob_get_contents();
ob_end_flush(); $this->length = ob_get_length();
$this->content.='<!-- Page fourni par le cache -->'; ob_end_flush();
$this->create(); $this->content.='<!-- Page fourni par le cache -->';
$this->create();
}
}else{
//On supprime les fichiers précédement crée pour qu'il soit généré la prochaine fois
$this->delete();
} }
} }
@ -71,7 +76,11 @@ class Cache {
else return FALSE; else return FALSE;
} }
function delete(){} function delete(){
if(file_exists($this->fileName)){
unlink($this->fileName);
}
}
function displayCache(){ function displayCache(){
if(file_exists($this->fileName)){ if(file_exists($this->fileName)){

View File

@ -18,11 +18,6 @@ if ($_REQUEST['vue']=='histo')
$histo=true; $histo=true;
else else
$histo=false; $histo=false;
//Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) $forceCache = TRUE;
else $forceCache = FALSE;
//Générer un nom de fichier pour le cache et l'export des fichiers //Générer un nom de fichier pour le cache et l'export des fichiers
if ($siren==0){ if ($siren==0){
@ -34,10 +29,14 @@ if ($_REQUEST['vue']=='histo'){ $fileName .= '-histo'; }
//Mise en Cache //Mise en Cache
$cache = new Cache(); $cache = new Cache();
if ( $cache->startCapture($fileName.'.html',$forceCache) == FALSE){ //Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) {
$cache->disable = TRUE;
$cache->forceStart = TRUE;
}
if ( $cache->startCapture($fileName.'.html') == FALSE){
print $cache->displayCache(); print $cache->displayCache();
}else{ }else{
/** Utilisation du WS **/ /** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 1, $client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1, 'soap_version' => SOAP_1_1,

View File

@ -15,22 +15,22 @@ if (($siret*1)==0 && $id==0) die('Param
$siren=substr($siret,0,9); $siren=substr($siret,0,9);
$mil=false; $mil=false;
//Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) $forceCache = TRUE;
else $forceCache = FALSE;
//Générer un nom de fichier pour le cache et l'export des fichiers //Générer un nom de fichier pour le cache et l'export des fichiers
if ($siren==0){ if ($siren==0){
$fileName = $page2.'-'.$idEntreprise; $fileName = $page2.'-'.$idEntreprise;
}else{ }else{
$fileName = $page2.'-'.$siren; $fileName = $page2.'-'.$siren;
} }
//Mise en Cache
$cache = new Cache(); $cache = new Cache();
if ( $cache->startCapture($fileName.'.html',$forceCache) == FALSE){ //Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) {
$cache->disable = TRUE;
$cache->forceStart = TRUE;
}
if ( $cache->startCapture($fileName.'.html') == FALSE){
print $cache->displayCache(); print $cache->displayCache();
}else{ }else{
/** Utilisation du WS **/ /** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 1, $client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1, 'soap_version' => SOAP_1_1,

View File

@ -15,20 +15,21 @@ if (($siret*1)==0 && $id==0) die('Param
$siren=substr($siret,0,9); $siren=substr($siret,0,9);
$mil=false; $mil=false;
//Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) $forceCache = TRUE;
else $forceCache = FALSE;
//Générer un nom de fichier pour le cache et l'export des fichiers //Générer un nom de fichier pour le cache et l'export des fichiers
if ($siren==0){ if ($siren==0){
$fileName = $page2.'-'.$idEntreprise; $fileName = $page2.'-'.$idEntreprise;
}else{ }else{
$fileName = $page2.'-'.$siren; $fileName = $page2.'-'.$siren;
} }
//Mise en Cache //Mise en Cache
$cache = new Cache(); $cache = new Cache();
if ( $cache->startCapture($fileName.'.html',$forceCache) == FALSE){ //Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) {
$cache->disable = TRUE;
$cache->forceStart = TRUE;
}
if ( $cache->startCapture($fileName.'.html') == FALSE){
print $cache->displayCache(); print $cache->displayCache();
}else{ }else{
/** Utilisation du WS **/ /** Utilisation du WS **/

View File

@ -11,11 +11,6 @@ $iden=trim(preg_replace('/[^0-9]/', '', $_REQUEST['iden']))*1; // Si id=0 alors
if (($siret*1)==0 && $iden==0) die('Paramètres incorrects !'); if (($siret*1)==0 && $iden==0) die('Paramètres incorrects !');
$siren=substr($siret,0,9); $siren=substr($siret,0,9);
//Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) $forceCache = TRUE;
else $forceCache = FALSE;
//Générer un nom de fichier pour le cache et l'export des fichiers //Générer un nom de fichier pour le cache et l'export des fichiers
if ($siren==0){ if ($siren==0){
$fileName = $page2.'-'.$idEntreprise; $fileName = $page2.'-'.$idEntreprise;
@ -24,7 +19,12 @@ if ($siren==0){
} }
//Mise en Cache //Mise en Cache
$cache = new Cache(); $cache = new Cache();
if ( $cache->startCapture($fileName.'.html',$forceCache) == FALSE){ //Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) {
$cache->disable = TRUE;
$cache->forceStart = TRUE;
}
if ( $cache->startCapture($fileName.'.html') == FALSE){
print $cache->displayCache(); print $cache->displayCache();
}else{ }else{
/** Utilisation du WS **/ /** Utilisation du WS **/

View File

@ -14,22 +14,23 @@ $id=trim(preg_replace('/[^0-9]/', '', $_REQUEST['iden']))*1; // Si id=0 alors no
if (($siret*1)==0 && $id==0) die('Paramètres incorrects !'); if (($siret*1)==0 && $id==0) die('Paramètres incorrects !');
$siren=substr($siret,0,9); $siren=substr($siret,0,9);
//Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) $forceCache = TRUE;
else $forceCache = FALSE;
//Générer un nom de fichier pour le cache et l'export des fichiers //Générer un nom de fichier pour le cache et l'export des fichiers
if ($siren==0){ if ($siren==0){
$fileName = $page2.'-'.$idEntreprise; $fileName = $page2.'-'.$idEntreprise;
}else{ }else{
$fileName = $page2.'-'.$siren; $fileName = $page2.'-'.$siren;
} }
//Mise en Cache
$cache = new Cache(); $cache = new Cache();
if ( $cache->startCapture($fileName.'.html',$forceCache) == FALSE){ //Forcer la création de la page dans le cache lorsque l'utilisateur a le mode saisie
if(preg_match('/saisie/i', $_SESSION['tabInfo']['droits'])) {
$cache->disable = TRUE;
$cache->forceStart = TRUE;
}
if ( $cache->startCapture($fileName.'.html') == FALSE){
print $cache->displayCache(); print $cache->displayCache();
}else{ }else{
/** Utilisation du WS **/ /** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 1, $client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1, 'soap_version' => SOAP_1_1,