hasIdentity()) { $this->personmapper = new Application_Model_PersonMapper(); $this->userIDsNamespace = Zend_Session::namespaceGet('userIDs'); if(isset($this->userIDsNamespace['personID'])) { $this->person = $this->personmapper->find($this->userIDsNamespace['personID']); } else { $result = $this->personmapper->findBy(array('email' => Zend_Auth::getInstance()->getIdentity()),true); $this->person = new Application_Model_Person($result[0]); $this->person->setID($result[0]['personID']); } $this->groupMapper = new Application_Model_GroupMapper(); $this->membershipMapper = new Application_Model_MembershipMapper(); $this->memberships = $this->membershipMapper->findBy(array("personID" => $this->person->getID()),true); $this->view->apikeys = array(); if(isset($this->memberships)) { foreach($this->memberships as $membership) { $group = $this->groupMapper->find($membership['groupID']); $this->view->apikeys[$group->getID()] = $membership['apikey']; $this->groups[] = array ( 'groupID' => $group->getID(), 'title' => $group->getTitle(), 'description' => $group->getDescription(), 'membershipID' => $membership['membershipID'], ); } } } else { $this->_helper->redirector('login', 'auth'); return; } } public function indexAction() { $this->view->person = $this->person; $this->view->userIDsNamespace = Zend_Session::namespaceGet('userIDs'); } public function selectmembershipAction() { $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); if(isset($userIDsNamespace['membershipID'])) { $this->_redirect('/'); } else { if(count($this->memberships) == 1) { $myMembership = $this->memberships[0]; $roleSession = new Zend_Session_Namespace('userIDs'); $roleSession->membershipID = $myMembership['membershipID']; $roleSession->personID = $myMembership['personID']; $roleSession->groupID = $myMembership['groupID']; $roleSession->apikey = $myMembership['apikey']; $this->_redirect('/'); } elseif(count($this->memberships) > 1) { if(isset($_POST['selectmembership'])) { $roleSession = new Zend_Session_Namespace('userIDs'); $roleSession->membershipID = $_POST['membershipID']; $roleSession->personID = $this->person->getID(); $membership = $this->membershipMapper->find($_POST['membershipID']); $roleSession->groupID = $membership->getGroupID(); $roleSession->apikey = $membership->getApikey(); $this->_redirect('/'); return; } else { $groupMapper = new Application_Model_GroupMapper(); if(isset($this->memberships)) { $suspendlist = array(); foreach($this->memberships as $membership) { $group = $groupMapper->find($membership['groupID']); if($membership['suspend'] == 0){ $membershipList[] = array( 'membershipID' => $membership['membershipID'], 'group' => $group->getTitle() ); } else{ $suspendlist[] = array( 'membershipID' => $membership['membershipID'], 'group' => $group->getTitle() ); } } if(count($suspendlist) >=1){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify("Actually ".count($suspendlist)." Memberships are suspended", 'error' ); } } $membershipSelectForm = new Application_Form_MembershipSelect(array('membershiplist' => $membershipList)); $this->view->membershipSelectForm = $membershipSelectForm; } } else { $this->_helper->redirector('request', 'person'); } } } public function changemembershipAction() { $this->_helper-> viewRenderer-> setNoRender(); Zend_Session::namespaceUnset('userIDs'); $this->_helper->redirector('selectmembership', 'person'); return; } }