_driver = $driver; $this->_config = $config; Kohana::log('debug', 'Auth Library initialized'); } /** * @see User_Driver::install */ public function install() { $this->_driver->install(); $user_module = ORM::factory("module")->where("name", "user")->find(); $user_module->name = "user"; $user_module->version = 1; $user_module->save(); $user = $this->_driver->get_user_by_name("admin"); if (!$user->loaded) { $user = $this->_driver->create_user("admin", "admin", "admin"); } foreach (array("administrator", "registered") as $group_name) { $group = $user = $this->_driver->get_group_by_name($group_name); if (!$group->loaded) { $group = $this->_driver->create_group($group_name); // Don't assume we can use ORM relationship to join groups and users. Use the interface. $this->_driver->add_user_to_group($group->id, $user->id); } } $db = Database::instance(); $db->query("UPDATE `items` SET `owner_id` = {$user->id} WHERE `owner_id` IS NULL"); } /** * @see User_Driver::uninstall */ public function uninstall() { $this->_driver->uninstall(); ORM::factory("module")->where("name", "user")->find()->delete(); } /** * @see User_Driver::install */ public function create_user($name, $display_name, $password, $email=null) { $this->_driver->create_user($name, $display_name, $password, $email); } /** * @see User_Driver::update_user */ public function update_user($id, $name, $display_name, $password, $email=null) { $this->_driver->update_user($id, $name, $display_name, $password, $email); } /** * @see User_Driver::get_user */ public function get_user($id) { $this->_driver->get_user($id); } /** * @see User_Driver::get_user_by_name */ public function get_user_by_name($name) { $this->_driver->get_user_by_name($name); } /** * @see User_Driver::delete_user */ public function delete_user($id) { $this->_driver->delete_user($id); } /** * @see User_Driver::create_group */ public function create_group($group_name) { $this->_driver->create_group($group_name); } /** * @see User_Driver::rename_group */ public function rename_group($id, $new_name) { $this->_driver->rename_group($id, $new_name); } /** * @see User_Driver::get_group */ public function get_group($id) { $this->_driver->get_group($id); } /** * @see User_Driver::get_group_by_name */ public function get_group_by_name($group_name) { $this->_driver->get_group_by_name($group_name); } /** * @see User_Driver::delete_group */ public function delete_group($id) { $this->_driver->delete_group($id); } /** * @see User_Driver::add_user_to_group */ public function add_user_to_group($group_id, $user_id) { $this->_driver->add_user_to_group($group_id, $user_id); } /** * @see User_Driver::remove_user_from_group */ public function remove_user_from_group($group_id, $user_id) { $this->_driver->remove_user_from_group($group_id, $user_id); } }