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 | a0b58772175ce7490872356c5050d08bd15b488b (patch) | |
| tree | f99eb0f4b0984cca5020daf403286370f739f414 /phpBB/includes/acm/acm_file.php | |
| parent | 6482e72e7c7b7d6b73cef970197789a2c139f44e (diff) | |
| parent | a94c760650a9454d1ac33b30243898eae57f8f4f (diff) | |
| download | forums-a0b58772175ce7490872356c5050d08bd15b488b.tar forums-a0b58772175ce7490872356c5050d08bd15b488b.tar.gz forums-a0b58772175ce7490872356c5050d08bd15b488b.tar.bz2 forums-a0b58772175ce7490872356c5050d08bd15b488b.tar.xz forums-a0b58772175ce7490872356c5050d08bd15b488b.zip | |
Merge commit 'release-3.0.4-RC1'
Diffstat (limited to 'phpBB/includes/acm/acm_file.php')
| -rw-r--r-- | phpBB/includes/acm/acm_file.php | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php index 577f893e77..f58f925506 100644 --- a/phpBB/includes/acm/acm_file.php +++ b/phpBB/includes/acm/acm_file.php @@ -93,6 +93,12 @@ class acm @flock($fp, LOCK_UN); fclose($fp); + if (!function_exists('phpbb_chmod')) + { + global $phpbb_root_path; + include($phpbb_root_path . 'includes/functions.' . $phpEx); + } + phpbb_chmod($this->cache_dir . 'data_global.' . $phpEx, CHMOD_WRITE); } else @@ -193,10 +199,16 @@ 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 = unserialize(" . var_export(serialize($var), true) . ");\n\n?>"); + 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?>"); @flock($fp, LOCK_UN); fclose($fp); + if (!function_exists('phpbb_chmod')) + { + global $phpbb_root_path; + include($phpbb_root_path . 'includes/functions.' . $phpEx); + } + phpbb_chmod($this->cache_dir . "data{$var_name}.$phpEx", CHMOD_WRITE); } } @@ -412,10 +424,16 @@ class acm $file = "<?php\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] = unserialize(" . var_export(serialize($this->sql_rowset[$query_id]), true) . ");\n\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?>"); @flock($fp, LOCK_UN); fclose($fp); + if (!function_exists('phpbb_chmod')) + { + global $phpbb_root_path; + include($phpbb_root_path . 'includes/functions.' . $phpEx); + } + phpbb_chmod($filename, CHMOD_WRITE); $query_result = $query_id; |
