summaryrefslogtreecommitdiff
path: root/modules/user/helpers/user_installer.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/helpers/user_installer.php')
-rw-r--r--modules/user/helpers/user_installer.php68
1 files changed, 5 insertions, 63 deletions
diff --git a/modules/user/helpers/user_installer.php b/modules/user/helpers/user_installer.php
index 97206752..31865ad1 100644
--- a/modules/user/helpers/user_installer.php
+++ b/modules/user/helpers/user_installer.php
@@ -22,71 +22,13 @@ 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;
- } catch (Exception $e) {
- if ($e->getCode() == E_DATABASE_ERROR) {
- $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;");
-
- $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;");
-
- $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;");
-
- $user_module = ORM::factory("module")->where("name", "user")->find();
- $user_module->name = "user";
- $user_module->version = 1;
- $user_module->save();
-
- $user = ORM::factory("user")->where("display_name", "admin")->find();
- $user->name = "admin";
- $user->display_name = "Gallery Administrator";
- $user->save();
- $id = $user->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)) {
- throw new Exception("@todo {$user->name} WAS_NOT_ADDED_TO {$group_name}");
- }
- }
- }
+ $user = User::instance();
+ $user->install();
}
public static function uninstall() {
- $db = Database::instance();
- $db->query("DROP TABLE IF EXISTS `users`;");
- $db->query("DROP TABLE IF EXISTS `groups`;");
- $db->query("DROP TABLE IF EXISTS `groups_users`;");
- ORM::factory("module")->where("name", "user")->find()->delete();
+ Kohana::log("debug", "user_installer::install");
+ $user = User::instance();
+ $user->uninstall();
}
} \ No newline at end of file