diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-01 12:43:30 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-01 12:44:18 -0700 |
commit | b2a9bf43afa2aaf845368ea04beef56f2ed035de (patch) | |
tree | 45e4181bb38544b4d7d605cade5459ae76dc8201 /modules/gallery/helpers/gallery.php | |
parent | 3ceb2775f890925f7c2251778e803f5c32811c9c (diff) |
Change gallery::find_file to not assume that the absolute path is relative to the document root. Instead ignore all th path parts until one of application, modules, themes, or libs is found. Fixes ticket #827
Diffstat (limited to 'modules/gallery/helpers/gallery.php')
-rw-r--r-- | modules/gallery/helpers/gallery.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php index b6d4fee0..37a08d08 100644 --- a/modules/gallery/helpers/gallery.php +++ b/modules/gallery/helpers/gallery.php @@ -96,7 +96,18 @@ class gallery_Core { return "lib/$file"; } - return is_string($file_name) ? substr($file_name, strlen(DOCROOT)) : $file_name; + if (is_string($file_name)) { + // make relative to DOCROOT + $parts = explode("/", $file_name); + foreach ($parts as $idx => $part) { + if (in_array($part, array("application", "modules", "themes", "lib"))) { + break; + } + unset($parts[$idx]); + } + $file_name = implode("/", $parts); + } + return $file_name; } }
\ No newline at end of file |