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 $fileName = '';
public $path = '';
public $disable = FALSE;
private $maxTime = 6; //heures max en cache
private $CacheRefreshHours = 16; //Raffraichir les pages après xx heures
@ -21,11 +22,10 @@ class Cache {
$this->path = realpath(dirname(__FILE__).'/../cache/');
}
function startCapture($fileName, $forceStart = FALSE){
function startCapture($fileName){
global $firephp;
$fileName = str_replace('.php','',$fileName);
$this->fileName = $this->path .'/'. $fileName;
$this->forceStart = $forceStart;
if(!$this->isInCache() || $this->forceStart){
$firephp->log('Pas en CACHE','CACHE');
ob_start();
@ -33,16 +33,21 @@ class Cache {
}else{
$firephp->log('En CACHE','CACHE');
return FALSE;
}
}
}
function stopCapture(){
if(!$this->isInCache() || $this->forceStart){
$this->content = ob_get_contents();
$this->length = ob_get_length();
ob_end_flush();
$this->content.='<!-- Page fourni par le cache -->';
$this->create();
if (!$this->disable){
if(!$this->isInCache() || $this->forceStart){
$this->content = ob_get_contents();
$this->length = ob_get_length();
ob_end_flush();
$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;
}
function delete(){}
function delete(){
if(file_exists($this->fileName)){
unlink($this->fileName);
}
}
function displayCache(){
if(file_exists($this->fileName)){

View File

@ -18,11 +18,6 @@ if ($_REQUEST['vue']=='histo')
$histo=true;
else
$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
if ($siren==0){
@ -34,10 +29,14 @@ if ($_REQUEST['vue']=='histo'){ $fileName .= '-histo'; }
//Mise en 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();
}else{
/** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 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);
$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
if ($siren==0){
$fileName = $page2.'-'.$idEntreprise;
}else{
$fileName = $page2.'-'.$siren;
}
//Mise en 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();
}else{
/** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 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);
$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
if ($siren==0){
$fileName = $page2.'-'.$idEntreprise;
}else{
$fileName = $page2.'-'.$siren;
}
}
//Mise en 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();
}else{
/** 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 !');
$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
if ($siren==0){
$fileName = $page2.'-'.$idEntreprise;
@ -24,7 +19,12 @@ if ($siren==0){
}
//Mise en 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();
}else{
/** 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 !');
$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
if ($siren==0){
$fileName = $page2.'-'.$idEntreprise;
}else{
$fileName = $page2.'-'.$siren;
}
}
//Mise en 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();
}else{
/** Utilisation du WS **/
$client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1,