diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-02 03:09:17 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-02 03:09:17 +0000 |
commit | 69a7e238a4da3ac92f0b62aa2aba6ce3b530a943 (patch) | |
tree | 8e64d2da818f1b0f37ce7e5ebbbf07b80edf8a64 /modules/notification | |
parent | 41dbe5cf6cbd9939da1423a5000808814bb5979e (diff) |
As we stagger towards completing the notification module.
Item changes and Item additions email notifications with this change.
Still to come is item deleted, comment added and comment updated.
Diffstat (limited to 'modules/notification')
-rw-r--r-- | modules/notification/helpers/notification.php | 68 | ||||
-rw-r--r-- | modules/notification/helpers/notification_event.php | 2 | ||||
-rw-r--r-- | modules/notification/views/comment_added.html.php | 0 | ||||
-rw-r--r-- | modules/notification/views/comment_changed.html.php | 0 | ||||
-rw-r--r-- | modules/notification/views/item_added.html.php | 25 | ||||
-rw-r--r-- | modules/notification/views/item_deleted.html.php | 0 | ||||
-rw-r--r-- | modules/notification/views/item_updated.html.php | 36 |
7 files changed, 102 insertions, 29 deletions
diff --git a/modules/notification/helpers/notification.php b/modules/notification/helpers/notification.php index 00ea994d..9a942728 100644 --- a/modules/notification/helpers/notification.php +++ b/modules/notification/helpers/notification.php @@ -82,48 +82,60 @@ class notification { return $subscribers; } - static function send_item_changed($old, $new=null) { - $users = self::get_subscribers($item); + static function send_item_updated($old, $new) { + $body = new View("item_updated.html"); + $body->subject = sprintf(t("Item %s updated"), $old->title); + $body->type = ucfirst($old->type); + $body->item_title = $old->title; + $body->description = $item->description; + $body->new_title = $old->title != $new->title ? $new->title : null; + $body->new_description = $old->title != $new->description ? $new->description : null; + $body->url = url::site("{$old->type}s/$old->id", "http"); + + self::_send_message($old, $body); } static function send_item_add($item) { - $users = self::get_subscribers($item); - Sendmail::factory() - ->to($users) - ->from("from@gallery3.com") - ->subject(t("Item added to Gallery3")) - ->message($item->title) - ->send(); + $body = new View("item_added.html"); + $body->subject = sprintf(t("Item added to %s"), $item->parent()->title); + $body->parent_title = $item->parent()->title; + $body->type = $item->type; + $body->item_title = $item->title; + $body->description = $item->description; + $body->url = url::site("{$item->type}s/$item->id", "http"); + + self::_send_message($item, $body); } static function send_item_delete($item) { - $users = self::get_subscribers($item); - Sendmail::factory() - ->to($users) - ->from("from@gallery3.com") - ->subject("Item deleted: $item->title") - ->message("It was deleted") - ->send(); + $body = new View("item_deleted.html"); + $body->subject = sprintf(t("Item deleted from %s"), $item->parent()->title); + + self::_send_message($item, $body); } static function send_comment_added($comment) { - $users = self::get_subscribers($comment->item()); - Sendmail::factory() - ->to($users) - ->from("from@gallery3.com") - ->subject("Comment added to $comment->$item->title") - ->message($comment->text) - ->send(); + $body = new View("comment_added.html"); + $body->subject = sprintf(t("Comment added to %s"), $comment->item()->title); + + self::_send_message($comment->item(), $body); } static function send_comment_changed($old, $new) { - $users = self::get_subscribers($comment->item()); + $body = new View("comment_changed.html"); + $body->subject = sprintf(t("Comment changed on %s"), $old->item()->title); + + self::_send_message($old->item(), $body); + } + + private function _send_message($item, $body) { + $users = self::get_subscribers($item); Sendmail::factory() ->to($users) - ->from("from@gallery3.com") - ->subject("Comment updated on item: $comment->$item-title") - ->message($new->text) + ->subject($body->subject) + ->header("Mime-Version", "1.0") + ->header("Content-type", "text/html; charset=iso-8859-1") + ->message($body->render()) ->send(); } - } diff --git a/modules/notification/helpers/notification_event.php b/modules/notification/helpers/notification_event.php index 415093a5..e7c7aac1 100644 --- a/modules/notification/helpers/notification_event.php +++ b/modules/notification/helpers/notification_event.php @@ -19,7 +19,7 @@ */ class notification_event_Core { static function item_updated($old, $new) { - notification::send_item_changed($old, $new); + notification::send_item_updated($old, $new); } static function item_created($item) { diff --git a/modules/notification/views/comment_added.html.php b/modules/notification/views/comment_added.html.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/modules/notification/views/comment_added.html.php diff --git a/modules/notification/views/comment_changed.html.php b/modules/notification/views/comment_changed.html.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/modules/notification/views/comment_changed.html.php diff --git a/modules/notification/views/item_added.html.php b/modules/notification/views/item_added.html.php new file mode 100644 index 00000000..1832fb39 --- /dev/null +++ b/modules/notification/views/item_added.html.php @@ -0,0 +1,25 @@ +<?php defined("SYSPATH") or die("No direct script access.") ?> +<html> +<head> + <title><?= $subject ?> </title> +</head> +<body> + <h2><?= sprintf(t("A new %s was added to %s"), $type, $parent_title); ?></h2> + <table> + <tr> + <td><?= t("Title:") ?></td> + <td><?= $item_title ?></td> + </tr> + <tr> + <td><?= t("Url:") ?></td> + <td><a href="<?= $url ?>"><?= $url ?></a></td> + </tr> + <? if (!empty($description)): ?> + <tr> + <td><?= t("Description:") ?></td> + <td><?= $description ?></td> + </tr> + <? endif ?> + </table> +</body> +</html> diff --git a/modules/notification/views/item_deleted.html.php b/modules/notification/views/item_deleted.html.php new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/modules/notification/views/item_deleted.html.php diff --git a/modules/notification/views/item_updated.html.php b/modules/notification/views/item_updated.html.php new file mode 100644 index 00000000..126bd5cc --- /dev/null +++ b/modules/notification/views/item_updated.html.php @@ -0,0 +1,36 @@ +<?php defined("SYSPATH") or die("No direct script access.") ?> +<html> +<head> + <title><?= $subject ?> </title> +</head> +<body> + <h2><?= sprintf(t("%s %s was updated"), ucfirst($type), $item_title); ?></h2> + <table> + <tr> + <? if (!empty($new_title)): ?> + <td><?= t("New Title:") ?></td> + <td><?= $new_title ?></td> + <? else: ?> + <td><?= t("Title:") ?></td> + <td><?= $item_title ?></td> + <? endif ?> + </tr> + <tr> + <td><?= t("Url:") ?></td> + <td><a href="<?= $url ?>"><?= $url ?></a></td> + </tr> + <? if (!empty($new_description)): ?> + <tr> + <td><?= t("New Description:") ?></td> + <td><?= $new_description ?></td> + </tr> + <? else: if (!empty($description)): ?> + <tr> + <td><?= t("Description:") ?></td> + <td><?= $description ?></td> + </tr> + <? endif ?> + <? endif ?> + </table> +</body> +</html> |