diff options
Diffstat (limited to 'modules/user/helpers/user_installer.php')
-rw-r--r-- | modules/user/helpers/user_installer.php | 68 |
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 |