summaryrefslogtreecommitdiffstats
path: root/application/modules/fbgui/controllers/PersonController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/fbgui/controllers/PersonController.php')
-rw-r--r--application/modules/fbgui/controllers/PersonController.php76
1 files changed, 76 insertions, 0 deletions
diff --git a/application/modules/fbgui/controllers/PersonController.php b/application/modules/fbgui/controllers/PersonController.php
new file mode 100644
index 0000000..06076c5
--- /dev/null
+++ b/application/modules/fbgui/controllers/PersonController.php
@@ -0,0 +1,76 @@
+<?php
+
+class Fbgui_PersonController extends Zend_Controller_Action
+{
+ protected $person;
+ protected $personmapper;
+ protected $membershipMapper;
+ protected $memberships;
+
+ public function init()
+ {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
+ $this->personmapper = new Application_Model_PersonMapper();
+ $result = $this->personmapper->findBy('email', Zend_Auth::getInstance()->getIdentity());
+ $this->person = new Application_Model_Person($result[0]);
+ $this->person->setID($result[0]['personID']);
+ $this->membershipMapper = new Application_Model_MembershipMapper();
+ $this->memberships = $this->membershipMapper->findBy("personID",$this->person->getID());
+ } else {
+ $this->_helper->redirector('login', 'auth');
+ }
+ }
+
+ public function indexAction()
+ {
+ $this->_helper->redirector('selectmembership', 'person');
+ }
+
+ public function selectmembershipAction()
+ {
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ if(isset($userIDsNamespace['membershipID'])) {
+ $this->_redirect('/fbgui/');
+ } else {
+ if(count($this->memberships) > 0) {
+ 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->roleID = $membership->getRoleID();
+ $this->_redirect('/fbgui/');
+ return;
+ } else {
+ $groupMapper = new Application_Model_GroupMapper();
+ $roleMapper = new Application_Model_RoleMapper();
+ if(isset($this->memberships)) {
+ foreach($this->memberships as $membership) {
+ $group = $groupMapper->find($membership['groupID']);
+ $role = $roleMapper->find($membership['roleID']);
+ $membershipList[] = array(
+ 'membershipID' => $membership['membershipID'],
+ 'group' => $group->getTitle(),
+ 'role' => $role->getTitle()
+ );
+ }
+ }
+ $membershipSelectForm = new fbgui_Form_MembershipSelect(array('membershiplist' => $membershipList));
+ $this->view->membershipSelectForm = $membershipSelectForm;
+ }
+ } else {
+ $this->_redirect('/fbgui/');
+ }
+ }
+ }
+
+ public function changemembershipAction()
+ {
+ $this->_helper-> viewRenderer-> setNoRender();
+ Zend_Session::namespaceUnset('userIDs');
+ $this->_helper->redirector('selectmembership', 'person');
+ return;
+ }
+}
+