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 ?>
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 @@
+