view->bootosmapper = $bootosmapper; $this->view->configmapper = $configmapper; $bootmenuID = $this->_request->getParam('bootmenuid'); $preboot = $this->_request->getParam('preboot'); if($preboot == "") { if($bootmenuID == "") { $this->view->bootmenulist = $bootmenumapper->fetchAll(); $bootmenuentries = array(); foreach ($this->view->bootmenulist as $bootmenu) { $bootmenuentries[$bootmenu->getID()] = $bootmenuentriesmapper->findBy(array('bootmenuID' => $bootmenu->getID())); $bootmenu->setGroupID("[".$bootmenu->getGroupID()."] ".$groupmapper->find($bootmenu->getGroupID())->getTitle()); $bootmenu->setMembershipID("[".$bootmenu->getMembershipID()."] ".$personmapper->find($membershipmapper->find($bootmenu->getMembershipID())->getPersonID())->getFirstname()); } } else { $bootmenu = new Application_Model_BootMenu(); $bootmenumapper->find($bootmenuID, $bootmenu); $bootmenuentries = array(); $bootmenuentries[$bootmenuID] = $bootmenuentriesmapper->findBy('bootmenuID', $bootmenuID); $bootmenu->setGroupID("[".$bootmenu->getGroupID()."] ".$groupmapper->find($bootmenu->getGroupID())->getTitle()); $bootmenu->setMembershipID("[".$bootmenu->getMembershipID()."] ".$personmapper->find($membershipmapper->find($bootmenu->getMembershipID())->getPersonID())->getFirstname()); $this->view->bootmenulist = array($bootmenu); } $this->view->bootmenuentrylist = $bootmenuentries; } else { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); if($bootmenuID == "") { $this->view->bootmenulist = $bootmenumapper->fetchAll(); $bootmenuentries = array(); foreach ($this->view->bootmenulist as $bootmenu) { $bootmenuentries[$bootmenu->getID()] = $bootmenuentriesmapper->findBy('bootmenuID', $bootmenu->getID()); $bootmenu->setGroupID("[".$bootmenu->getGroupID()."] ".$groupmapper->find($bootmenu->getGroupID())->getTitle()); $bootmenu->setMembershipID("[".$bootmenu->getMembershipID()."] ".$personmapper->find($membershipmapper->find($bootmenu->getMembershipID())->getPersonID())->getFirstname()); } } else { $bootmenu = new Application_Model_BootMenu(); $bootmenumapper->find($bootmenuID, $bootmenu); $cc['title'] = $bootmenu->getTitle(); $bootmenuentries = array(); $bootmenuentries = $bootmenuentriesmapper->findBy('bootmenuID', $bootmenuID); foreach($bootmenuentries as $bootmenuentry) { $ar = array(); $ar['title'] = $bootmenuentry->getTitle(); $ar['id'] = $bootmenuentry->getID(); $cc['data'][] = $ar; } echo json_encode($cc); //print_a($cc); } } } public function addbootmenuentryAction() { $bootmenuID = $this->_request->getParam('bootmenuID'); $bootosmapper = new Application_Model_BootOsMapper(); $configmapper = new Application_Model_ConfigMapper(); if (!isset($_POST["addbootmenuentry"])) { $addbootmenuentryForm = new dev_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 dev_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) . "
"; echo "Message: " . $e->getMessage() . "
"; } $this->_redirect('/dev/bootmenu'); } } $this->view->addbootmenuentryForm = $addbootmenuentryForm; } public function createbootmenuAction() { $groupmapper = new Application_Model_GroupMapper(); if (!isset($_POST["createbootmenu"])) { $createbootmenuForm = new dev_Form_BootmenuCreate(array('grouplist' => $groupmapper->fetchAll())); } else { $createbootmenuForm = new dev_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) . "
"; echo "Message: " . $e->getMessage() . "
"; } $this->_redirect('/dev/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 dev_Form_BootmenuEdit(array('grouplist' => $groupmapper->fetchAll())); $editbootmenuForm->populate($bootmenu->toArray()); } } else { $editbootmenuForm = new dev_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) . "
"; echo "Message: " . $e->getMessage() . "
"; } $this->_redirect('/dev/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('/dev/bootmenu'); } else { $bootmenuentrymapper->find($bootmenuentryID, $bootmenuentry); $editbootmenuentryForm = new dev_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 dev_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) . "
"; echo "Message: " . $e->getMessage() . "
"; } $this->_redirect('/dev/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('/dev/bootmenu'); } public function deletebootmenuAction() { $bootmenuID = $this->_request->getParam('bootmenuID'); if (!isset($bootmenuID) || !is_numeric($bootmenuID)) { $this->_redirect('/dev/bootmenu'); } else { $bootmenu = new Application_Model_BootMenu(); $bootmenu->setID($bootmenuID); $bootmenumapper = new Application_Model_BootMenuMapper(); $bootmenumapper->delete($bootmenu); } $this->_redirect('/dev/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; } }