diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/user/helpers/group.php | 61 | ||||
-rw-r--r-- | modules/user/helpers/user.php | 6 | ||||
-rw-r--r-- | modules/user/helpers/user_installer.php | 8 | ||||
-rw-r--r-- | modules/user/models/group.php | 8 | ||||
-rw-r--r-- | modules/user/models/user.php | 2 |
5 files changed, 17 insertions, 68 deletions
diff --git a/modules/user/helpers/group.php b/modules/user/helpers/group.php index 12118432..f4d57275 100644 --- a/modules/user/helpers/group.php +++ b/modules/user/helpers/group.php @@ -34,7 +34,7 @@ class group_Core { * @return Group_Model */ static function create($name) { - $group = ORM::factory("group"); + $group = ORM::factory("group")->where("name", $name); if ($group->loaded) { throw new Exception("@todo GROUP_ALREADY_EXISTS $name"); } @@ -45,63 +45,4 @@ class group_Core { module::event("group_created", $group); return $group; } - - /** - * Delete a group - * - * @param string $name the group name - */ - static function delete($id) { - $group = ORM::factory("group", $id); - - if ($group->loaded) { - module::event("group_before_delete", $group); - $group->delete(); - } - } - - /** - * Remove a user from a group - * - * @param integer $group_id the id of the group - * @param integer $user_id the id of the user - * @return Group_Model - */ - static function remove_user($group_id, $user_id) { - $group = ORM::factory("group", $group_id); - if (!$group->loaded) { - throw new Exception("@todo MISSING_GROUP $group_id"); - } - - $user = ORM::factory("user", $user_id); - if (!$user->loaded) { - throw new Exception("@todo MISSING_USER $user_id"); - } - - $group->remove($user); - return $group; - } - - - /** - * Add a user to a group - * - * @param integer $group_id the id of the group - * @param integer $user_id the id of the user - * @return Group_Model - */ - static function add_user($group_id, $user_id) { - $group = ORM::factory("group", $group_id); - if (!$group->loaded) { - throw new Exception("@todo MISSING_GROUP $group_id"); - } - - $user = ORM::factory("user", $user_id); - if (!$user->loaded) { - throw new Exception("@todo MISSING_USER $user_id"); - } - - $group->add($user); - return $group; - } }
\ No newline at end of file diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index 8dfbb21a..dfaa90f2 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -68,7 +68,7 @@ class user_Core { * @return User_Model */ static function create($name, $display_name, $password, $admin=false) { - $user = ORM::factory("user"); + $user = ORM::factory("user")->where("name", $name); if ($user->loaded) { throw new Exception("@todo USER_ALREADY_EXISTS $name"); } @@ -79,10 +79,10 @@ class user_Core { $user->admin = $admin; $user->save(); - group::add_user(group::REGISTERED_USERS, $user->id); + $group = ORM::factory("group", group::REGISTERED_USERS); + $group->add($user); module::event("user_created", $user); - return $user; } diff --git a/modules/user/helpers/user_installer.php b/modules/user/helpers/user_installer.php index 58066acd..3dbdaf25 100644 --- a/modules/user/helpers/user_installer.php +++ b/modules/user/helpers/user_installer.php @@ -56,8 +56,8 @@ class user_installer { $admin = user::create("admin", "Gallery Administrator", "admin", true); $user = user::create("joe", "Joe User", "joe"); - group::add_user($registered->id, $admin->id); - group::add_user($registered->id, $user->id); + $registered->add($admin); + $registered->add($user); // Let the admin own everything $db->query("UPDATE `items` SET `owner_id` = {$admin->id} WHERE `owner_id` IS NULL"); @@ -68,11 +68,11 @@ class user_installer { public static function uninstall() { // Delete all users and groups so that we give other modules an opportunity to clean up foreach (ORM::factory("user")->find_all() as $user) { - user::delete($user->id); + $user->delete(); } foreach (ORM::factory("group")->find_all() as $group) { - group::delete($group->id); + $group->delete(); } try { diff --git a/modules/user/models/group.php b/modules/user/models/group.php index 794c0549..55b5ea97 100644 --- a/modules/user/models/group.php +++ b/modules/user/models/group.php @@ -22,4 +22,12 @@ class Group_Model extends ORM { var $rules = array( "name" => "required|length[4,255]"); + + /** + * @see ORM::delete() + */ + public function delete($id=null) { + module::event("group_before_delete", $this); + parent::delete($id); + } }
\ No newline at end of file diff --git a/modules/user/models/user.php b/modules/user/models/user.php index bb01fd49..82834930 100644 --- a/modules/user/models/user.php +++ b/modules/user/models/user.php @@ -39,7 +39,7 @@ class User_Model extends ORM { * @see ORM::delete() */ public function delete($id=null) { + module::event("user_before_delete", $this); parent::delete($id); - module::event("user_deleted", $user); } }
\ No newline at end of file |