diff options
author | shadlaws <shad@shadlaws.com> | 2013-02-10 02:28:47 +0100 |
---|---|---|
committer | shadlaws <shad@shadlaws.com> | 2013-02-10 02:28:47 +0100 |
commit | bfdf5a00fd8a256c4b564887f4eb649cf9d34774 (patch) | |
tree | d36aba54d25d0ddd01d409386a0f73c63feedb0e /modules/gallery/helpers/legal_file.php | |
parent | a06faf61b40b458870bad5e66e2666c90032ee2d (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/legal_file.php')
-rw-r--r-- | modules/gallery/helpers/legal_file.php | 6 |
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; } } |