summaryrefslogtreecommitdiffstats
path: root/application/controllers/SessionController.php
blob: fc3b962e82ff9312c6026ddac65356afc45077f2 (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php

class SessionController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        $mapper = new Application_Model_SessionMapper();
		$this->view->sessions = $mapper->fetchAll();
    }

    public function createsessionAction()
    {
		if (!isset($_POST["add"])){
    		$createsession = new Application_Form_Session();    		
			$this->view->createsession = $createsession;		
		}else {
			$createsession = new Application_Form_Session($_POST);
			print_a($_POST);
			if ($createsession->isValid($_POST)) {			
				try{
					$session = new Application_Model_Session($_POST);
					$sessionmapper = new Application_Model_SessionMapper();
					$sessionmapper->save($session);
				
					$this->_redirect('/session');
			    	
				}catch (Zend_Exception $e) {  
        			echo "Error message 2: " . $e->getMessage() . "\n";  
        		}
				print_a('saved');
				$this->_redirect('/session');
			}
			else{
				print_a('not saved');
			}
		}
    }

    public function editsessionAction()
    {
       if (!isset($_POST["add"])){
		    // TODO: ACL implementieren ob er editieren darf
			$sessionID = $this->_request->getParam('sessionID');
			$session = new Application_Model_Session();
			

			$sessionmapper = new Application_Model_SessionMapper();
			$sessionmapper->find($sessionID,$session);		
			$session2 = $session->toArray();

			$editsession = new Application_Form_Session();  
			$editsession->populate($session2);
			$this->view->editsession = $editsession;
		
		} else{
			try{
				$sessionID = $this->_request->getParam('sessionID');	
				
				$editsession = new Application_Form_Session($_POST);

				if ($editsession->isValid($_POST)) {	
					$session = new Application_Model_Session($_POST);
					$session->setID($this->_request->getParam('sessionID'));
					$sessionmapper = new Application_Model_SessionMapper();				
					$sessionmapper->save($session);
					echo 'valid';					
				}
				else
				{
					echo 'not valid';
				}
			}catch (Zend_Exception $e) {  
    			echo "Error message 2: " . $e->getMessage() . "\n";  
    		}
			$this->_redirect('/session');
		}		
    }

    public function deletesessionAction()
    {
       $sessionID = $this->_request->getParam('sessionID');
		if(is_numeric($sessionID)){
			$deletesession = new Application_Model_Session();
			$deletesession->setID($sessionID);
			$sessionmapper = new Application_Model_SessionMapper();
			$sessionmapper->delete($deletesession);
		}
		$this->_redirect('/session');
    }


}