diff options
| author | Nils Adermann <naderman@naderman.de> | 2010-03-02 01:05:39 +0100 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2010-03-02 01:05:39 +0100 |
| commit | a45bca7c49623341ae971d4e1014ba9de38de982 (patch) | |
| tree | a1f033124b14c020e850525a6ea745cb7cb3dbab /phpBB/includes/acm | |
| parent | 1f3498c0d6a20a08fe17948b32fc435f85a6eff8 (diff) | |
| parent | 6485d66743d55aeba95aed86fcde4a0e555e3104 (diff) | |
| download | forums-a45bca7c49623341ae971d4e1014ba9de38de982.tar forums-a45bca7c49623341ae971d4e1014ba9de38de982.tar.gz forums-a45bca7c49623341ae971d4e1014ba9de38de982.tar.bz2 forums-a45bca7c49623341ae971d4e1014ba9de38de982.tar.xz forums-a45bca7c49623341ae971d4e1014ba9de38de982.zip | |
Merge commit 'release-3.0.5-RC1'
Diffstat (limited to 'phpBB/includes/acm')
| -rw-r--r-- | phpBB/includes/acm/acm_file.php | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php index f58f925506..f9ff92e19d 100644 --- a/phpBB/includes/acm/acm_file.php +++ b/phpBB/includes/acm/acm_file.php @@ -89,7 +89,7 @@ class acm if ($fp = @fopen($this->cache_dir . 'data_global.' . $phpEx, 'wb')) { @flock($fp, LOCK_EX); - fwrite($fp, "<?php\n\$this->vars = " . var_export($this->vars, true) . ";\n\n\$this->var_expires = " . var_export($this->var_expires, true) . "\n?>"); + fwrite($fp, "<?php\nif (!defined('IN_PHPBB')) exit;\n\$this->vars = " . var_export($this->vars, true) . ";\n\n\$this->var_expires = " . var_export($this->var_expires, true) . "\n?>"); @flock($fp, LOCK_UN); fclose($fp); @@ -99,17 +99,20 @@ class acm include($phpbb_root_path . 'includes/functions.' . $phpEx); } - phpbb_chmod($this->cache_dir . 'data_global.' . $phpEx, CHMOD_WRITE); + phpbb_chmod($this->cache_dir . 'data_global.' . $phpEx, CHMOD_READ | CHMOD_WRITE); } else { // Now, this occurred how often? ... phew, just tell the user then... if (!@is_writable($this->cache_dir)) { - trigger_error($this->cache_dir . ' is NOT writable.', E_USER_ERROR); + // We need to use die() here, because else we may encounter an infinite loop (the message handler calls $cache->unload()) + die($this->cache_dir . ' is NOT writable.'); + exit; } - trigger_error('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx, E_USER_ERROR); + die('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx); + exit; } $this->is_modified = false; @@ -199,7 +202,7 @@ class acm if ($fp = @fopen($this->cache_dir . "data{$var_name}.$phpEx", 'wb')) { @flock($fp, LOCK_EX); - fwrite($fp, "<?php\n\$expired = (time() > " . (time() + $ttl) . ") ? true : false;\nif (\$expired) { return; }\n\n\$data = " . (sizeof($var) ? "unserialize(" . var_export(serialize($var), true) . ");" : 'array();') . "\n\n?>"); + fwrite($fp, "<?php\nif (!defined('IN_PHPBB')) exit;\n\$expired = (time() > " . (time() + $ttl) . ") ? true : false;\nif (\$expired) { return; }\n\n\$data = " . (sizeof($var) ? "unserialize(" . var_export(serialize($var), true) . ");" : 'array();') . "\n\n?>"); @flock($fp, LOCK_UN); fclose($fp); @@ -209,7 +212,7 @@ class acm include($phpbb_root_path . 'includes/functions.' . $phpEx); } - phpbb_chmod($this->cache_dir . "data{$var_name}.$phpEx", CHMOD_WRITE); + phpbb_chmod($this->cache_dir . "data{$var_name}.$phpEx", CHMOD_READ | CHMOD_WRITE); } } else @@ -421,7 +424,7 @@ class acm } $db->sql_freeresult($query_result); - $file = "<?php\n\n/* " . str_replace('*/', '*\/', $query) . " */\n"; + $file = "<?php\nif (!defined('IN_PHPBB')) exit;\n\n/* " . str_replace('*/', '*\/', $query) . " */\n"; $file .= "\n\$expired = (time() > " . (time() + $ttl) . ") ? true : false;\nif (\$expired) { return; }\n"; fwrite($fp, $file . "\n\$this->sql_rowset[\$query_id] = " . (sizeof($this->sql_rowset[$query_id]) ? "unserialize(" . var_export(serialize($this->sql_rowset[$query_id]), true) . ");" : 'array();') . "\n\n?>"); @@ -434,7 +437,7 @@ class acm include($phpbb_root_path . 'includes/functions.' . $phpEx); } - phpbb_chmod($filename, CHMOD_WRITE); + phpbb_chmod($filename, CHMOD_READ | CHMOD_WRITE); $query_result = $query_id; } |
