summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-12-09 08:47:30 +0000
committerBharat Mediratta <bharat@menalto.com>2008-12-09 08:47:30 +0000
commite62103b8d9463bf409881d17a4bda93f3ca3208d (patch)
treef798613fffd8e3997ac6d0befdf3cf48584e009e /modules
parent930fb1f6976e60ec3774d837036b5a73bdbf32a8 (diff)
Move code to delete users and add/remove users from groups into the
model.
Diffstat (limited to 'modules')
-rw-r--r--modules/user/helpers/group.php61
-rw-r--r--modules/user/helpers/user.php6
-rw-r--r--modules/user/helpers/user_installer.php8
-rw-r--r--modules/user/models/group.php8
-rw-r--r--modules/user/models/user.php2
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