summaryrefslogblamecommitdiffstats
path: root/application/controllers/SessionController.php
blob: 6d0a873da7b8c65c44cecffc271847fa38de5d26 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                      

                                                            



                                         








                                                            
                                           
                                                                                                                                                                                

                                                                                
                                                                              
                                                                                                                                                                                  



                                                                                         






                                                                                     






                                                                                               
                                                        
                         
                                                                    
                 



                                       







                                                            






                                                                               

                                                                                                

                                                        
                                                                                                                                                                        






                                                                                        
                                                                                                                                                                                      


                                                                                         







                                                                                                                                        












                                                                                                                        



                                         







                                                                               










     
<?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()
    {
		$cm = new Application_Model_ClientMapper();
		$clients = $cm->fetchAll();

		$bm = new Application_Model_BootOsMapper();
		$bootos = $bm->fetchAll();

		$bi = new Application_Model_BootIsoMapper();
		$bootisos = $bi->fetchAll();

		if (!isset($_POST["add"])){
    		$createsession = new Application_Form_Session(array('buttontext' => 'Create Session','clients'=>$clients,'bootos'=>$bootos,'bootisos'=>$bootisos)); 		
			$this->view->createsession = $createsession;		
		}else {
			// TODO extend with normal function not only with post
			$createsession = new Application_Form_Session(array('buttontext' => 'Create Session','clients'=>$clients,'bootos'=>$bootos,'bootisos'=>$bootisos),$_POST);
			print_a($_POST);
			if ($createsession->isValid($_POST)) {			
				try{
					$session = new Application_Model_Session($_POST);
					$session->setTime(strtotime($_POST['time']));
					if($session->getClientID() == ''){
						$session->setClientID(null);
					}
					if($session->getBootosID() == ''){
						$session->setBootosID(null);
					}
					$sessionmapper = new Application_Model_SessionMapper();
					$sessionmapper->save($session);
				
					$this->_redirect('/session');
			    	
				}catch (Zend_Exception $e) {  
        			echo "Error message 2: " . $e->getMessage() . "\n";  
        		}				
			}
			$this->view->createsession = $createsession;
		}
    }

    public function editsessionAction()
    {
		$cm = new Application_Model_ClientMapper();
		$clients = $cm->fetchAll();

		$bm = new Application_Model_BootOsMapper();
		$bootos = $bm->fetchAll();

		$bi = new Application_Model_BootIsoMapper();
		$bootisos = $bi->fetchAll();
       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);				
			$session->setTime(date('d.m.Y H:i',$session->getTime()));	
			$session2 = $session->toArray();

			$editsession = new Application_Form_Session(array('buttontext' => 'Edit Session','clients'=>$clients,'bootos'=>$bootos,'bootisos'=>$bootisos)); 
			$editsession->populate($session2);
			$this->view->editsession = $editsession;
		
		} else{
			try{
				$sessionID = $this->_request->getParam('sessionID');	
				
				$editsession = new Application_Form_Session(array('buttontext' => 'Edit Session','clients'=>$clients,'bootos'=>$bootos,'bootisos'=>$bootisos),$_POST);

				if ($editsession->isValid($_POST)) {	
					$session = new Application_Model_Session($_POST);
					$session->setID($this->_request->getParam('sessionID'));					
					$session->setTime(strtotime($_POST['time']));
					if($session->getClientID() == ''){
						$session->setClientID(null);
					}
					if($session->getBootosID() == ''){
						$session->setBootosID(null);
					}
					$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');
    }


}