Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class.

This commit is contained in:
Chad Parry
2011-04-27 20:29:06 -06:00
parent 26585fed03
commit 7ff485fa48
5 changed files with 44 additions and 24 deletions

View File

@@ -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");

View File

@@ -0,0 +1,39 @@
<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2011 Chad Parry
*
* 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
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class extensions_Core {
static function get_upload_extensions() {
// Create a default list of allowed extensions and then let modules modify it.
$extensions_wrapper = new stdClass();
$extensions_wrapper->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;
}
}

View File

@@ -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;
}
}
}

View File

@@ -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");
}

View File

@@ -154,24 +154,4 @@ class upload_Core {
return ($file['size'] <= $size);
}
static function get_upload_extensions() {
// Create a default list of allowed extensions and then let modules modify it.
$extensions_wrapper = new stdClass();
$extensions_wrapper->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 (upload::get_upload_extensions() as $extension) {
array_push($filters, "*." . $extension, "*." . strtoupper($extension));
}
return $filters;
}
} // End upload