summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gallery/helpers/legal_file.php14
-rw-r--r--modules/gallery/tests/Item_Model_Test.php2
-rw-r--r--modules/gallery_unit_test/helpers/test.php15
3 files changed, 27 insertions, 4 deletions
diff --git a/modules/gallery/helpers/legal_file.php b/modules/gallery/helpers/legal_file.php
index b3622764..e6f4cb54 100644
--- a/modules/gallery/helpers/legal_file.php
+++ b/modules/gallery/helpers/legal_file.php
@@ -19,7 +19,7 @@
*/
class legal_file_Core {
/**
- * Create a default list of allowed photo MIME types paired with their extensions and then let
+ * Create a default list of allowed photo MIME types paired with their extensions and then let
* modules modify it. This is an ordered map, mapping extensions to their MIME types.
* Extensions cannot be duplicated, but MIMEs can (e.g. jpeg and jpg both map to image/jpeg).
*
@@ -32,7 +32,11 @@ class legal_file_Core {
module::event("photo_types_by_extension", $types_by_extension_wrapper);
if ($extension) {
// return matching MIME type
- return $types_by_extension_wrapper->types_by_extension[$extension];
+ if (isset($types_by_extension_wrapper->types_by_extension[$extension])) {
+ return $types_by_extension_wrapper->types_by_extension[$extension];
+ } else {
+ return null;
+ }
} else {
// return complete array
return $types_by_extension_wrapper->types_by_extension;
@@ -53,7 +57,11 @@ class legal_file_Core {
module::event("movie_types_by_extension", $types_by_extension_wrapper);
if ($extension) {
// return matching MIME type
- return $types_by_extension_wrapper->types_by_extension[$extension];
+ if (isset($types_by_extension_wrapper->types_by_extension[$extension])) {
+ return $types_by_extension_wrapper->types_by_extension[$extension];
+ } else {
+ return null;
+ }
} else {
// return complete array
return $types_by_extension_wrapper->types_by_extension;
diff --git a/modules/gallery/tests/Item_Model_Test.php b/modules/gallery/tests/Item_Model_Test.php
index 8ae8a5dd..a3929e62 100644
--- a/modules/gallery/tests/Item_Model_Test.php
+++ b/modules/gallery/tests/Item_Model_Test.php
@@ -356,7 +356,7 @@ class Item_Model_Test extends Gallery_Unit_Test_Case {
public function movie_files_must_have_an_extension_test() {
try {
- $movie = test::random_photo_unsaved();
+ $movie = test::random_movie_unsaved();
$movie->type = "movie";
$movie->mime_type = "video/x-flv";
$movie->name = "no_extension";
diff --git a/modules/gallery_unit_test/helpers/test.php b/modules/gallery_unit_test/helpers/test.php
index 7fba0eda..8a2044a9 100644
--- a/modules/gallery_unit_test/helpers/test.php
+++ b/modules/gallery_unit_test/helpers/test.php
@@ -33,6 +33,21 @@ class test_Core {
return test::random_album_unsaved($parent)->save()->reload();
}
+ static function random_movie_unsaved($parent=null) {
+ $rand = test::random_string(6);
+ $photo = ORM::factory("item");
+ $photo->type = "movie";
+ $photo->parent_id = $parent ? $parent->id : 1;
+ $photo->set_data_file(MODPATH . "gallery/tests/test.flv");
+ $photo->name = "name_$rand.flv";
+ $photo->title = "title_$rand";
+ return $photo;
+ }
+
+ static function random_movie($parent=null) {
+ return test::random_movie_unsaved($parent)->save()->reload();
+ }
+
static function random_photo_unsaved($parent=null) {
$rand = test::random_string(6);
$photo = ORM::factory("item");