summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/welcome.php13
-rw-r--r--core/views/welcome.html.php3
-rw-r--r--modules/watermark/controllers/watermark.php42
-rw-r--r--modules/watermark/helpers/watermark.php29
-rw-r--r--modules/watermark/helpers/watermark_installer.php38
-rw-r--r--modules/watermark/views/watermark_add_form.html.php46
6 files changed, 168 insertions, 3 deletions
diff --git a/core/controllers/welcome.php b/core/controllers/welcome.php
index cff39fd1..3b00a1b8 100644
--- a/core/controllers/welcome.php
+++ b/core/controllers/welcome.php
@@ -35,12 +35,20 @@ class Welcome_Controller extends Template_Controller {
->where("type", "photo")->orderby("level", "desc")->find();
$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" => "");
+ } else {
+ $this->template->add_watermark_html = "";
+ }
} catch (Exception $e) {
$this->template->album_count = 0;
$this->template->photo_count = 0;
$this->template->deepest_photo = null;
$this->template->album_tree = array();
$this->template->add_photo_html = "";
+ $this->template->add_watermark_html = "";
}
$this->_load_user_info();
@@ -507,8 +515,7 @@ class Welcome_Controller extends Template_Controller {
return photo::get_add_form($parent);
}
- public function _get_local_import_html($user_name="admin") {
- $user = ORM::factory("user")->where("name", $user_name)->find();
- return local_import::get_admin_page($user);
+ public function _get_add_watermark_html() {
+ return watermark::get_watermark_form();
}
}
diff --git a/core/views/welcome.html.php b/core/views/welcome.html.php
index 7b132231..075a485a 100644
--- a/core/views/welcome.html.php
+++ b/core/views/welcome.html.php
@@ -284,6 +284,9 @@
<?= new View("rearrange.html") ?>
</fieldset>
<? endif ?>
+ <? if (module::is_installed("watermark")): ?>
+ <?= $add_watermark_html ?>
+ <? endif ?>
</div>
<? if (module::is_installed("user")): ?>
diff --git a/modules/watermark/controllers/watermark.php b/modules/watermark/controllers/watermark.php
new file mode 100644
index 00000000..cd294c6c
--- /dev/null
+++ b/modules/watermark/controllers/watermark.php
@@ -0,0 +1,42 @@
+<?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_Controller extends Controller {
+ public function load() {
+ $form = new View("watermark_add_form.html");
+ $form->errors = $form->fields = array("file" => "");
+
+ 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));
+ }
+ }
+
+ print $form;
+ }
+} \ No newline at end of file
diff --git a/modules/watermark/helpers/watermark.php b/modules/watermark/helpers/watermark.php
new file mode 100644
index 00000000..94f0f9de
--- /dev/null
+++ b/modules/watermark/helpers/watermark.php
@@ -0,0 +1,29 @@
+<?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_Core {
+ public static function get_watermark_form() {
+ $form = new Forge("watermark/create", "", "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->submit(_("Upload"));
+ return $form;
+ }
+} \ No newline at end of file
diff --git a/modules/watermark/helpers/watermark_installer.php b/modules/watermark/helpers/watermark_installer.php
new file mode 100644
index 00000000..617c505c
--- /dev/null
+++ b/modules/watermark/helpers/watermark_installer.php
@@ -0,0 +1,38 @@
+<?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_installer {
+ public static function install() {
+ $db = Database::instance();
+ $version = module::get_version("watermark");
+ if ($version == 0) {
+ module::set_version("watermark", 1);
+ module::set_var("watermark", "watermark_image_path", "");
+ module::set_var("watermark", "watermark_position", serialize(array()));
+ }
+ }
+
+ public static function uninstall() {
+ $module = module::get("watermark");
+
+ $db = Database::instance();
+ $db->query("DELETE FROM vars WHERE module_id = '{$module->id}';");
+ module::delete("watermark");
+ }
+}
diff --git a/modules/watermark/views/watermark_add_form.html.php b/modules/watermark/views/watermark_add_form.html.php
new file mode 100644
index 00000000..b5c50697
--- /dev/null
+++ b/modules/watermark/views/watermark_add_form.html.php
@@ -0,0 +1,46 @@
+<? defined("SYSPATH") or die("No direct script access."); ?>
+<? if (empty($_FILES)): ?>
+<script>
+$("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();
+ }
+ });
+}
+</script>
+<? endif ?>
+<form action="<?= url::site("watermark/load")?>" method="post" id="gUploadWatermarkForm"
+ enctype="multipart/form-data">
+ <fieldset>
+ <legend><?= _("Upload Watermark")?></legend>
+ <ul>
+ <li <? if (isset($errors["file"])): ?>class ="gError"<? endif ?>>
+ <label for="file"><?= _("File")?></label>
+ <input type="file" id="file" name="file" class="upload"
+ value="<?= $fields["file"] ?>">
+ <? if (isset($errors["file"]["type"])): ?>
+ <p><?= _("Invalid File Type") ?></p>
+ <? elseif (isset($errors["file"]["size"])): ?>
+ <p><?= _("File too large") ?></p>
+ <? elseif (isset($errors["file"]["valid"])): ?>
+ <p><?= _("Upload failed") ?></p>
+ <? endif ?>
+ <? if (isset($success)): ?>
+ <p><?= $success ?></p>
+ <? endif ?>
+ </li>
+ <li>
+ <button type="submit" class="submit"><?= _("Upload") ?></button>
+ </li>
+ </ul>
+ </fieldset>
+</form> \ No newline at end of file