231,7 → 231,8 |
|
/** |
* Va chercher la carte dans le cache si elle existe et n'a pas dépassé la durée |
* de vie $this->dureeCache; sinon, crée la carte et la met en cache |
* de vie $this->dureeCache; sinon, crée la carte et la met en cache. |
* Avec le paramètre "recalculer=1", on force le vidage du cache et on recrée la carte |
*/ |
protected function obtenirCarte() { |
$carte = null; |
239,6 → 240,11 |
$cheminCache = Config::get('cache_stockageChemin'); |
$cheminCarteEnCache = $cheminCache . $this->referentiel . "-nn-" . $this->taxon['num_nom'] . ".svg"; |
|
// a-t-on demandé à régénérer la carte de force ? |
$recalculer = false; |
if (isset($this->parametres['recalculer'])) { |
$recalculer = ($this->parametres['recalculer'] === '1'); |
} |
// le cache est-il actif ? |
if ($cacheActif) { |
// le fichier existe-t-il en cache ? |
247,13 → 253,13 |
$limiteDuree = Config::get('cache_dureeDeVie'); // pour ne pas trop faire pipi |
$dateFichier = filectime($cheminCarteEnCache); |
$age = time() - $dateFichier; |
// est-il suffisamment récent ? |
if ($age < $limiteDuree) { |
// si le cache est trop vieux ou qu'on a demandé à recalculer |
if (($age > $limiteDuree) || $recalculer) { |
// détruire le fichier obsolète |
unlink($cheminCarteEnCache); |
} else { |
// récupérer le fichier en cache |
$carte = file_get_contents($cheminCarteEnCache); |
} else { |
// détruire le fichier obsolète |
unlink($cheminCarteEnCache); |
} |
} |
} |