summaryrefslogtreecommitdiff
path: root/modules/comment/helpers
diff options
context:
space:
mode:
authorChad Kieffer <ckieffer@gmail.com>2009-08-09 09:51:40 -0600
committerChad Kieffer <ckieffer@gmail.com>2009-08-09 09:51:40 -0600
commitea17a51148884d0297baf3fc8b94916d9c60a5d3 (patch)
tree5e3cde26e954f8248ebacbf7af38e3f4b63ed4fa /modules/comment/helpers
parent9fa4e8972596d015d4e4259aabb600c886d6381e (diff)
parent7aac471b828d4405b3fb0d736a06a5b92875883e (diff)
Merge branch 'master' of git@github.com:bharat/gallery3
Diffstat (limited to 'modules/comment/helpers')
-rw-r--r--modules/comment/helpers/comment_installer.php13
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/comment/helpers/comment_installer.php b/modules/comment/helpers/comment_installer.php
index f54913c3..edf2427c 100644
--- a/modules/comment/helpers/comment_installer.php
+++ b/modules/comment/helpers/comment_installer.php
@@ -52,8 +52,8 @@ class comment_installer {
}
static function upgrade($version) {
+ $db = Database::instance();
if ($version == 1) {
- $db = Database::instance();
$db->query("ALTER TABLE {comments} CHANGE `state` `state` varchar(15) default 'unpublished'");
module::set_version("comment", 2);
}
@@ -61,9 +61,16 @@ class comment_installer {
static function uninstall() {
$db = Database::instance();
- $sql = "SELECT `item_id` FROM {comments}";
- module::event("item_related_update_batch", $sql);
+ // Notify listeners that we're deleting some data. This is probably going to be very
+ // inefficient for large uninstalls, and we could make it better by doing things like passing
+ // a SQL fragment through so that the listeners could use subselects. But by using a single,
+ // simple event API we lighten the load on module developers.
+ foreach (ORM::factory("item")
+ ->join("comments", "items.id", "comments.item_id")
+ ->find_all() as $item) {
+ module::event("item_related_update", $item);
+ }
$db->query("DROP TABLE IF EXISTS {comments};");
}
}