diff -r 5e7a0fedabdf -r 877f952ae2bd web/lib/Zend/Cache/Backend/File.php --- a/web/lib/Zend/Cache/Backend/File.php Thu Mar 21 17:31:31 2013 +0100 +++ b/web/lib/Zend/Cache/Backend/File.php Thu Mar 21 19:50:53 2013 +0100 @@ -15,9 +15,9 @@ * @category Zend * @package Zend_Cache * @subpackage Zend_Cache_Backend - * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: File.php 21636 2010-03-24 17:10:23Z mabe $ + * @version $Id: File.php 24844 2012-05-31 19:01:36Z rob $ */ /** @@ -34,7 +34,7 @@ /** * @package Zend_Cache * @subpackage Zend_Cache_Backend - * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Cache_Backend_File extends Zend_Cache_Backend implements Zend_Cache_Backend_ExtendedInterface @@ -71,7 +71,11 @@ * for you. Maybe, 1 or 2 is a good start. * * =====> (int) hashed_directory_umask : - * - Umask for hashed directory structure + * - deprecated + * - Permissions for hashed directory structure + * + * =====> (int) hashed_directory_perm : + * - Permissions for hashed directory structure * * =====> (string) file_name_prefix : * - prefix for cache files @@ -79,7 +83,11 @@ * (like /tmp) can cause disasters when cleaning the cache * * =====> (int) cache_file_umask : - * - Umask for cache files + * - deprecated + * - Permissions for cache files + * + * =====> (int) cache_file_perm : + * - Permissions for cache files * * =====> (int) metatadatas_array_max_size : * - max size for the metadatas array (don't change this value unless you @@ -93,9 +101,9 @@ 'read_control' => true, 'read_control_type' => 'crc32', 'hashed_directory_level' => 0, - 'hashed_directory_umask' => 0700, + 'hashed_directory_perm' => 0700, 'file_name_prefix' => 'zend_cache', - 'cache_file_umask' => 0600, + 'cache_file_perm' => 0600, 'metadatas_array_max_size' => 100 ); @@ -130,13 +138,29 @@ if ($this->_options['metadatas_array_max_size'] < 10) { Zend_Cache::throwException('Invalid metadatas_array_max_size, must be > 10'); } - if (isset($options['hashed_directory_umask']) && is_string($options['hashed_directory_umask'])) { + + if (isset($options['hashed_directory_umask'])) { + // See #ZF-12047 + trigger_error("'hashed_directory_umask' is deprecated -> please use 'hashed_directory_perm' instead", E_USER_NOTICE); + if (!isset($options['hashed_directory_perm'])) { + $options['hashed_directory_perm'] = $options['hashed_directory_umask']; + } + } + if (isset($options['hashed_directory_perm']) && is_string($options['hashed_directory_perm'])) { // See #ZF-4422 - $this->_options['hashed_directory_umask'] = octdec($this->_options['hashed_directory_umask']); + $this->_options['hashed_directory_perm'] = octdec($this->_options['hashed_directory_perm']); } - if (isset($options['cache_file_umask']) && is_string($options['cache_file_umask'])) { + + if (isset($options['cache_file_umask'])) { + // See #ZF-12047 + trigger_error("'cache_file_umask' is deprecated -> please use 'cache_file_perm' instead", E_USER_NOTICE); + if (!isset($options['cache_file_perm'])) { + $options['cache_file_perm'] = $options['cache_file_umask']; + } + } + if (isset($options['cache_file_perm']) && is_string($options['cache_file_perm'])) { // See #ZF-4422 - $this->_options['cache_file_umask'] = octdec($this->_options['cache_file_umask']); + $this->_options['cache_file_perm'] = octdec($this->_options['cache_file_perm']); } } @@ -151,10 +175,10 @@ public function setCacheDir($value, $trailingSeparator = true) { if (!is_dir($value)) { - Zend_Cache::throwException('cache_dir must be a directory'); + Zend_Cache::throwException(sprintf('cache_dir "%s" must be a directory', $value)); } if (!is_writable($value)) { - Zend_Cache::throwException('cache_dir is not writable'); + Zend_Cache::throwException(sprintf('cache_dir "%s" is not writable', $value)); } if ($trailingSeparator) { // add a trailing DIRECTORY_SEPARATOR if necessary @@ -268,14 +292,15 @@ * Clean some cache records * * Available modes are : - * 'all' (default) => remove all cache entries ($tags is not used) - * 'old' => remove too old cache entries ($tags is not used) - * 'matchingTag' => remove cache entries matching all given tags - * ($tags can be an array of strings or a single string) - * 'notMatchingTag' => remove cache entries not matching one of the given tags - * ($tags can be an array of strings or a single string) - * 'matchingAnyTag' => remove cache entries matching any given tags - * ($tags can be an array of strings or a single string) + * + * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) + * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) + * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags + * ($tags can be an array of strings or a single string) + * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} + * ($tags can be an array of strings or a single string) + * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags + * ($tags can be an array of strings or a single string) * * @param string $mode clean mode * @param tags array $tags array of tags @@ -722,8 +747,8 @@ if ((is_dir($file)) and ($this->_options['hashed_directory_level']>0)) { // Recursive call $result = $this->_clean($file . DIRECTORY_SEPARATOR, $mode, $tags) && $result; - if ($mode=='all') { - // if mode=='all', we try to drop the structure too + if ($mode == Zend_Cache::CLEANING_MODE_ALL) { + // we try to drop the structure too @rmdir($file); } } @@ -918,8 +943,8 @@ $partsArray = $this->_path($id, true); foreach ($partsArray as $part) { if (!is_dir($part)) { - @mkdir($part, $this->_options['hashed_directory_umask']); - @chmod($part, $this->_options['hashed_directory_umask']); // see #ZF-320 (this line is required in some configurations) + @mkdir($part, $this->_options['hashed_directory_perm']); + @chmod($part, $this->_options['hashed_directory_perm']); // see #ZF-320 (this line is required in some configurations) } } return true; @@ -987,7 +1012,7 @@ } @fclose($f); } - @chmod($file, $this->_options['cache_file_umask']); + @chmod($file, $this->_options['cache_file_perm']); return $result; }