From 2fcc8a388b27747bb534f0beba18114720f9b899 Mon Sep 17 00:00:00 2001 From: deva Date: Sun, 12 Oct 2008 08:55:05 +0000 Subject: Now files, forums and image cache create their storage dirs themselves, instead of createentities (when they do not already exists that is...) --- forum/utils/files.php | 20 ++++++++++++++++++-- forum/utils/forums.php | 18 ++++++++++++++++++ forum/utils/imagecache.php | 12 +++++++++++- forum/utils/parser.php | 2 +- 4 files changed, 48 insertions(+), 4 deletions(-) (limited to 'forum') diff --git a/forum/utils/files.php b/forum/utils/files.php index 6cae023..c698ede 100644 --- a/forum/utils/files.php +++ b/forum/utils/files.php @@ -125,9 +125,25 @@ class Files { public function Files($file) { + global $PERMSTORE; + $this->file = $file; - $this->read(); - } + if(file_exists($file)) $this->read(); + if(!file_exists($PERMSTORE)) { + if(!mkdir($PERMSTORE)) { + echo"Could not create directory: " . $PERMSTORE; + die(); + } + } + if(!is_dir($PERMSTORE)) { + echo $PERMSTORE . " exists but is not a directory"; + die(); + } + if(!is_readable($PERMSTORE) || !is_writeable($PERMSTORE) || !is_executable($PERMSTORE)) { + echo $PERMSTORE . " exists but does not have the correct permissions. (r/w/x)"; + die(); + } + } } ?> \ No newline at end of file diff --git a/forum/utils/forums.php b/forum/utils/forums.php index 85e977b..1ee2eb9 100644 --- a/forum/utils/forums.php +++ b/forum/utils/forums.php @@ -100,6 +100,24 @@ class Forums { { $this->file = $file; if(file_exists($file)) $this->read(); + else { + if(!file_exists(dirname($file))) { + if(!mkdir(dirname($file))) { + echo"Could not create directory: " . dirname($file); + die(); + } + } else { + if(!is_dir(dirname($file))) { + echo dirname($file) . " exists but is not a directory"; + die(); + } else { + if(!is_readable(dirname($file)) || !is_writeable(dirname($file)) || !is_executable(dirname($file))) { + echo dirname($file) . " exists but does not have the correct permissions. (r/w/x)"; + die(); + } + } + } + } } } diff --git a/forum/utils/imagecache.php b/forum/utils/imagecache.php index aae5e66..ac3ebc3 100644 --- a/forum/utils/imagecache.php +++ b/forum/utils/imagecache.php @@ -40,6 +40,16 @@ function getCachedImage($filename) global $IMAGECACHE; $fullfilename = $IMAGECACHE . "/" . urlencode($filename); + // Test the storage dir + if(!file_exists($IMAGECACHE)) { + if(!mkdir($IMAGECACHE)) errorImage("Could not create directory: " . $IMAGECACHE); + } + if(!is_dir($IMAGECACHE)) errorImage($IMAGECACHE . " exists but is not a directory"); + if(!is_readable($IMAGECACHE) || !is_writeable($IMAGECACHE) || !is_executable($IMAGECACHE)) { + errorImage($IMAGECACHE . " exists but does not have the correct permissions. (r/w/x)"); + } + // end of dir test + if(!file_exists($fullfilename)) { $url = parse_url($filename); @@ -49,7 +59,7 @@ function getCachedImage($filename) error_reporting(E_ERROR | E_PARSE); - switch(tolower($filetype)) { + switch(strtolower($filetype)) { case ".jpeg": case ".jpg": $image = imagecreatefromjpeg(urldecode($filename)); diff --git a/forum/utils/parser.php b/forum/utils/parser.php index b5a80b7..ecf8913 100644 --- a/forum/utils/parser.php +++ b/forum/utils/parser.php @@ -39,7 +39,7 @@ function parse($input, $indent = "") while(strpos($output, $imgendmarker)) $imgendmarker .= $imgendsymbol; // Find and mark image URLs (so that they don't get converted into normal links) - $output = preg_replace("/http:\/\/(.*\.jpg|\.gif|\.png|\.jpeg)/", $imgstartmarker."$1".$imgendmarker, $output); + $output = preg_replace("/http:\/\/(.*\.jpg|.*\.gif|.*\.png|.*\.jpeg)/", $imgstartmarker."$1".$imgendmarker, $output); // Replace URLs with tags $output = preg_replace("/http:\/\/(.*?)([\n ])/s", "$1$2", $output); -- cgit v1.2.3