summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/helpers/graphics.php8
-rw-r--r--modules/watermark/controllers/admin_watermarks.php13
-rw-r--r--modules/watermark/helpers/watermark.php4
-rw-r--r--modules/watermark/helpers/watermark_installer.php3
4 files changed, 21 insertions, 7 deletions
diff --git a/core/helpers/graphics.php b/core/helpers/graphics.php
index 708b7bce..c695abb2 100644
--- a/core/helpers/graphics.php
+++ b/core/helpers/graphics.php
@@ -122,4 +122,12 @@ class graphics_Core {
->resize($width, $height, $master)
->save($output_file);
}
+
+ /**
+ * Mark all thumbnails and resizes as dirty. They will have to be rebuilt.
+ *
+ */
+ public static function mark_all_dirty() {
+ Database::instance()->query("UPDATE `items` SET `thumb_dirty` = 1, `resize_dirty` = 1");
+ }
}
diff --git a/modules/watermark/controllers/admin_watermarks.php b/modules/watermark/controllers/admin_watermarks.php
index 3fc06c06..733e0589 100644
--- a/modules/watermark/controllers/admin_watermarks.php
+++ b/modules/watermark/controllers/admin_watermarks.php
@@ -38,10 +38,13 @@ class Admin_Watermarks_Controller extends Admin_Controller {
}
public function edit() {
- rest::http_content_type(rest::JSON);
$form = watermark::get_edit_form();
if ($form->validate()) {
module::set_var("watermark", "position", $form->edit_watermark->position->value);
+ graphics::mark_all_dirty();
+
+ log::success("watermark", _("Watermark changed"));
+ message::success(_("Watermark changed"));
print json_encode(
array("result" => "success",
"location" => url::site("admin/watermarks")));
@@ -57,7 +60,6 @@ class Admin_Watermarks_Controller extends Admin_Controller {
}
public function delete() {
- rest::http_content_type(rest::JSON);
$form = watermark::get_delete_form();
if ($form->validate()) {
if ($name = module::get_var("watermark", "name")) {
@@ -68,6 +70,7 @@ class Admin_Watermarks_Controller extends Admin_Controller {
module::clear_var("watermark", "height");
module::clear_var("watermark", "mime_type");
module::clear_var("watermark", "position");
+ graphics::mark_all_dirty();
log::success("watermark", _("Watermark deleted"));
message::success(_("Watermark deleted"));
@@ -87,7 +90,6 @@ class Admin_Watermarks_Controller extends Admin_Controller {
}
public function add() {
- rest::http_content_type(rest::JSON);
$form = watermark::get_add_form();
if ($form->validate()) {
$file = $_POST["file"];
@@ -108,10 +110,11 @@ class Admin_Watermarks_Controller extends Admin_Controller {
module::set_var("watermark", "height", $image_info[1]);
module::set_var("watermark", "mime_type", $image_info["mime"]);
module::set_var("watermark", "position", $form->add_watermark->position->value);
- message::success(_("Watermark saved"));
- log::success("watermark", _("Watermark saved"));
+ graphics::mark_all_dirty();
@unlink($file);
+ message::success(_("Watermark saved"));
+ log::success("watermark", _("Watermark saved"));
print json_encode(
array("result" => "success",
"location" => url::site("admin/watermarks")));
diff --git a/modules/watermark/helpers/watermark.php b/modules/watermark/helpers/watermark.php
index af266bc5..40d779f7 100644
--- a/modules/watermark/helpers/watermark.php
+++ b/modules/watermark/helpers/watermark.php
@@ -26,7 +26,7 @@ class watermark_Core {
->options(array("northwest", "north", "northeast",
"west", "center", "east",
"southwest", "south", "southeast"))
- ->selected("8");
+ ->selected("southeast");
$group->submit(_("Upload"));
return $form;
}
@@ -36,7 +36,7 @@ class watermark_Core {
$group = $form->group("edit_watermark")->label(_("Edit Watermark"));
$group->dropdown("position")->label(_("Watermark Position"))
->options(self::positions())
- ->selected("8");
+ ->selected("southeast");
$group->submit(_("Modify"));
return $form;
}
diff --git a/modules/watermark/helpers/watermark_installer.php b/modules/watermark/helpers/watermark_installer.php
index ef4f2c2f..52957273 100644
--- a/modules/watermark/helpers/watermark_installer.php
+++ b/modules/watermark/helpers/watermark_installer.php
@@ -40,6 +40,9 @@ class watermark_installer {
}
public static function uninstall() {
+ if (module::get_var("watermark", "name")) {
+ graphics::mark_all_dirty();
+ }
module::delete("watermark");
Database::instance()->query("DROP TABLE `watermarks`");
dir::unlink(VARPATH . "modules/watermark");