diff options
-rw-r--r-- | core/controllers/welcome.php | 4 | ||||
-rw-r--r-- | core/views/welcome.html.php | 5 | ||||
-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 |
6 files changed, 59 insertions, 21 deletions
diff --git a/core/controllers/welcome.php b/core/controllers/welcome.php index 3b00a1b8..9e6f9542 100644 --- a/core/controllers/welcome.php +++ b/core/controllers/welcome.php @@ -36,9 +36,7 @@ class Welcome_Controller extends Template_Controller { $this->template->album_tree = $this->_load_album_tree(); $this->template->add_photo_html = $this->_get_add_photo_html(); if (module::is_installed("watermark")) { -// $this->template->add_watermark_html = $this->_get_add_watermark_html(); - $this->template->add_watermark_html = new View("watermark_add_form.html"); - $this->template->add_watermark_html->fields = array("file" => ""); + $this->template->add_watermark_html = $this->_get_add_watermark_html(); } else { $this->template->add_watermark_html = ""; } diff --git a/core/views/welcome.html.php b/core/views/welcome.html.php index 075a485a..d41b81c2 100644 --- a/core/views/welcome.html.php +++ b/core/views/welcome.html.php @@ -157,9 +157,12 @@ <?= html::script("lib/jquery.form.js") ?> <?= html::script("lib/jquery.cookie.js") ?> <?= html::script("lib/jquery.MultiFile.js") ?> - <? if (class_exists("rearrange_block")): ?> + <? if (module::is_installed("rearrange")): ?> <?= rearrange_block::head(null) ?> <? endif ?> + <? if (module::is_installed("watermark")): ?> + <?= watermark_block::head(null) ?> + <? endif ?> </head> <body> <div class="outer"> 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(); + } + }); +} |