summaryrefslogtreecommitdiff
path: root/forum/utils
diff options
context:
space:
mode:
authordeva <deva>2008-10-12 08:55:05 +0000
committerdeva <deva>2008-10-12 08:55:05 +0000
commit2fcc8a388b27747bb534f0beba18114720f9b899 (patch)
tree52fe5737c6f2c43982cfedb10f2f58db1dd84c9d /forum/utils
parentb3bfcb9e6f512b2074dc69bf1af148ec4f4973d4 (diff)
Now files, forums and image cache create their storage dirs themselves, instead of createentities (when they do not already exists that is...)
Diffstat (limited to 'forum/utils')
-rw-r--r--forum/utils/files.php20
-rw-r--r--forum/utils/forums.php18
-rw-r--r--forum/utils/imagecache.php12
-rw-r--r--forum/utils/parser.php2
4 files changed, 48 insertions, 4 deletions
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 <a/> 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 <a></a> tags
$output = preg_replace("/http:\/\/(.*?)([\n ])/s", "<a href=\"http://$1\">$1</a>$2", $output);