summaryrefslogtreecommitdiff
path: root/modules/gallery
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-07-16 12:29:16 -0700
committerBharat Mediratta <bharat@menalto.com>2009-07-16 12:31:40 -0700
commit0f766b149d0cee7af664f2321fddc6f04cda70ac (patch)
tree51d8cd4e26df82955d57eefaa46349568d054126 /modules/gallery
parent43324fd12a23b35707300ff110f207552c3811f1 (diff)
Second non-trivial change to the event code. We now publish model
related events from within the model handling code. The only exception to this currently is item_created which is challenging because we have to save the item using ORM_MPTT::add_to_parent() before the object itself is fully set up. When we get that down to one call to save() we can publish that event from within the model also.
Diffstat (limited to 'modules/gallery')
-rw-r--r--modules/gallery/controllers/albums.php3
-rw-r--r--modules/gallery/controllers/movies.php3
-rw-r--r--modules/gallery/controllers/photos.php3
-rw-r--r--modules/gallery/helpers/album.php2
-rw-r--r--modules/gallery/helpers/movie.php2
-rw-r--r--modules/gallery/helpers/photo.php2
-rw-r--r--modules/gallery/models/item.php7
7 files changed, 12 insertions, 10 deletions
diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php
index c378e3ce..9980b676 100644
--- a/modules/gallery/controllers/albums.php
+++ b/modules/gallery/controllers/albums.php
@@ -182,7 +182,6 @@ class Albums_Controller extends Items_Controller {
}
if ($valid) {
- $orig = clone $album;
$album->title = $form->edit_album->title->value;
$album->description = $form->edit_album->description->value;
$album->sort_column = $form->edit_album->sort_order->column->value;
@@ -192,8 +191,6 @@ class Albums_Controller extends Items_Controller {
}
$album->save();
- module::event("item_updated", $album);
-
log::success("content", "Updated album", "<a href=\"albums/$album->id\">view</a>");
message::success(
t("Saved album %album_title", array("album_title" => p::clean($album->title))));
diff --git a/modules/gallery/controllers/movies.php b/modules/gallery/controllers/movies.php
index fc511082..d954ad8d 100644
--- a/modules/gallery/controllers/movies.php
+++ b/modules/gallery/controllers/movies.php
@@ -85,14 +85,11 @@ class Movies_Controller extends Items_Controller {
}
if ($valid) {
- $orig = clone $photo;
$photo->title = $form->edit_photo->title->value;
$photo->description = $form->edit_photo->description->value;
$photo->rename($form->edit_photo->filename->value);
$photo->save();
- module::event("item_updated", $photo);
-
log::success("content", "Updated photo", "<a href=\"photos/$photo->id\">view</a>");
message::success(
t("Saved photo %photo_title", array("photo_title" => p::clean($photo->title))));
diff --git a/modules/gallery/controllers/photos.php b/modules/gallery/controllers/photos.php
index 77627009..9ce6ed23 100644
--- a/modules/gallery/controllers/photos.php
+++ b/modules/gallery/controllers/photos.php
@@ -78,14 +78,11 @@ class Photos_Controller extends Items_Controller {
}
if ($valid) {
- $orig = clone $photo;
$photo->title = $form->edit_photo->title->value;
$photo->description = $form->edit_photo->description->value;
$photo->rename($form->edit_photo->filename->value);
$photo->save();
- module::event("item_updated", $photo);
-
log::success("content", "Updated photo", "<a href=\"photos/$photo->id\">view</a>");
message::success(
t("Saved photo %photo_title", array("photo_title" => p::clean($photo->title))));
diff --git a/modules/gallery/helpers/album.php b/modules/gallery/helpers/album.php
index 1197f243..f1a6c060 100644
--- a/modules/gallery/helpers/album.php
+++ b/modules/gallery/helpers/album.php
@@ -71,6 +71,8 @@ class album_Core {
mkdir(dirname($album->thumb_path()));
mkdir(dirname($album->resize_path()));
+ // @todo: publish this from inside Item_Model::save() when we refactor to the point where
+ // there's only one save() happening here.
module::event("item_created", $album);
return $album;
diff --git a/modules/gallery/helpers/movie.php b/modules/gallery/helpers/movie.php
index d62ead76..4f4169d5 100644
--- a/modules/gallery/helpers/movie.php
+++ b/modules/gallery/helpers/movie.php
@@ -102,6 +102,8 @@ class movie_Core {
copy($filename, $movie->file_path());
+ // @todo: publish this from inside Item_Model::save() when we refactor to the point where
+ // there's only one save() happening here.
module::event("item_created", $movie);
// Build our thumbnail
diff --git a/modules/gallery/helpers/photo.php b/modules/gallery/helpers/photo.php
index e8a4f357..ce964c14 100644
--- a/modules/gallery/helpers/photo.php
+++ b/modules/gallery/helpers/photo.php
@@ -105,6 +105,8 @@ class photo_Core {
copy($filename, $photo->file_path());
+ // @todo: publish this from inside Item_Model::save() when we refactor to the point where
+ // there's only one save() happening here.
module::event("item_created", $photo);
// Build our thumbnail/resizes
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index 80f19d26..94e2fcf7 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -350,9 +350,14 @@ class Item_Model extends ORM_MPTT {
$this->created = $this->updated;
$r = ORM::factory("item")->select("MAX(weight) as max_weight")->find();
$this->weight = $r->max_weight + 1;
+ $created = 1;
}
}
- return parent::save();
+ parent::save();
+ if (!isset($created)) {
+ module::event("item_updated", $this);
+ }
+ return $this;
}
/**