summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/welcome.php4
-rw-r--r--core/views/welcome.html.php5
-rw-r--r--modules/watermark/controllers/watermark.php28
-rw-r--r--modules/watermark/helpers/watermark.php4
-rw-r--r--modules/watermark/helpers/watermark_block.php24
-rw-r--r--modules/watermark/js/watermark.js15
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();
+ }
+ });
+}