From 808fd4d3a0f38a2ea80bb8d56e1f8c6ce499e42d Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 1 Nov 2009 09:32:42 -0800 Subject: Update the modified with a local fix for Kohana ticket #2298 --- modules/gallery/tests/Database_Test.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'modules') diff --git a/modules/gallery/tests/Database_Test.php b/modules/gallery/tests/Database_Test.php index d83212ad..ad2bbba1 100644 --- a/modules/gallery/tests/Database_Test.php +++ b/modules/gallery/tests/Database_Test.php @@ -99,7 +99,7 @@ class Database_Test extends Unit_Test_Case { UNIQUE KEY(`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8"; $this->assert_same($expected, $converted); - + $sql = "UPDATE {test_tables} SET `name` = '{test string}' " . "WHERE `item_id` IN " . " (SELECT `id` FROM {items} " . @@ -116,12 +116,16 @@ class Database_Test extends Unit_Test_Case { $this->assert_same($expected, $sql); } - public function setup() { - } + function prefix_no_replacement_test() { + $update = Database_For_Test::instance()->from("test_tables") + ->where("1 = 1") + ->set(array("name" => "Test Name")) + ->update(); - public function teardown() { - } + $expected = "UPDATE `g3test_test_tables` SET `name` = 'Test Name' WHERE 1 = 1"; + $this->assert_same($expected, $update); + } } class Database_For_Test extends Database { @@ -131,4 +135,12 @@ class Database_For_Test extends Database { $db->config["table_prefix"] = "g3test_"; return $db; } + + public function query($sql = '') { + if (!empty($sql)) { + print " query($sql)\n"; + $sql = $this->add_table_prefixes($sql); + } + return $sql; + } } -- cgit v1.2.3 From 774e0be66ecd0c0012ab94a389e38eb81df6eab0 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 1 Nov 2009 10:05:05 -0800 Subject: Replace split() with explode() since split is deprecated in PHP 5.3 Fixes ticket #865 --- modules/gallery/helpers/gallery_block.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/gallery/helpers/gallery_block.php b/modules/gallery/helpers/gallery_block.php index 0052affc..b5c32ad2 100644 --- a/modules/gallery/helpers/gallery_block.php +++ b/modules/gallery/helpers/gallery_block.php @@ -72,7 +72,7 @@ class gallery_block_Core { $block->content = new View("admin_block_platform.html"); if (is_readable("/proc/loadavg")) { $block->content->load_average = - join(" ", array_slice(split(" ", array_shift(file("/proc/loadavg"))), 0, 3)); + join(" ", array_slice(explode(" ", array_shift(file("/proc/loadavg"))), 0, 3)); } else { $block->content->load_average = t("Unavailable"); } -- cgit v1.2.3 From 376eb5673fd9cbc06abf308a04f83231de1a1d11 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 1 Nov 2009 10:22:56 -0800 Subject: 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. --- modules/comment/helpers/comment_event.php | 27 +++++++++++---------- modules/gallery/helpers/gallery_event.php | 28 ++++++++++++++++++---- .../notification/helpers/notification_event.php | 7 ++++-- 3 files changed, 43 insertions(+), 19 deletions(-) (limited to 'modules') diff --git a/modules/comment/helpers/comment_event.php b/modules/comment/helpers/comment_event.php index ddf72e3c..a72102b9 100644 --- a/modules/comment/helpers/comment_event.php +++ b/modules/comment/helpers/comment_event.php @@ -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) { diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php index 582e3267..67a6f41f 100644 --- a/modules/gallery/helpers/gallery_event.php +++ b/modules/gallery/helpers/gallery_event.php @@ -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) { diff --git a/modules/notification/helpers/notification_event.php b/modules/notification/helpers/notification_event.php index b82e4f0f..6b2df574 100644 --- a/modules/notification/helpers/notification_event.php +++ b/modules/notification/helpers/notification_event.php @@ -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) { -- cgit v1.2.3