hasIdentity()) { $bootstrap = $this->getInvokeArg('bootstrap'); $this->config = $bootstrap->getOptions(); $this->pbs2host = $this->config['pbs2']['host']; $this->userIDsNamespace = Zend_Session::namespaceGet('userIDs'); $this->membershipMapper = new Application_Model_MembershipMapper(); $this->currentMembership = new Application_Model_Membership(); $this->person = new Application_Model_Person(); $this->memberships = Zend_Session::namespaceGet('memberships'); if(count($this->userIDsNamespace)) { $membershipID = $this->userIDsNamespace['membershipID']; $this->membershipMapper->find($membershipID, $this->currentMembership); $personApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getperson'] . $this->currentMembership->getApikey(), 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $personXMLString = $personApiResult['http-body']; if(strlen($personXMLString) > 0) { $personXML = new SimpleXMLElement($personXMLString); $this->person->setID(sprintf("%s", $personXML->person->id)); $this->person->setCity(sprintf("%s", $personXML->person->city)); $this->person->setEmail(sprintf("%s", $personXML->person->email)); $this->person->setFirstname(sprintf("%s", $personXML->person->firstname)); $this->person->setHousenumber(sprintf("%s", $personXML->person->housenumber)); $this->person->setLogin(sprintf("%s", $personXML->person->login)); $this->person->setLogindate(sprintf("%s", $personXML->person->logindate)); $this->person->setName(sprintf("%s", $personXML->person->name)); $this->person->setPostalcode(sprintf("%s", $personXML->person->postalcode)); $this->person->setRegisterdate(sprintf("%s", $personXML->person->registerdate)); $this->person->setStreet(sprintf("%s", $personXML->person->street)); $this->person->setSuspend(sprintf("%s", $personXML->person->suspend)); $this->person->setTitle(sprintf("%s", $personXML->person->title)); } } if(isset($this->memberships)) { foreach($this->memberships as $membership) { $grouprequest = "groupid=" . $membership['groupID']; $groupApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getgroup'] . $membership['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $grouprequest); $groupXMLString = $groupApiResult['http-body']; if(strlen($groupXMLString) > 0) { $groupXML = new SimpleXMLElement($groupXMLString); $group = new Application_Model_Group(); $group->setID(sprintf("%s", $groupXML->group->id)); $group->setTitle(sprintf("%s", $groupXML->group->title)); $group->setDescription(sprintf("%s", $groupXML->group->description)); $apikeys[$group->getID()] = $membership['apikey']; $this->groups[] = array ( 'groupID' => $group->getID(), 'title' => $group->getTitle(), 'description' => $group->getDescription(), 'membershipID' => $membership['membershipID'], ); } $this->view->apikeys = $apikeys; } } } 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]; $userSession = new Zend_Session_Namespace('userIDs'); $userSession->membershipID = $myMembership['membershipID']; $userSession->personID = $myMembership['personID']; $userSession->groupID = $myMembership['groupID']; $userSession->apikey = $myMembership['apikey']; $this->_redirect('/'); } elseif(count($this->memberships) > 1) { if(isset($_POST['selectmembership'])) { $userSession = new Zend_Session_Namespace('userIDs'); $userSession->membershipID = $_POST['membershipID']; $membership = $this->membershipMapper->find($_POST['membershipID']); $userSession->personID = $membership->getPersonID(); $userSession->groupID = $membership->getGroupID(); $userSession->apikey = $membership->getApikey(); $this->_redirect('/'); return; } else { if(isset($this->memberships)) { $suspendlist = array(); foreach($this->memberships as $membership) { $grouprequest = "groupid=" . $membership['groupID']; $groupApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getgroup'] . $membership['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $grouprequest); $groupXMLString = $groupApiResult['http-body']; if(strlen($groupXMLString) > 0) { $groupXML = new SimpleXMLElement($groupXMLString); $group = new Application_Model_Group(); $group->setID(sprintf("%s", $groupXML->group->id)); $group->setTitle(sprintf("%s", $groupXML->group->title)); $group->setDescription(sprintf("%s", $groupXML->group->description)); 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){ $poolNotifier = new Poolctrl_Notifier(); $this->view->notification = $poolNotifier->notify("Actually ".count($suspendlist)." Memberships are suspended", 'error' ); } } } $membershipSelectForm = new Application_Form_MembershipSelect(array('membershiplist' => $membershipList)); $this->view->membershipSelectForm = $membershipSelectForm; } } else { $poolNotifier = new Poolctrl_Notifier(); $this->view->notification = $poolNotifier->notify("Currently you are not a member of any group", 'error' ); } } } public function changemembershipAction() { $this->_helper-> viewRenderer-> setNoRender(); Zend_Session::namespaceUnset('userIDs'); $this->_helper->redirector('selectmembership', 'person'); return; } }