summaryrefslogtreecommitdiff
path: root/modules/user/helpers
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-08 07:48:36 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-08 07:48:36 +0000
commit418c0aab69a72da512646541be2d88a866cb9fdb (patch)
treefea9ea900fbf33d3e94082b901922ad74b832f50 /modules/user/helpers
parentea7cc4f46edc730ff873c579a6c63490d24496a6 (diff)
Create permanent owner_id column in the item table, and use a soft
relationship to bind the two. To do this, I overrode __get in Item_Model so that $item->owner returns the appropriate User_Model.
Diffstat (limited to 'modules/user/helpers')
-rw-r--r--modules/user/helpers/user_installer.php10
1 files changed, 3 insertions, 7 deletions
diff --git a/modules/user/helpers/user_installer.php b/modules/user/helpers/user_installer.php
index 82221f10..93f36d99 100644
--- a/modules/user/helpers/user_installer.php
+++ b/modules/user/helpers/user_installer.php
@@ -19,7 +19,7 @@
*/
class user_installer {
protected $has_many = array('items');
-
+
public static function install() {
Kohana::log("debug", "user_installer::install");
$db = Database::instance();
@@ -58,8 +58,6 @@ class user_installer {
PRIMARY KEY (`group_id`, `user_id`),
UNIQUE KEY(`user_id`, `group_id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8;");
-
- $db->query("ALTER TABLE `items` ADD `user_id` INT(9) NULL");
$user_module = ORM::factory("module")->where("name", "user")->find();
$user_module->name = "user";
@@ -71,15 +69,14 @@ class user_installer {
$user->display_name = "Gallery Administrator";
$user->save();
$id = $user->id;
- $db->query("UPDATE `items` SET `user_id` = $id ");
+ $db->query("UPDATE `items` SET `owner_id` = $id WHERE `owner_id` IS NULL");
foreach (array("administrator", "registered") as $group_name) {
$group = ORM::factory("group")->where("name", $group_name)->find();
$group->name = $group_name;
$group->save();
if (!$group->add($user)) {
- /** @todo replace this by throwing an exception once exceptions are implemented */
- Kohana::Log("debug", "{$user->name} was not added to {$group_name}");
+ throw new Exception("@todo {$user->name} WAS_NOT_ADDED_TO {$group_name}");
}
}
}
@@ -87,7 +84,6 @@ class user_installer {
public static function uninstall() {
$db = Database::instance();
- $db->query("ALTER TABLE `items` DROP `user_id`");
$db->query("DROP TABLE IF EXISTS `users`;");
$db->query("DROP TABLE IF EXISTS `groups`;");
$db->query("DROP TABLE IF EXISTS `groups_users`;");