diff options
| author | Simon | 2011-04-01 14:10:15 +0200 |
|---|---|---|
| committer | Simon | 2011-04-01 14:10:15 +0200 |
| commit | 8fa0353205b9622b778bcb084732d276fcf6fd5f (patch) | |
| tree | d33688a9d479661f9a33c48d1a864104af44d555 /application/modules/user/controllers | |
| parent | user-layout geändert, Menü nur wenn rolle ausgewählt wurde (diff) | |
| parent | Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2 (diff) | |
| download | pbs2-8fa0353205b9622b778bcb084732d276fcf6fd5f.tar.gz pbs2-8fa0353205b9622b778bcb084732d276fcf6fd5f.tar.xz pbs2-8fa0353205b9622b778bcb084732d276fcf6fd5f.zip | |
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
Diffstat (limited to 'application/modules/user/controllers')
| -rw-r--r-- | application/modules/user/controllers/BootmenuController.php | 291 | ||||
| -rw-r--r-- | application/modules/user/controllers/BootosController.php | 1 |
2 files changed, 288 insertions, 4 deletions
diff --git a/application/modules/user/controllers/BootmenuController.php b/application/modules/user/controllers/BootmenuController.php index 7b0f4f5..627d37c 100644 --- a/application/modules/user/controllers/BootmenuController.php +++ b/application/modules/user/controllers/BootmenuController.php @@ -1,22 +1,305 @@ <?php -class User_BootmenuController extends Zend_Controller_Action +class user_BootmenuController extends Zend_Controller_Action { - + + protected $bootmenuMapper; + protected $bootmenuentriesMapper; + protected $membershipMapper; + protected $membership; + public function init() { if (Zend_Auth::getInstance()->hasIdentity()) { + $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); + if($userIDsNamespace['membershipID'] ==''){ + $this->_redirect('/user/index'); + } + + $this->bootmenuMapper = new Application_Model_BootMenuMapper(); + $this->membershipMapper = new Application_Model_MembershipMapper(); + $this->membership = new Application_Model_Membership(); + $this->membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); + + $this->db = Zend_Db_Table::getDefaultAdapter(); } else { $this->_helper->redirector('login', 'auth'); } - } + } public function indexAction() { - // action body + $this->bootMenumapper = new Application_Model_BootMenuMapper(); + $this->bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); + $bootosMapper = new Application_Model_BootOsMapper(); + $configMapper = new Application_Model_ConfigMapper(); + + if(true){ + $bootmenu = $this->bootmenuMapper->findBy('groupID', $this->membership->getGroupID()); + foreach ($bootmenu as $bm){ + $bootmenuID = $bm->getID(); + $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy('bootmenuID',$bootmenuID); + foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ + $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); + $bootmenuentry->setConfigID("[".$bootmenuentry->getConfigID()."] ".$configMapper->find($bootmenuentry->getConfigID())->gettitle()); + } + } + }else{ + + $bootmenu = $this->bootmenuMapper->findBy('membershipID', $this->membership->getID()); + $bootmenuID = $bootmenu[0]->getID(); + $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy('bootmenuID',$bootmenuID); + foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ + $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); + $bootmenuentry->setConfigID("[".$bootmenuentry->getConfigID()."] ".$configMapper->find($bootmenuentry->getConfigID())->gettitle()); + } + } + + $this->view->bootmenulist = $bootmenu; + $this->view->bootmenuentrylist = $bootmenuentries; + + } + + public function addbootmenuentryAction() + { + $bootmenuID = $this->_request->getParam('bootmenuID'); + $bootosmapper = new Application_Model_BootOsMapper(); + $configmapper = new Application_Model_ConfigMapper(); + + if (!isset($_POST["addbootmenuentry"])){ + $addbootmenuentryForm = new user_Form_BootmenuEntriesAdd(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder'=> $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll())); + $addbootmenuentryForm->populate(array('order' => $this->_request->getParam('maxorder'))); + unset($_POST['kcl']); + unset($_POST['configID']); + $addbootmenuentryForm->populate($_POST); + } else { + + $addbootmenuentryForm = new user_Form_BootmenuEntriesAdd(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder'=> $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll()),$_POST); + + if ($addbootmenuentryForm->isValid($_POST)) { + + $bootmenuentry = new Application_Model_BootMenuEntries($_POST); + $bootmenuentry->setBootmenuID($bootmenuID); + + $bootmenuentrymapper = new Application_Model_BootMenuEntriesMapper(); + + try { + if($bootmenuentry->getOrder() < $this->_request->getParam('maxorder')){ + $bootmenuentry->setOrder($bootmenuentry->getOrder()); + $bootmenuentrymapper->order($bootmenuentry); + } + + //print_a($bootmenuentry); + + $bootmenuentrymapper->save($bootmenuentry); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + + } + $this->_redirect('/user/bootmenu'); + } + } + + $this->view->addbootmenuentryForm = $addbootmenuentryForm; + + } + + public function createbootmenuAction() + { + $groupmapper = new Application_Model_GroupMapper(); + + if (!isset($_POST["createbootmenu"])){ + $createbootmenuForm = new user_Form_BootmenuCreate(array('grouplist' => $groupmapper->fetchAll())); + } else { + + $createbootmenuForm = new user_Form_BootmenuCreate(array('grouplist' => $groupmapper->fetchAll()),$_POST); + + if ($createbootmenuForm->isValid($_POST)) { + + $bootmenu = new Application_Model_BootMenu($_POST); + $bootmenu->setMembershipID('1'); + $bootmenu->setCreated(time()); + $bootmenumapper = new Application_Model_BootMenuMapper(); + + try { + $bootmenumapper->save($bootmenu); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + + } + $this->_redirect('/user/bootmenu'); + } + } + + $this->view->createbootmenuForm = $createbootmenuForm; + } + + public function editbootmenuAction() + { + $bootmenuID = $this->_request->getParam('bootmenuID'); + $groupmapper = new Application_Model_GroupMapper(); + + if (!isset($_POST["editbootmenu"])){ + $bootmenuID = $this->_request->getParam('bootmenuID'); + if (!isset($bootmenuID) || !is_numeric($bootmenuID)){ + $this->_redirect('/bootmenu'); + } else { + $bootmenu = new Application_Model_BootMenu(); + $bootmenumapper = new Application_Model_BootMenuMapper(); + $bootmenumapper->find($bootmenuID, $bootmenu); + + $editbootmenuForm = new user_Form_BootmenuEdit(array('grouplist' => $groupmapper->fetchAll())); + $editbootmenuForm->populate($bootmenu->toArray()); + } + }else{ + $editbootmenuForm = new user_Form_BootmenuEdit(array('grouplist' => $groupmapper->fetchAll()),$_POST); + + if ($editbootmenuForm->isValid($_POST)) { + + $bootmenu = new Application_Model_BootMenu($_POST); + $bootmenu->setMembershipID('1'); + $bootmenu->setCreated(time()); + $bootmenumapper = new Application_Model_BootMenuMapper(); + + $bootmenu->setID($bootmenuID); + + try { + + $bootmenumapper->save($bootmenu); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + } + + $this->_redirect('/user/bootmenu'); + } + + } + + $this->view->editbootmenuForm = $editbootmenuForm; + } + + public function editbootmenuentryAction() + { + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + $bootmenuID = $this->_request->getParam('bootmenuID'); + $bootosmapper = new Application_Model_BootOsMapper(); + $configmapper = new Application_Model_ConfigMapper(); + $bootmenuentry = new Application_Model_BootMenuEntries(); + $bootmenuentrymapper = new Application_Model_BootMenuEntriesMapper(); + + if (!isset($_POST["editbootmenuentry"])){ + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + if (!isset($bootmenuentryID) || !is_numeric($bootmenuentryID)){ + $this->_redirect('/user/bootmenu'); + } else { + + $bootmenuentrymapper->find($bootmenuentryID, $bootmenuentry); + + $editbootmenuentryForm = new user_Form_BootmenuEntriesEdit(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder' => $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll(), 'kcl' => $bootmenuentry->getKcl())); + + if(!isset($_POST['configID'])){ + $editbootmenuentryForm->populate($bootmenuentry->toArray()); + } + else{ + unset($_POST['kcl']); + unset($_POST['configID']); + $editbootmenuentryForm->populate($_POST); + } + } + }else{ + $editbootmenuentryForm = new user_Form_BootmenuEntriesEdit(array('bootoslist'=>$bootosmapper->fetchAll(), 'maxorder'=> $this->_request->getParam('maxorder'), 'configlist'=>$configmapper->fetchAll(), 'kcl' => $bootmenuentry->getKcl()),$_POST); + + if ($editbootmenuentryForm->isValid($_POST)) { + + $bootmenuentry = new Application_Model_BootMenuEntries($_POST); + + $bootmenuentry->setBootmenuID($bootmenuID); + $bootmenuentry->setID($bootmenuentryID); + + $bootmenuentrymapper = new Application_Model_BootMenuEntriesMapper(); + + try { + if($bootmenuentry->getOrder() < $this->_request->getParam('oldorder')) + $bootmenuentrymapper->orderbefore($bootmenuentry, $this->_request->getParam('oldorder')); + else + $bootmenuentrymapper->orderafter($bootmenuentry, $this->_request->getParam('oldorder')); + + $bootmenuentrymapper->save($bootmenuentry); + + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + } + + $this->_redirect('/user/bootmenu'); + } + + } + + $this->view->editbootmenuentryForm = $editbootmenuentryForm; + } + public function removebootmenuentryAction() + { + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + if (!isset($bootmenuentryID) || !is_numeric($bootmenuentryID)){ + $this->_redirect('/bootmenu'); + } else { + $bootmenuentry = new Application_Model_BootMenuEntries(); + $bootmenuentrymapper = new Application_Model_BootMenuEntriesMapper(); + $bootmenuentrymapper->find($bootmenuentryID, $bootmenuentry); + $bootmenuentrymapper->delete($bootmenuentry); + $bootmenuentrymapper->orderremove($bootmenuentry); + } + $this->_redirect('/user/bootmenu'); + } + + public function deletebootmenuAction() + { + $bootmenuID = $this->_request->getParam('bootmenuID'); + if (!isset($bootmenuID) || !is_numeric($bootmenuID)){ + $this->_redirect('/user/bootmenu'); + } else { + $bootmenu = new Application_Model_BootMenu(); + $bootmenu->setID($bootmenuID); + $bootmenumapper = new Application_Model_BootMenuMapper(); + $bootmenumapper->delete($bootmenu); + } + $this->_redirect('/user/bootmenu'); + } + + private function arrayDiff($a, $b){ + foreach($a as $k1 => $i1){ + foreach($b as $k2 => $i2){ + if($i1->getID() == $i2->getBootosID()){ + unset($a[$k1]); + } + } + } + return $a; + } + } + + + + + + + + + + + + diff --git a/application/modules/user/controllers/BootosController.php b/application/modules/user/controllers/BootosController.php index a30ba05..eae0dcf 100644 --- a/application/modules/user/controllers/BootosController.php +++ b/application/modules/user/controllers/BootosController.php @@ -109,6 +109,7 @@ class user_BootosController extends Zend_Controller_Action $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); $childgroups = count($groupgroupsMapper->getChildGroups($groupID)); + //TODO nur configs von admins $configMapper = new Application_Model_ConfigMapper(); $configlist = $configMapper->findBy("groupID", $groupID); |
