Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1134 | Rev 1136 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1134 Rev 1135
Line 229... Line 229...
229
		return $nomTable;
229
		return $nomTable;
230
	}
230
	}
Line 231... Line 231...
231
 
231
 
232
	/**
232
	/**
233
	 * Va chercher la carte dans le cache si elle existe et n'a pas dépassé la durée
233
	 * Va chercher la carte dans le cache si elle existe et n'a pas dépassé la durée
-
 
234
	 * de vie $this->dureeCache; sinon, crée la carte et la met en cache.
234
	 * de vie $this->dureeCache; sinon, crée la carte et la met en cache
235
	 * Avec le paramètre "recalculer=1", on force le vidage du cache et on recrée la carte
235
	 */
236
	 */
236
	protected function obtenirCarte() {
237
	protected function obtenirCarte() {
237
		$carte = null;
238
		$carte = null;
238
		$cacheActif = Config::get('cache_miseEnCache');
239
		$cacheActif = Config::get('cache_miseEnCache');
239
		$cheminCache = Config::get('cache_stockageChemin');
240
		$cheminCache = Config::get('cache_stockageChemin');
Line -... Line 241...
-
 
241
		$cheminCarteEnCache = $cheminCache . $this->referentiel . "-nn-" . $this->taxon['num_nom'] . ".svg";
-
 
242
 
-
 
243
		// a-t-on demandé à régénérer la carte de force ?
-
 
244
		$recalculer = false;
-
 
245
		if (isset($this->parametres['recalculer'])) {
240
		$cheminCarteEnCache = $cheminCache . $this->referentiel . "-nn-" . $this->taxon['num_nom'] . ".svg";
246
			$recalculer = ($this->parametres['recalculer'] === '1');
241
 
247
		}
242
		// le cache est-il actif ?
248
		// le cache est-il actif ?
243
		if ($cacheActif) {
249
		if ($cacheActif) {
244
			// le fichier existe-t-il en cache ?
250
			// le fichier existe-t-il en cache ?
245
			//echo "Chemin fichier: $cheminCarteEnCache<br/>";
251
			//echo "Chemin fichier: $cheminCarteEnCache<br/>";
246
			if (file_exists($cheminCarteEnCache)) {
252
			if (file_exists($cheminCarteEnCache)) {
247
				$limiteDuree = Config::get('cache_dureeDeVie'); // pour ne pas trop faire pipi
253
				$limiteDuree = Config::get('cache_dureeDeVie'); // pour ne pas trop faire pipi
248
				$dateFichier = filectime($cheminCarteEnCache);
254
				$dateFichier = filectime($cheminCarteEnCache);
249
				$age = time() - $dateFichier;
255
				$age = time() - $dateFichier;
250
				// est-il suffisamment récent ?
-
 
251
				if ($age < $limiteDuree) {
-
 
252
					// récupérer le fichier en cache
-
 
253
					$carte = file_get_contents($cheminCarteEnCache);
256
				// si le cache est trop vieux ou qu'on a demandé à recalculer
254
				} else {
257
				if (($age > $limiteDuree) || $recalculer) {
-
 
258
					// détruire le fichier obsolète
-
 
259
					unlink($cheminCarteEnCache);
-
 
260
				} else {
255
					// détruire le fichier obsolète
261
					// récupérer le fichier en cache
256
					unlink($cheminCarteEnCache);
262
					$carte = file_get_contents($cheminCarteEnCache);
257
				}
263
				}
258
			}
264
			}
259
		}
265
		}