diff options
Diffstat (limited to 'modules/watermark')
-rw-r--r-- | modules/watermark/controllers/watermark.php | 28 | ||||
-rw-r--r-- | modules/watermark/helpers/watermark.php | 4 | ||||
-rw-r--r-- | modules/watermark/helpers/watermark_block.php | 24 | ||||
-rw-r--r-- | modules/watermark/js/watermark.js | 15 |
4 files changed, 54 insertions, 17 deletions
diff --git a/modules/watermark/controllers/watermark.php b/modules/watermark/controllers/watermark.php index cd294c6c..4bf90401 100644 --- a/modules/watermark/controllers/watermark.php +++ b/modules/watermark/controllers/watermark.php @@ -19,22 +19,20 @@ */ class Watermark_Controller extends Controller { public function load() { - $form = new View("watermark_add_form.html"); - $form->errors = $form->fields = array("file" => ""); + $form = watermark::get_watermark_form(); + if ($form->validate()) { + $file = $_POST["file"]; + + // Format of the file is config["upload.directory"]/uploadfile-hash-filename. + $index = strrpos($file, "-"); + $watermark_target = VARPATH . substr($file, strrpos($file, "-") + 1); + if (rename($file, $watermark_target)) { + module::set_var("watermark", "watermark_image_path", $watermark_target); - if ($_FILES) { - $post = Validation::factory(array_merge($_POST, $_FILES)) - ->add_rules("file", "upload::valid", "upload::type[gif,jpg,png]", "upload::size[1M]"); - - if ($post->validate()) { - $file = upload::save("file"); - Kohana::log("debug", $file); - $form->success = _("Watermark saved"); - } else { - $form->fields = arr::overwrite($form->fields, $post->as_array()); - $form->errors = arr::overwrite($form->errors, $post->errors()); - Kohana::log("debug", print_r($form->errors,1)); - } + $form->success = _("Watermark saved"); + } else { + // @todo set and error message + } } print $form; diff --git a/modules/watermark/helpers/watermark.php b/modules/watermark/helpers/watermark.php index 94f0f9de..c15e4959 100644 --- a/modules/watermark/helpers/watermark.php +++ b/modules/watermark/helpers/watermark.php @@ -19,10 +19,10 @@ */ class watermark_Core { public static function get_watermark_form() { - $form = new Forge("watermark/create", "", "post", + $form = new Forge("watermark/load", "", "post", array("id" => "gUploadWatermarkForm", "enctype" => "multipart/form-data")); $group = $form->group("add_watermark")->label(_("Upload Watermark")); - $group->upload("file")->label(true)->rules("allow[jpg,png,gif],size[1M]"); + $group->upload("file")->label(_("File"))->rules("allow[jpg,png,gif],size[1M]"); $group->submit(_("Upload")); return $form; } diff --git a/modules/watermark/helpers/watermark_block.php b/modules/watermark/helpers/watermark_block.php new file mode 100644 index 00000000..0751268c --- /dev/null +++ b/modules/watermark/helpers/watermark_block.php @@ -0,0 +1,24 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 + * 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 watermark_block_Core { + public static function head($theme) { + return html::script("modules/watermark/js/watermark.js"); + } +} diff --git a/modules/watermark/js/watermark.js b/modules/watermark/js/watermark.js new file mode 100644 index 00000000..66a7b274 --- /dev/null +++ b/modules/watermark/js/watermark.js @@ -0,0 +1,15 @@ +$("document").ready(function() { + ajaxify_form(); +}); + +function ajaxify_form() { + $("#gUploadWatermarkForm").ajaxForm({ + complete:function(xhr, statusText) { + $("#gUploadWatermarkForm").replaceWith(xhr.responseText); + if (xhr.status == 200) { + $("#gUploadWatermarkForm").clearForm(); + } + ajaxify_form(); + } + }); +} |