From 7ff485fa48c392bbbb0370f67cb1bd6fcc00c2a4 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Wed, 27 Apr 2011 20:29:06 -0600 Subject: Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class. --- modules/gallery/controllers/uploader.php | 2 +- modules/gallery/helpers/extensions.php | 39 ++++++++++++++++++++++++++++ modules/gallery/libraries/Form_Uploadify.php | 4 +-- modules/gallery/models/item.php | 3 ++- 4 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 modules/gallery/helpers/extensions.php (limited to 'modules') diff --git a/modules/gallery/controllers/uploader.php b/modules/gallery/controllers/uploader.php index 12180893..5f3e9ca4 100644 --- a/modules/gallery/controllers/uploader.php +++ b/modules/gallery/controllers/uploader.php @@ -51,7 +51,7 @@ class Uploader_Controller extends Controller { $file_validation = new Validation($_FILES); $file_validation->add_rules( "Filedata", "upload::valid", "upload::required", - "upload::type[" . implode(",", upload::get_upload_extensions()) . "]"); + "upload::type[" . implode(",", extensions::get_upload_extensions()) . "]"); if ($form->validate() && $file_validation->validate()) { $temp_filename = upload::save("Filedata"); diff --git a/modules/gallery/helpers/extensions.php b/modules/gallery/helpers/extensions.php new file mode 100644 index 00000000..bccbfc41 --- /dev/null +++ b/modules/gallery/helpers/extensions.php @@ -0,0 +1,39 @@ +extensions = array("gif", "jpg", "jpeg", "png"); + if (movie::find_ffmpeg()) { + array_push($extensions_wrapper->extensions, "flv", "mp4", "m4v"); + } + module::event("upload_extensions", $extensions_wrapper); + return $extensions_wrapper->extensions; + } + + static function get_upload_filters() { + $filters = array(); + foreach (self::get_upload_extensions() as $extension) { + array_push($filters, "*." . $extension, "*." . strtoupper($extension)); + } + return $filters; + } +} diff --git a/modules/gallery/libraries/Form_Uploadify.php b/modules/gallery/libraries/Form_Uploadify.php index c79b9aa2..c046fe3a 100644 --- a/modules/gallery/libraries/Form_Uploadify.php +++ b/modules/gallery/libraries/Form_Uploadify.php @@ -47,7 +47,7 @@ class Form_Uploadify_Core extends Form_Input { $v->script_data = $this->data["script_data"]; $v->simultaneous_upload_limit = module::get_var("gallery", "simultaneous_upload_limit"); $v->movies_allowed = (bool) movie::find_ffmpeg(); - $v->extensions = upload::get_upload_filters(); + $v->extensions = extensions::get_upload_filters(); $v->suhosin_session_encrypt = (bool) ini_get("suhosin.session.encrypt"); list ($toolkit_max_filesize_bytes, $toolkit_max_filesize) = graphics::max_filesize(); @@ -69,4 +69,4 @@ class Form_Uploadify_Core extends Form_Input { public function validate() { return true; } -} \ No newline at end of file +} diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index ba8e7cde..dcdcfd0d 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -803,7 +803,8 @@ class Item_Model_Core extends ORM_MPTT { if (($this->is_movie() || $this->is_photo()) && !preg_match("/^(" . - implode("|", array_map("preg_quote", upload::get_upload_extensions())) . + implode("|", array_map("preg_quote", + extensions::get_upload_extensions())) . ")\$/i", $ext)) { $v->add_error("name", "illegal_data_file_extension"); } -- cgit v1.2.3