summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2012-05-13 21:09:26 -0700
committerBharat Mediratta <bharat@menalto.com>2012-05-13 21:09:59 -0700
commitffbaa7bf82750814b6b31c8c83ee11ad25a41196 (patch)
tree34f4df8ac831cbf159ba07085ca5ba4fb43a251c
parentd1390bd87db1a7e59bbd72f5991fbbc6374c98b4 (diff)
Follow on for #1845 - handle paths with dots in them properly.
-rw-r--r--modules/gallery/helpers/legal_file.php2
-rw-r--r--modules/gallery/tests/Legal_File_Helper_Test.php6
2 files changed, 7 insertions, 1 deletions
diff --git a/modules/gallery/helpers/legal_file.php b/modules/gallery/helpers/legal_file.php
index af6472ca..075de9cd 100644
--- a/modules/gallery/helpers/legal_file.php
+++ b/modules/gallery/helpers/legal_file.php
@@ -89,7 +89,7 @@ class legal_file_Core {
if (strpos($filename, ".") === false) {
return "{$filename}.{$new_ext}";
} else {
- return preg_replace("/\..*?$/", ".{$new_ext}", $filename);
+ return preg_replace("/\.[^\.]*?$/", ".{$new_ext}", $filename);
}
}
}
diff --git a/modules/gallery/tests/Legal_File_Helper_Test.php b/modules/gallery/tests/Legal_File_Helper_Test.php
index c101de10..6f94c9cd 100644
--- a/modules/gallery/tests/Legal_File_Helper_Test.php
+++ b/modules/gallery/tests/Legal_File_Helper_Test.php
@@ -29,4 +29,10 @@ class Legal_File_Helper_Test extends Gallery_Unit_Test_Case {
public function change_extension_with_no_extension_test() {
$this->assert_equal("foo.flv", legal_file::change_extension("foo", "flv"));
}
+
+ public function change_extension_path_containing_dots_test() {
+ $this->assert_equal(
+ "/website/foo.com/VID_20120513_105421.jpg",
+ legal_file::change_extension("/website/foo.com/VID_20120513_105421.mp4", "jpg"));
+ }
} \ No newline at end of file