summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers
diff options
context:
space:
mode:
authorshadlaws <shad@shadlaws.com>2013-02-10 02:28:47 +0100
committershadlaws <shad@shadlaws.com>2013-02-10 02:28:47 +0100
commitbfdf5a00fd8a256c4b564887f4eb649cf9d34774 (patch)
treed36aba54d25d0ddd01d409386a0f73c63feedb0e /modules/gallery/helpers
parenta06faf61b40b458870bad5e66e2666c90032ee2d (diff)
#2000 - Make legal_file::smash_extensions more robust.
- Fixed legal_file::smash_extensions. - Added new unit test. - Removed duplicated condition in existing unit test.
Diffstat (limited to 'modules/gallery/helpers')
-rw-r--r--modules/gallery/helpers/legal_file.php6
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/gallery/helpers/legal_file.php b/modules/gallery/helpers/legal_file.php
index 9ed564a1..ef588ceb 100644
--- a/modules/gallery/helpers/legal_file.php
+++ b/modules/gallery/helpers/legal_file.php
@@ -235,6 +235,10 @@ class legal_file_Core {
* Reduce the given file to having a single extension.
*/
static function smash_extensions($filename) {
+ if (!$filename) {
+ // It's harmless, so return it before it causes issues with pathinfo.
+ return $filename;
+ }
$parts = pathinfo($filename);
$result = "";
if ($parts["dirname"] != ".") {
@@ -243,7 +247,7 @@ class legal_file_Core {
$parts["filename"] = str_replace(".", "_", $parts["filename"]);
$parts["filename"] = preg_replace("/[_]+/", "_", $parts["filename"]);
$parts["filename"] = trim($parts["filename"], "_");
- $result .= "{$parts['filename']}.{$parts['extension']}";
+ $result .= isset($parts["extension"]) ? "{$parts['filename']}.{$parts['extension']}" : $parts["filename"];
return $result;
}
}