notify('No membershipID set','forbidden'); } /* Initialize action controller here */ $membershipMapper = new Application_Model_MembershipMapper(); $this->membership = new Application_Model_Membership(); $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); } public function indexAction() { // TODO: ACL: is he authorized to see this ? // Get the Clients which booted with a bootiso of this group $result = $this->_request->getParam('deleteresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('delete',$result); } $result = $this->_request->getParam('modifyresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('modify',$result); } $result = $this->_request->getParam('addresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('create',$result); } $clientMapper = new Application_Model_ClientMapper(); $clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID()); #print_a($clientsInGroup); $this->view->clients = $clientsInGroup; } public function addclientAction() { $mac = $this->_request->getParam('mac'); $hh = $this->_request->getParam('hh'); // TODO: ACL: is he authorized to create new clients? #if( he is allowed){ if (!isset($_POST["add"])){ $addclient = new user_Form_Client(array('buttontext' => 'Create Client')); $this->view->addclient = $addclient; } else{ $addclient = new user_Form_Client(array('buttontext' => 'Create Client'),$_POST); print_a($_POST); if ($addclient->isValid($_POST) || ($mac != '' && $hh != '') ) { $client = new Application_Model_Client($_POST); $mac = ($mac!='')?$mac:$_POST['macadress']; $hh = ($hh!='')?$hh:$_POST['hardwarehash']; $client->setMacadress($mac); $client->setHardwarehash($hh); $client->setGroupID($this->membership->getGroupID()); $clientmapper = new Application_Model_ClientMapper(); $clientmapper->save($client); $this->_redirect('/user/client/index/addresult/ok'); } $this->view->addclient = $addclient; } #}else{ # $this->_redirect('/user/'); #} } public function removeclientAction() { $clientID = $this->_request->getParam('clientID'); // TODO: ACL: is he authorized to delete clients? #if( he is allowed){ $clientMapper = new Application_Model_ClientMapper(); if(is_numeric($clientID)){ $client = new Application_Model_Client(); $clientMapper->find($clientID,$client); if($client->getGroupID() == $this->membership->getGroupID()){ $clientMapper = new Application_Model_ClientMapper(); $clientMapper->delete($client); $this->_redirect('/user/client/index/deleteresult/ok'); } else{ $this->_redirect('/user/client/index/deleteresult/forbidden'); } } $this->_redirect('/user/client/index/deleteresult/error'); #}else{ # $this->_redirect('/user/'); #} } public function editclientAction(){ // TODO: ACL: Is he authorized to edit clients ? #if( he is allowed){ if (!isset($_POST["add"])){ $clientID = $this->_request->getParam('clientID'); $client = new Application_Model_Client(); $mapper = new Application_Model_ClientMapper(); $mapper->find($clientID,$client); if($client->getGroupID() == $this->membership->getGroupID()){ $editclient = new user_Form_Client(array('buttontext' => 'Edit Client')); $editclient->populate($client->toArray()); $this->view->editclient = $editclient; } else{ $this->_redirect('/user/client/index/modifyresult/error'); } } else{ $editclient = new user_Form_Client(array('buttontext' => 'Edit Client'),$_POST); if ($editclient->isValid($_POST) || ($mac != '' && $hh != '') ) { $client = new Application_Model_Client($_POST); $client->setID($this->_request->getParam('clientID')); $dbclient = new Application_Model_Client(); $clientMapper = new Application_Model_ClientMapper(); $clientMapper->find($this->_request->getParam('clientID'),$dbclient); if($dbclient->getGroupID() == $this->membership->getGroupID()){ $client->setGroupID($this->membership->getGroupID()); $clientmapper = new Application_Model_ClientMapper(); $clientmapper->save($client); $this->_redirect('/user/client/index/modifyresult/ok'); } else{ $this->_redirect('/user/client/index/modifyresult/error'); } } $this->view->editclient = $editclient; } #}else{ # $this->_redirect('/user/'); #} } }