From 6f8c1bb36a15376f8d7be25f64d60f7bc97135d8 Mon Sep 17 00:00:00 2001 From: nbm Date: Tue, 2 Aug 2005 13:12:53 +0000 Subject: [PATCH] Admin screen to manage nested groups. --- presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupGroups.php | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+), 0 deletions(-) create mode 100644 presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/editGroupGroups.php 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('
', $_SERVER['PHP_SELF']); + $sToRender .= ''; + $sToRender .= sprintf('', $oGroup->getID()); + $sToRender .= ''; + $sToRender .= sprintf('', $oGroup->getName()); + $sToRender .= sprintf(''); + + $sToRender .= sprintf(''); + $sToRender .= sprintf(''); + + $aGroupArray = GroupUtil::buildGroupArray(); + $aAllowedGroupIDs = GroupUtil::filterCyclicalGroups($oGroup->getID(), $aGroupArray); + $aAllowedGroupIDs = array_diff($aAllowedGroupIDs, $aMemberIDs); + + $sToRender .= sprintf(''); + + $sToRender .= ''; + $sToRender .= ''; + $sToRender .= ''; + $sToRender .= ''; + $sToRender .= ''; + + $sToRender .= ''; + $sToRender .= '"; + $sToRender .= ''; + $sToRender .= ''; + + $sToRender .= sprintf('
Group Name: %sBack
Assigned Groups To: Available Groups
'); + $aMemberGroups = $oGroup->getMemberGroups(); + $sToRender .= sprintf(''); + $sToRender .= sprintf(''); + $sToRender .= '
'; + $sToRender .= sprintf('
'); + $sToRender .= sprintf(''); + $sToRender .= sprintf('
Filter
Filter
'; + $sToRender .= sprintf('', KTHtml::getAssignButton()); + $sToRender .= "\n"; $sToRender .= "
'); + $sToRender .= '
'; + $sToRender .= '
'; + $sToRender .= '
'; + $sToRender .= '
'; + $sToRender .= '
'; + $sToRender .= '
'; + $sToRender .= '
'; + + 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(); + +?> -- libgit2 0.21.4