diff options
Diffstat (limited to 'modules/gallery/controllers/uploader.php')
-rw-r--r-- | modules/gallery/controllers/uploader.php | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/modules/gallery/controllers/uploader.php b/modules/gallery/controllers/uploader.php index 6b1455e4..20c10b3a 100644 --- a/modules/gallery/controllers/uploader.php +++ b/modules/gallery/controllers/uploader.php @@ -1,7 +1,7 @@ <?php defined("SYSPATH") or die("No direct script access."); /** * Gallery - a web based photo album viewer and editor - * Copyright (C) 2000-2011 Bharat Mediratta + * Copyright (C) 2000-2012 Bharat Mediratta * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -51,10 +51,11 @@ class Uploader_Controller extends Controller { $file_validation = new Validation($_FILES); $file_validation->add_rules( "Filedata", "upload::valid", "upload::required", - "upload::type[gif,jpg,jpeg,png,flv,mp4,m4v]"); + "upload::type[" . implode(",", legal_file::get_extensions()) . "]"); if ($form->validate() && $file_validation->validate()) { $temp_filename = upload::save("Filedata"); + Event::add("system.shutdown", create_function("", "unlink(\"$temp_filename\");")); try { $item = ORM::factory("item"); $item->name = substr(basename($temp_filename), 10); // Skip unique identifier Kohana adds @@ -87,14 +88,10 @@ class Uploader_Controller extends Controller { Kohana_Log::add("error", "Validation errors: " . print_r($e->validation->errors(), 1)); } - if (file_exists($temp_filename)) { - unlink($temp_filename); - } header("HTTP/1.1 500 Internal Server Error"); print "ERROR: " . $e->getMessage(); return; } - unlink($temp_filename); print "FILEID: $item->id"; } else { header("HTTP/1.1 400 Bad Request"); |