From 5359f6e8de1c409f4cb717c700de63409dfb3a49 Mon Sep 17 00:00:00 2001 From: sebastian wagner Date: Mon, 4 Jul 2011 17:37:02 +0200 Subject: login formular --- application/controllers/PersonController.php | 132 +++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 application/controllers/PersonController.php (limited to 'application/controllers/PersonController.php') diff --git a/application/controllers/PersonController.php b/application/controllers/PersonController.php new file mode 100644 index 0000000..4476f4e --- /dev/null +++ b/application/controllers/PersonController.php @@ -0,0 +1,132 @@ +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; + } +} + -- cgit v1.2.3-55-g7522