diff options
-rw-r--r-- | core/controllers/welcome.php | 13 | ||||
-rw-r--r-- | core/views/welcome.html.php | 3 | ||||
-rw-r--r-- | modules/watermark/controllers/watermark.php | 42 | ||||
-rw-r--r-- | modules/watermark/helpers/watermark.php | 29 | ||||
-rw-r--r-- | modules/watermark/helpers/watermark_installer.php | 38 | ||||
-rw-r--r-- | modules/watermark/views/watermark_add_form.html.php | 46 |
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 |