view->sessions = $mapper->fetchAll(); print_a($_SESSION); } private function getUniqueCode($length = "") { $code = md5(uniqid(rand(), true)); if ($length != "") return substr($code, 0, $length); else return $code; } 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(); $bmem = new Application_Model_SessionMapper(); $bootmenuentries = $bmem->fetchAll(); if (!isset($_POST["add"])){ $createsession = new Application_Form_Session(array('buttontext' => 'Create Session','bootmenuentries'=>$bootmenuentries,'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','bootmenuentries'=>$bootmenuentries,'clients'=>$clients,'bootos'=>$bootos,'bootisos'=>$bootisos),$_POST); print_a($_POST); if ($createsession->isValid($_POST)) { try{ $uniqid = $this->getUniqueCode(10); $sm = new Application_Model_SessionMapper(); while(count($sm->findBy('alphasessionID',$uniqid))>0){ $uniqid = $this->getUniqueCode(16); } $session = new Application_Model_Session($_POST); $session->setTime(strtotime($_POST['time'])); $session->setAlphasessionID($uniqid); // UNIQUE ID IN SESSION SPEICHERN: $_SESSION['alphasessionID'] = $uniqid; 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(); $bmem = new Application_Model_SessionMapper(); $bootmenuentries = $bmem->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','bootmenuentries'=>$bootmenuentries,'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','bootmenuentries'=>$bootmenuentries,'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'); } }