From 48318fc8741e6f2148c35bc69620ad0d4f021200 Mon Sep 17 00:00:00 2001 From: Neil Blakey-Milner Date: Thu, 21 Jul 2005 15:19:23 +0000 Subject: [PATCH] Use Group's addMember and removeMember instead of fiddling with link objects. --- presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupUsersBL.php | 55 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupUsersBL.php b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupUsersBL.php index 9b5c554..5f911de 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupUsersBL.php +++ b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupUsersBL.php @@ -34,35 +34,38 @@ KTUtil::extractGPC('fAssign', 'fGroupID', 'userAddedLeft', 'userAddedRight', 'us * 0 if fail */ function updateUsers($iGroupID, $aToAddIDs, $aToRemoveIDs) { + $oGroup = Group::get($iGroupID); + if (PEAR::isError($oGroup)) { + return false; + } - // Add Users - foreach ($aToAddIDs as $iUserID ) { - if ($iUserID > 0) { - $oUserGroup = new GroupUserLink($iGroupID, $iUserID); - if($oUserGroup->create()) { - // update user group search permissions - $oUserGroup->updateSearchPermissions(); - } else { - return false; - } - } - } + if ($oGroup === false) { + return false; + } - // Remove Users - foreach ($aToRemoveIDs as $iUserID ) { - if ($iUserID > 0) { - $oUserGroup = new GroupUserLink($iGroupID, $iUserID); - $oUserGroup->setUserGroupID($iGroupID,$iUserID); - if($oUserGroup->delete()) { - // update group search permissions - $oUserGroup->updateSearchPermissions(); - } else { - return false; - } - } - } + // Add Users + foreach ($aToAddIDs as $iUserID ) { + if ($iUserID > 0) { + $oUser = User::get($iUserID); + $res = $oGroup->addMember($oUser); + if (PEAR::isError($res)) { + $_SESSION["KTErrorMessage"][] = "Failed to add " . $oUser->getName() . " to " . $oGroup->getName(); + } + } + } + + // Remove Users + foreach ($aToRemoveIDs as $iUserID ) { + if ($iUserID > 0) { + $oUser = User::get($iUserID); + $res = $oGroup->removeMember($oUser); + if (PEAR::isError($res)) { + $_SESSION["KTErrorMessage"][] = "Failed to remove " . $oUser->getName() . " from " . $oGroup->getName(); + } + } + } - return true; + return true; } if (checkSession()) { -- libgit2 0.21.4