summaryrefslogtreecommitdiff
path: root/modules/user/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/helpers')
-rw-r--r--modules/user/helpers/user_installer.php44
1 files changed, 25 insertions, 19 deletions
diff --git a/modules/user/helpers/user_installer.php b/modules/user/helpers/user_installer.php
index e27eaaab..3e3af696 100644
--- a/modules/user/helpers/user_installer.php
+++ b/modules/user/helpers/user_installer.php
@@ -19,6 +19,7 @@
*/
class user_installer {
public static function install() {
+ Kohana::log("debug", "user_installer::install");
$db = Database::instance();
try {
$base_version = ORM::factory("module")->where("name", "user")->find()->version;
@@ -26,34 +27,36 @@ class user_installer {
if ($e->getMessage() == "Table modules does not exist in your database.") {
$base_version = 0;
} else {
+ Kohana::log("error", $e);
throw $e;
}
}
+ Kohana::log("debug", "base_version: $base_version");
if ($base_version == 0) {
$db->query("CREATE TABLE IF NOT EXISTS `users` (
- `id` int(9) NOT NULL auto_increment,
- `name` varchar(255) NOT NULL,
- `display_name` char(255) NOT NULL,
- `email` int(9) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY(`display_name`))
- ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+ `id` int(9) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL,
+ `display_name` char(255) NOT NULL,
+ `email` int(9) default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY(`display_name`))
+ ENGINE=InnoDB DEFAULT CHARSET=utf8;");
$db->query("CREATE TABLE IF NOT EXISTS`groups` (
- `id` int(9) NOT NULL auto_increment,
- `name` char(255) default NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY(`name`))
- ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+ `id` int(9) NOT NULL auto_increment,
+ `name` char(255) default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY(`name`))
+ ENGINE=InnoDB DEFAULT CHARSET=utf8;");
$db->query("CREATE TABLE IF NOT EXISTS `groups_users` (
- `group_id` int(9) NOT NULL,
- `user_id` int(9) NOT NULL,
- PRIMARY KEY (`group_id`, `user_id`),
- UNIQUE KEY(`user_id`, `group_id`))
- ENGINE=InnoDB DEFAULT CHARSET=utf8;");
-
+ `group_id` int(9) NOT NULL,
+ `user_id` int(9) NOT NULL,
+ PRIMARY KEY (`group_id`, `user_id`),
+ UNIQUE KEY(`user_id`, `group_id`))
+ ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+
$user_module = ORM::factory("module")->where("name", "user")->find();
$user_module->name = "user";
$user_module->version = 1;
@@ -67,8 +70,11 @@ class user_installer {
foreach (array("administrator", "registered") as $group_name) {
$group = ORM::factory("group")->where("name", $group_name)->find();
$group->name = $group_name;
- $group->add($user);
$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}");
+ }
}
}
}