hasIdentity()) { $this->groupMapper = new Application_Model_GroupMapper(); $this->groupGroupsMapper = new Application_Model_GroupGroupsMapper(); $this->membershipMapper = new Application_Model_MembershipMapper(); $this->groupRequestMapper = new Application_Model_GroupRequestMapper(); $this->personmapper = new Application_Model_PersonMapper(); $this->rolemapper = new Application_Model_RoleMapper(); $this->groupList = $this->groupMapper->fetchAll(); } else { $this->_helper->redirector('login', 'auth'); return; } } public function indexAction() { $this->view->groupList = $this->groupList; } public function addAction() { if (!isset($_POST["add"])){ $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList)); } else { $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList),$_POST); if ($addForm->isValid($_POST)) { $group = new Application_Model_Group($_POST); try { $this->groupMapper->save($group); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } if($_POST['superordinatedGroupID'] != -1) { $lastID = $this->groupMapper->getDbTable()->getDefaultAdapter()->lastInsertId(); $groupgroups = new Application_Model_GroupGroups(); $groupgroups->setParentID($_POST['superordinatedGroupID']); $groupgroups->setGroupID($lastID); try { $this->groupGroupsMapper->save($groupgroups); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } } $this->_helper->redirector('', 'group'); return; } } $this->view->addForm = $addForm; } public function editAction() { $groupID = $this->_request->getParam('groupID'); if(!isset($groupID)) { $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList)); $this->view->addForm = $addForm; return; } if (!isset($_POST["save"])){ $group = $this->groupMapper->find($groupID); $_POST['title'] = $group->getTitle(); $_POST['description'] = $group->getDescription(); $editForm = new dev_Form_GroupEdit(); } else { $editForm = new dev_Form_GroupEdit($_POST); if ($editForm->isValid($_POST)) { $group = new Application_Model_Group($_POST); $group->setID($this->_request->getParam('groupID')); try { $this->groupMapper->save($group); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_helper->redirector('', 'group'); return; } } $this->view->editForm = $editForm; } public function showAction() { $groupID = $this->_request->getParam('groupID'); if($groupID) { $groupRequests = $this->groupRequestMapper->findBy(array('groupID' => $groupID),true); if(isset($groupRequests)) { foreach($groupRequests as $groupRequest) { $person = $this->personmapper->find($groupRequest['personID']); $groupRequestList[] = array( 'grouprequestID' => $groupRequest['grouprequestID'], 'person' => $person ); } if(is_array($groupRequestList)) { $this->view->groupRequestList = $groupRequestList; } $this->view->roleList = $this->rolemapper->findBy('groupID', $groupID); } $members = $this->membershipMapper->findBy('groupID', $groupID); if(isset($members)) { foreach($members as $member) { $person = $this->personmapper->find($member['personID']); $membersList[] = array( 'membershipID' => $member['membershipID'], 'person' => $person ); } if(is_array($membersList)) { $this->view->membersList = $membersList; } } $groupgroups = $this->groupGroupsMapper->findBy('groupID', $groupID); if(is_object($groupgroups)) { $parentGroup = $this->groupMapper->find($groupgroups->getParentID()); $this->view->$parentGroup = $parentGroup; } $group = $this->groupMapper->find($groupID); $this->view->group = $group; $this->view->groupID = $groupID; } } public function linkAction() { if (!isset($_POST["link"])){ $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList)); } else { $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList),$_POST); if ($linkForm->isValid($_POST)) { $groupgroups = new Application_Model_GroupGroups(); $groupgroups->setParentID($_POST['superordinatedGroupID']); $groupgroups->setGroupID($_POST['groupID']); try { $this->groupGroupsMapper->save($groupgroups); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_helper->redirector('', 'group'); return; } } $this->view->linkForm = $linkForm; } public function deleteAction() { $this->_helper->viewRenderer->setNoRender(); $groupID = $this->_request->getParam('groupID'); if (isset($groupID)){ $group = $this->groupMapper->find($groupID); try { $this->groupMapper->delete($group); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_helper->redirector('', 'group'); return; } } public function grantpersonAction() { $this->_helper->viewRenderer->setNoRender(); if(isset($_POST['grouprequestID']) && isset($_POST['roleID'])) { $groupRequest = $this->groupRequestMapper->find($_POST['grouprequestID']); try { $this->groupRequestMapper->delete($groupRequest); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $membership = new Application_Model_Membership(); $membership->setGroupID($groupRequest->getGroupID()); $membership->setPersonID($groupRequest->getPersonID()); $membership->setRoleID($_POST['roleID']); try { $this->membershipMapper->save($membership); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_redirect("/dev/group/show/groupID/" . $groupRequest->getGroupID()); } } public function revokepersonAction() { $this->_helper->viewRenderer->setNoRender(); $membershipID = $this->_request->getParam('membershipID'); if(isset($membershipID)) { $membership = $this->membershipMapper->find($membershipID); if(isset($membership)) { try { $this->membershipMapper->delete($membership); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_redirect("/dev/group/edit/groupID/" . $membership->getGroupID()); } } } }