Subversion Repositories Applications.framework

Rev

Rev 441 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 441 Rev 445
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
}