summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Save <savetheinternet@tinyboard.org>2012-04-19 23:07:52 +1000
committerMichael Save <savetheinternet@tinyboard.org>2012-04-19 23:08:24 +1000
commitd86875a3b980afb24577d30e3435ba2f583c6361 (patch)
treec420d7463b9efaf3749c030456bd4e568160bf6a
parent5c9fcfc50e503887acbdf3e4994de4972beb720f (diff)
Bugfix: purge() while in CLI-mode
-rw-r--r--inc/functions.php5
1 files changed, 3 insertions, 2 deletions
diff --git a/inc/functions.php b/inc/functions.php
index d2f207a0..08e5433f 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -335,6 +335,7 @@ function boardTitle($uri) {
function purge($uri) {
global $config, $debug;
+
if (preg_match($config['referer_match'], $config['root'])) {
$uri = (str_replace('\\', '/', dirname($_SERVER['REQUEST_URI'])) == '/' ? '/' : str_replace('\\', '/', dirname($_SERVER['REQUEST_URI'])) . '/') . $uri;
} else {
@@ -348,7 +349,7 @@ function purge($uri) {
foreach ($config['purge'] as &$purge) {
$host = &$purge[0];
$port = &$purge[1];
- $http_host = isset($purge[2]) ? $purge[2] : $_SERVER['HTTP_HOST'];
+ $http_host = isset($purge[2]) ? $purge[2] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost');
$request = "PURGE {$uri} HTTP/1.1\r\nHost: {$http_host}\r\nUser-Agent: Tinyboard\r\nConnection: Close\r\n\r\n";
if ($fp = fsockopen($host, $port, $errno, $errstr, $config['purge_timeout'])) {
fwrite($fp, $request);
@@ -399,7 +400,7 @@ function file_write($path, $data, $simple = false, $skip_purge = false) {
if (!fclose($fp))
error('Unable to close file: ' . $path);
- if (!$skip_purge && isset($config['purge']) && isset($_SERVER['HTTP_HOST'])) {
+ if (!$skip_purge && isset($config['purge'])) {
// Purge cache
if (basename($path) == $config['file_index']) {
// Index file (/index.html); purge "/" as well