summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/SessionController.php
blob: 3c3c192b1184dde93976cca697384bee965b97b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php

class User_SessionController extends Zend_Controller_Action
{
	private $membership;
    public function init()
    {
        if (Zend_Auth::getInstance()->hasIdentity()) {
			$userIDsNamespace = Zend_Session::namespaceGet('userIDs');
			if($userIDsNamespace['membershipID'] ==''){
				$pbsNotifier = new Pbs_Notifier();
				echo $pbsNotifier->notify('No membershipID set','forbidden');
			}

			$membershipMapper = new Application_Model_MembershipMapper();
			$this->membership = new Application_Model_Membership();
			$membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
		} else {
			$this->_helper->redirector('login', 'auth');
		}
		$this->page = $this->_request->getParam('page');
    }

    public function indexAction()
    {
		$sessionMapper = new Application_Model_SessionMapper();
		$bootisoMapper = new Application_Model_BootIsoMapper();
		$bootosMapper = new Application_Model_BootOsMapper();
		$bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper();
		$membershipMapper = new Application_Model_MembershipMapper();
		$personMapper = new Application_Model_PersonMapper();
		
		$bootisos = $bootisoMapper->findBy(array('groupID',$this->membership->getGroupID()));
		foreach($bootisos as $bootiso){
			$sessions = $sessionMapper->findBy(array('bootisoID',$bootiso->getID()));		
			foreach($sessions as $session){
				#echo $session->getBootosID();
				if($session->getBootosID() != '')
					$session->setBootosID("[".$session->getBootosID()."] ".$bootosMapper->find($session->getBootosID())->getTitle());
						
				if($session->getBootmenuentryID() != '')
					$session->setBootmenuentryID("[".$session->getBootmenuentryID()."] ".$bootmenuentriesMapper->find($session->getBootmenuentryID())->getTitle());
				
				if($session->getBootisoID() != '')
					$session->setBootisoID("[".$session->getBootisoID()."] ".$bootisoMapper->find($session->getBootisoID())->getTitle());
					
				if($session->getMembershipID() != ''){
					$personID = $membershipMapper->find($session->getMembershipID())->getPersonID();
					$p = new Application_Model_Person();
					$personMapper->find($personID,$p);
					$session->setMembershipID("[".$session->getMembershipID()."] ".$p->getFirstname()." ".$p->getName());
						
				}
				$mySessions[] =$session;
			}			
		}
		
		// Search
		$search = $this->_request->getParam('search');
		$mySearch = new Pbs_Search();
		$mySearch->setSearchTerm($search);
		$mySearch->setModule('session');
		$this->view->searchform = $mySearch->searchForm();
		if($search != ''){
			$this->view->search = $mySearch->getSearchTerm();			
			$mySessions = $mySearch->search($mySessions);			
		}
    	
    	// Pagination
	    $pagination = new Pbs_Pagination();	
		$pagination->setPerPage(3);		
		$pagination->setElement($mySessions);
		$pagination->setRequestPage($this->_request->getParam('page'));		
		$pagination->setPageUrl('/user/session/index'.((isset($this->view->search))?'/search/'.$this->view->search:''));
		$mySessions = $pagination->getElements();		
		
		$this->view->pagination = $pagination->pagination($pageurl);
		$this->view->page 		= $pagination->getRequestPage();
		$this->view->sessions = $mySessions;   		
		
    }
    
    public function searchAction(){
		$this->_redirect('/user/session/index/search/'.($_GET['search']));
	}


}