Convert the event handlers for the "identity provider changed" and "user_deleted" events to use ORM or the Kohana query builder to build the database update calls instead of coding the sql directly.

This commit is contained in:
Tim Almdal
2009-11-01 10:22:56 -08:00
parent 808fd4d3a0
commit 376eb5673f
3 changed files with 43 additions and 19 deletions

View File

@@ -24,23 +24,24 @@ class comment_event_Core {
static function user_deleted($user) {
$guest = identity::guest();
Database::instance()
->query("UPDATE {comments}
SET author_id = {$guest->id},
guest_email = NULL,
guest_name = 'guest',
guest_url = NULL
WHERE author_id = {$user->id}");
Database::instance()->from("comments")
->set(array("author_id" => $guest->id,
"guest_email" => null,
"guest_name" => "guest",
"guest_url" => null))
->where(array("author_id" => $user->id))
->update();
}
static function identity_provider_changed($old_provider, $new_provider) {
$guest = identity::guest();
Database::instance()
->query("UPDATE {comments}
SET author_id = {$guest->id},
guest_email = NULL,
guest_name = 'guest',
guest_url = null");
Database::instance()->from("comments")
->set(array("author_id" => $guest->id,
"guest_email" => null,
"guest_name" => "guest",
"guest_url" => null))
->where("1 = 1")
->update();
}
static function admin_menu($menu, $theme) {

View File

@@ -31,15 +31,35 @@ class gallery_event_Core {
static function user_deleted($user) {
$admin = identity::admin_user();
$db = Database::instance();
$db->query("UPDATE {tasks} SET owner_id = {$admin->id} where owner_id = {$user->id}");
$db->query("UPDATE {items} SET owner_id = {$admin->id} where owner_id = {$user->id}");
$db->from("tasks")
->set(array("owner_id" => $admin->id))
->where(array("owner_id" => $user->id))
->update();
$db->from("items")
->set(array("owner_id" => $admin->id))
->where(array("owner_id" => $user->id))
->update();
$db->from("logs")
->set(array("user_id" => $admin->id))
->where(array("user_id" => $user->id))
->update();
}
static function identity_provider_changed($old_provider, $new_provider) {
$admin = identity::admin_user();
$db = Database::instance();
$db->query("UPDATE {tasks} SET owner_id = {$admin->id}");
$db->query("UPDATE {items} SET owner_id = {$admin->id}");
$db->from("tasks")
->set(array("owner_id" => $admin->id))
->where("1 = 1")
->update();
$db->from("items")
->set(array("owner_id" => $admin->id))
->where("1 = 1")
->update();
$db->from("logs")
->set(array("user_id" => $admin->id))
->where("1 = 1")
->update();
}
static function group_created($group) {

View File

@@ -53,11 +53,14 @@ class notification_event_Core {
}
static function user_deleted($user) {
Database::instance()->query("DELETE FROM {subscriptions} where user_id = {$user->id}");
ORM::factory("subscriptions")
->where(array("user_id", $user->id))
->delete_all();
}
static function identity_provider_changed($old_provider, $new_provider) {
Database::instance()->query("DELETE FROM {subscriptions}");
ORM::factory("subscriptions")
->delete_all();
}
static function comment_created($comment) {