diff --git a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupGroups.php b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupGroups.php new file mode 100644 index 0000000..91f3d3e --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupGroups.php @@ -0,0 +1,138 @@ +setOnLoadJavaScript("optGroup.init(document.forms[0]);"); + $main->setHasRequiredFields(false); + $main->setAdditionalJavaScript($this->_initialiseOptionTransferJavaScript()); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fGroupID=$fGroupID&fAssign=1"); + + $sToRender = ""; + $sToRender .= sprintf('
'; + + return $sToRender; + } + + function handleOutput($data) { + global $main; + $main->bFormDisabled = true; + $main->setCentralPayload($data); + $main->render(); + } + + function _initialiseOptionTransferJavascript() { + return ""; + } + + function do_update() { + $oGroup =& Group::get($_REQUEST['fGroupID']); + $aToAddIDs = explode(",", KTUtil::arrayGet($_REQUEST, 'groupAddedLeft')); + $aToRemoveIDs = explode(",", KTUtil::arrayGet($_REQUEST, 'groupAddedRight')); + + foreach ($aToAddIDs as $iMemberGroupID ) { + if ($iMemberGroupID > 0) { + $oMemberGroup = Group::get($iMemberGroupID); + $res = $oGroup->addMemberGroup($oMemberGroup); + if (PEAR::isError($res)) { + $_SESSION["KTErrorMessage"][] = "Failed to add " . $oMemberGroup->getName() . " to " . $oGroup->getName(); + } + } + } + + foreach ($aToRemoveIDs as $iMemberGroupID ) { + if ($iMemberGroupID > 0) { + $oMemberGroup = Group::get($iMemberGroupID); + $res = $oGroup->removeMemberGroup($oMemberGroup); + if (PEAR::isError($res)) { + $_SESSION["KTErrorMessage"][] = "Failed to remove " . $oMemberGroup->getName() . " to " . $oGroup->getName(); + } + } + } + exit($this->redirectToMain('fGroupID=' . $oGroup->getID())); + } +} + +$oDispatcher = new EditGroupsGroups(); +$oDispatcher->dispatch(); + +?>