where("name", "user")->find()->version; } catch (Exception $e) { if ($e->getMessage() == "Table modules does not exist in your database.") { $base_version = 0; } else { throw $e; } } 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(); 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(); } } } 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`;"); $user_module = ORM::factory("module")->where("name", "user")->find(); $user_module->delete(); } }