Skip to content

Commit

Permalink
Move the extensions helpers out of the Kohana system directory and in…
Browse files Browse the repository at this point in the history
…to their own Gallery Extensions class.
  • Loading branch information
chadparry committed Apr 28, 2011
1 parent 26585fe commit 7ff485f
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 24 deletions.
2 changes: 1 addition & 1 deletion modules/gallery/controllers/uploader.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public function add_photo($id) {
$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");
Expand Down
39 changes: 39 additions & 0 deletions modules/gallery/helpers/extensions.php
Original file line number Diff line number Diff line change
@@ -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;
}
}
4 changes: 2 additions & 2 deletions modules/gallery/libraries/Form_Uploadify.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public function render() {
$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();
Expand All @@ -69,4 +69,4 @@ public function render() {
public function validate() {
return true;
}
}
}
3 changes: 2 additions & 1 deletion modules/gallery/models/item.php
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,8 @@ public function valid_name(Validation $v, $field) {

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");
}
Expand Down
20 changes: 0 additions & 20 deletions system/helpers/upload.php
Original file line number Diff line number Diff line change
Expand Up @@ -154,24 +154,4 @@ public static function size(array $file, array $size)
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

0 comments on commit 7ff485f

Please sign in to comment.