From 254fc24e24058cc9c6f911cef00e2f1f82f612c5 Mon Sep 17 00:00:00 2001 From: nbm Date: Thu, 21 Jul 2005 14:51:04 +0000 Subject: [PATCH] Add addMember and removeMember methods to Group, taking User objects, doing the expected things. --- lib/groups/Group.inc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+), 0 deletions(-) diff --git a/lib/groups/Group.inc b/lib/groups/Group.inc index 31f1375..1dc9750 100644 --- a/lib/groups/Group.inc +++ b/lib/groups/Group.inc @@ -214,6 +214,7 @@ class Group extends KTEntity { return parent::delete(); } + // {{{ hasMember function hasMember($oUser) { global $default; @@ -229,6 +230,46 @@ class Group extends KTEntity { } return false; } + // }}} + + // {{{ addMember + function addMember($oUser) { + global $default; + if ($this->hasMember($oUser)) { + return true; + } + $aParams = array( + "user_id" => $oUser->getID(), + "group_id" => $this->getID(), + ); + $res = DBUtil::autoInsert($default->users_groups_table, $aParams); + if (PEAR::isError($res)) { + return $res; + } + return true; + } + // }}} + + // {{{ removeMember + function removeMember($oUser) { + global $default; + if (!$this->hasMember($oUser)) { + return true; + } + $aParams = array( + "user_id" => $oUser->getID(), + "group_id" => $this->getID(), + ); + $res = DBUtil::whereDelete($default->users_groups_table, $aParams); + if (PEAR::isError($res)) { + return $res; + } + if ($this->hasMember($oUser)) { + return PEAR::raiseError("Tried to remove member from database, apparently successfully, but hasMember thinks they're still members?"); + } + return true; + } + // }}} } /** -- libgit2 0.21.4