Line 14... |
Line 14... |
14 |
* @author Aurélien PERONNET <aurelien@tela-botanica.org>
|
14 |
* @author Aurélien PERONNET <aurelien@tela-botanica.org>
|
15 |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
|
15 |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
|
16 |
* @license http://framework.zend.com/license/new-bsd Licence New BSD
|
16 |
* @license http://framework.zend.com/license/new-bsd Licence New BSD
|
17 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
17 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
18 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
18 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
19 |
* @version $Id: CacheSimple.php 441 2013-10-21 12:11:34Z raphael $
|
19 |
* @version $Id: CacheSimple.php 445 2013-10-24 17:08:14Z raphael $
|
20 |
* @link /doc/framework/
|
20 |
* @link /doc/framework/
|
21 |
*/
|
21 |
*/
|
22 |
// TODO : voir ce qui est le plus pratique : error_log ou le gestionnaire de bogue du framework
|
22 |
// TODO : voir ce qui est le plus pratique : error_log ou le gestionnaire de bogue du framework
|
23 |
class CacheSimple {
|
23 |
class CacheSimple {
|
Line 94... |
Line 94... |
94 |
* @param string $contenu les données à mettre en cache.
|
94 |
* @param string $contenu les données à mettre en cache.
|
95 |
* @param string $id l'identifiant du Cache.
|
95 |
* @param string $id l'identifiant du Cache.
|
96 |
* @return boolean true si aucun problème
|
96 |
* @return boolean true si aucun problème
|
97 |
*/
|
97 |
*/
|
98 |
public function sauver($contenu, $id) {
|
98 |
public function sauver($contenu, $id) {
|
- |
|
99 |
if (! $this->mise_en_cache) return FALSE;
|
- |
|
100 |
|
99 |
$ok = false;
|
101 |
$ok = false;
|
100 |
if ($this->mise_en_cache) {
|
- |
|
101 |
$chemin_fichier_cache = $this->stockage_chemin.DS.$id.'.txt';
|
102 |
$chemin_fichier_cache = $this->stockage_chemin.DS.$id.'.txt';
|
102 |
if (!file_exists($chemin_fichier_cache) || (time() - @filemtime($chemin_fichier_cache) > $this->duree_de_vie)) {
|
103 |
if (!file_exists($chemin_fichier_cache) || (time() - @filemtime($chemin_fichier_cache) > $this->duree_de_vie)) {
|
103 |
$dossier_fichier_cache = dirname($chemin_fichier_cache);
|
104 |
$dossier_fichier_cache = dirname($chemin_fichier_cache);
|
104 |
if (!is_dir($dossier_fichier_cache))
|
105 |
if (!is_dir($dossier_fichier_cache))
|
105 |
{
|
106 |
{
|
106 |
mkdir($dossier_fichier_cache, 0755, true);
|
107 |
mkdir($dossier_fichier_cache, 0755, true);
|
107 |
}
|
108 |
}
|
Line 108... |
Line 109... |
108 |
|
109 |
|
109 |
$fh = fopen($chemin_fichier_cache,'w+');
|
110 |
$fh = fopen($chemin_fichier_cache,'w+');
|
110 |
if ($fh) {
|
111 |
if ($fh) {
|
111 |
if (fwrite($fh, $contenu)) {
|
112 |
if (fwrite($fh, $contenu)) {
|
112 |
if (fclose($fh)) {
|
113 |
if (fclose($fh)) {
|
113 |
error_log(sprintf("%s: caching \"%s\" [%s]", __FILE__, $chemin_fichier_cache, @$_SERVER['REQUEST_URI']));
|
114 |
error_log(sprintf("%s: caching \"%s\" [%s]", __FILE__, $chemin_fichier_cache, @$_SERVER['REQUEST_URI']));
|
114 |
|
115 |
|
115 |
$ok = true;
|
116 |
$ok = true;
|
116 |
}
|
117 |
}
|
117 |
}
|
118 |
}
|
118 |
// Voir #ZF-4422 pour la raison de l'utilisation de octdec()
|
119 |
// Voir #ZF-4422 pour la raison de l'utilisation de octdec()
|
119 |
@chmod($chemin_fichier_cache, octdec('0777'));
|
120 |
@chmod($chemin_fichier_cache, octdec('0777'));
|
120 |
}
|
121 |
}
|
121 |
}
|
- |
|
122 |
}
|
122 |
}
|
123 |
if(!$ok) error_log(sprintf("%s: ERROR trying to cache \"%s\" [%s]", __FILE__, $chemin_fichier_cache, @$_SERVER['REQUEST_URI']));
|
123 |
if(!$ok) error_log(sprintf("%s: ERROR trying to cache \"%s\" [%s]", __FILE__, $chemin_fichier_cache, @$_SERVER['REQUEST_URI']));
|
124 |
return $ok;
|
124 |
return $ok;
|
125 |
}
|
125 |
}
|
126 |
}
|
- |
|
127 |
?>
|
126 |
}
|