eventMapper = new Application_Model_EventMapper(); $this->eventcategoryMapper = new Application_Model_EventcategoryMapper(); $this->membershipMapper = new Application_Model_MembershipMapper(); $this->personMapper = new Application_Model_PersonMapper(); } public function indexAction() { $events = $this->eventMapper->fetchAll(); if(is_array($events)) { $bootOsApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getbootos/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $bootOsXMLString = $bootOsApiResult['http-body']; $bootOsXML = new SimpleXMLElement($bootOsXMLString); foreach($bootOsXML->bootoslist->bootos as $bootos) { $bootosobj = new Application_Model_BootOs(); $bootosobj->setID(sprintf("%s", $bootos->id)); $bootosobj->setCreated(sprintf("%s", $bootos->created)); $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl)); $bootosobj->setDescription(sprintf("%s", $bootos->description)); $bootosobj->setDistro(sprintf("%s", $bootos->distro)); $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion)); $bootosobj->setExpires(sprintf("%s", $bootos->expires)); $bootosobj->setGroupID(sprintf("%s", $bootos->groupid)); $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid)); $bootosobj->setPublic(sprintf("%s", $bootos->public)); $bootosobj->setShare(sprintf("%s", $bootos->share)); $bootosobj->setShortname(sprintf("%s", $bootos->shortname)); $bootosobj->setSource(sprintf("%s", $bootos->source)); $bootosobj->setTitle(sprintf("%s", $bootos->title)); $bootoslist[$bootosobj->getID()] = $bootosobj; } $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $poolXMLString = $poolApiResult['http-body']; $poolXML = new SimpleXMLElement($poolXMLString); foreach($poolXML->poollist->pool as $pool) { $poolobj = new Application_Model_Pool(); $poolobj->setID(sprintf("%s", $pool->id)); $poolobj->setDescription(sprintf("%s", $pool->description)); $poolobj->setGroupID(sprintf("%s", $pool->groupid)); $poolobj->setLocation(sprintf("%s", $pool->location)); $poolobj->setTitle(sprintf("%s", $pool->title)); $poollist[$poolobj->getID()] = $poolobj; } foreach($events as $eventObj) { $event = $eventObj->toArray(); $bootos = new Application_Model_BootOs(); $event['pbs_bootos_title'] = $bootoslist[$event['pbs_bootosID']]->getTitle(); $membership = new Application_Model_Membership(); $this->membershipMapper->find($event['pbs_membershipID'], $membership); $person = new Application_Model_Person(); $this->personMapper->find($membership->getPersonID(), $person); $event['pbs_person_name'] = $person->getFirstname() . " " . $person->getName(); $eventcategory = new Application_Model_Eventcategory(); $this->eventcategoryMapper->find($event['category'], $eventcategory); $event['category'] = $eventcategory->getTitle(); $eventlist[$poollist[$event['pbs_poolID']]->getTitle()][] = $event; } } $params = $this->getRequest()->getParams(); $this->view->params = $params; $this->view->eventlist = $eventlist; } public function addAction() { $eventcategorylist = $this->eventcategoryMapper->fetchAll(); $bootOsApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getbootos/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $bootOsXMLString = $bootOsApiResult['http-body']; $bootOsXML = new SimpleXMLElement($bootOsXMLString); foreach($bootOsXML->bootoslist->bootos as $bootos) { $bootosobj = new Application_Model_BootOs(); $bootosobj->setID(sprintf("%s", $bootos->id)); $bootosobj->setCreated(sprintf("%s", $bootos->created)); $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl)); $bootosobj->setDescription(sprintf("%s", $bootos->description)); $bootosobj->setDistro(sprintf("%s", $bootos->distro)); $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion)); $bootosobj->setExpires(sprintf("%s", $bootos->expires)); $bootosobj->setGroupID(sprintf("%s", $bootos->groupid)); $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid)); $bootosobj->setPublic(sprintf("%s", $bootos->public)); $bootosobj->setShare(sprintf("%s", $bootos->share)); $bootosobj->setShortname(sprintf("%s", $bootos->shortname)); $bootosobj->setSource(sprintf("%s", $bootos->source)); $bootosobj->setTitle(sprintf("%s", $bootos->title)); $bootoslist[$bootosobj->getID()] = $bootosobj; } $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $poolXMLString = $poolApiResult['http-body']; $poolXML = new SimpleXMLElement($poolXMLString); foreach($poolXML->poollist->pool as $pool) { $poolobj = new Application_Model_Pool(); $poolobj->setID(sprintf("%s", $pool->id)); $poolobj->setDescription(sprintf("%s", $pool->description)); $poolobj->setGroupID(sprintf("%s", $pool->groupid)); $poolobj->setLocation(sprintf("%s", $pool->location)); $poolobj->setTitle(sprintf("%s", $pool->title)); $poollist[$poolobj->getID()] = $poolobj; } $add = $this->getRequest()->getParam("add"); if (!isset($add)){ $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist)); } else { $addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $this->getRequest()->getParams())); if ($addForm->isValid($this->getRequest()->getParams())) { $this->getRequest()->setParam('start', date ('Y-m- H:i', strtotime($this->getRequest()->getParam('start')))); $this->getRequest()->setParam('end', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end')))); $event = new Application_Model_Event($this->getRequest()->getParams()); $event->setPbs_membershipID(1); $bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=" . $event->getTitle() . "&defaultbootmenu=1&order=0&kcl=0"; $bootmenuApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/addbootmenu/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery); $bootmenuXMLString = $bootmenuApiResult['http-body']; $bootmenuXML = new SimpleXMLElement($bootmenuXMLString); $bootmenuID = sprintf("%s", $bootmenuXML->bootmenuid); $event->setPbs_bootmenuID($bootmenuID); //$event->setPbs_filterID($filterID); try { $eventID = $this->eventMapper->save($event); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_redirect('/event/'); } } $params = $this->getRequest()->getParams(); $this->view->params = $params; $this->view->addForm = $addForm; } public function deleteAction() { $this->_helper->viewRenderer->setNoRender(); $eventID = $this->_request->getParam('eventID'); if(isset($eventID)) { $event = new Application_Model_Event(); if($event->getPbs_bootmenuID()) { $bootmenuApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/deletebootmenu/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_bootmenuID()); } if($event->getPbs_filterID()) { $filterApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/deletefilter/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_filterID()); } $this->eventMapper->find($eventID, $event); try { $this->eventMapper->delete($event); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_redirect('/event/'); } else { $this->_redirect('/event/'); return; } } public function editAction() { $eventcategorylist = $this->eventcategoryMapper->fetchAll(); $bootOsApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getbootos/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $bootOsXMLString = $bootOsApiResult['http-body']; $bootOsXML = new SimpleXMLElement($bootOsXMLString); foreach($bootOsXML->bootoslist->bootos as $bootos) { $bootosobj = new Application_Model_BootOs(); $bootosobj->setID(sprintf("%s", $bootos->id)); $bootosobj->setCreated(sprintf("%s", $bootos->created)); $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl)); $bootosobj->setDescription(sprintf("%s", $bootos->description)); $bootosobj->setDistro(sprintf("%s", $bootos->distro)); $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion)); $bootosobj->setExpires(sprintf("%s", $bootos->expires)); $bootosobj->setGroupID(sprintf("%s", $bootos->groupid)); $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid)); $bootosobj->setPublic(sprintf("%s", $bootos->public)); $bootosobj->setShare(sprintf("%s", $bootos->share)); $bootosobj->setShortname(sprintf("%s", $bootos->shortname)); $bootosobj->setSource(sprintf("%s", $bootos->source)); $bootosobj->setTitle(sprintf("%s", $bootos->title)); $bootoslist[$bootosobj->getID()] = $bootosobj; } $poolApiResult = PostToHost('pbs2poolctrl.mp.openslx.org', '/resource/getpool/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', ''); $poolXMLString = $poolApiResult['http-body']; $poolXML = new SimpleXMLElement($poolXMLString); foreach($poolXML->poollist->pool as $pool) { $poolobj = new Application_Model_Pool(); $poolobj->setID(sprintf("%s", $pool->id)); $poolobj->setDescription(sprintf("%s", $pool->description)); $poolobj->setGroupID(sprintf("%s", $pool->groupid)); $poolobj->setLocation(sprintf("%s", $pool->location)); $poolobj->setTitle(sprintf("%s", $pool->title)); $poollist[$poolobj->getID()] = $poolobj; } $eventID = $this->_request->getParam('eventID'); if(!isset($eventID)) { $this->_helper->redirector('add', 'event'); return; } else { $save = $this->getRequest()->getParam("save"); if (isset($save)){ $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $this->getRequest()->getParams())); if ($editForm->isValid($this->getRequest()->getParams())) { $this->getRequest()->setParam('start', date ('Y-m- H:i', strtotime($this->getRequest()->getParam('start')))); $this->getRequest()->setParam('end', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end')))); $event = new Application_Model_Event(); $this->eventMapper->find($eventID, $event); if($event->getPbs_bootmenuID()) { $bootmenuApiResult = PostToHost('pbs2.local', '/resource/deletebootmenu/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_bootmenuID()); unset($bootmenuApiResult); } if($event->getPbs_filterID()) { $filterApiResult = PostToHost('pbs2.local', '/resource/deletefilter/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_filterID()); unset($filterApiResult); } $event->setOptions($this->getRequest()->getParams()); $event->setID($eventID); $bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=" . $event->getTitle() . "&defaultbootmenu=1&order=0&kcl=0"; $bootmenuApiResult = PostToHost('pbs2.local', '/resource/addbootmenu/apikey/apikey1', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery); $bootmenuXMLString = $bootmenuApiResult['http-body']; $bootmenuXML = new SimpleXMLElement($bootmenuXMLString); $bootmenuID = sprintf("%s", $bootmenuXML->bootmenuid); $event->setPbs_bootmenuID($bootmenuID); //$event->setPbs_filterID($filterID); print_r($event); $params = $this->getRequest()->getParams(); try { $this->eventMapper->save($event); } catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; return; } $this->_redirect('/event/'); } } else { $event = new Application_Model_Event(); $this->eventMapper->find($eventID, $event); $this->getRequest()->setParam('title', $event->getTitle()); $this->getRequest()->setParam('immediate', $event->getImmediate()); $this->getRequest()->setParam('start', $event->getStart()); $this->getRequest()->setParam('end', $event->getEnd()); $this->getRequest()->setParam('repeat', $event->getRepeat()); $this->getRequest()->setParam('participants', $event->getParticipants()); $this->getRequest()->setParam('category', $event->getCategory()); $this->getRequest()->setParam('note', $event->getNote()); $this->getRequest()->setParam('pbs_poolID', $event->getPbs_poolID()); $this->getRequest()->setParam('pbs_bootosID', $event->getPbs_bootosID()); $this->getRequest()->setParam('pbs_membershipID', $event->getPbs_membershipID()); $params = $this->getRequest()->getParams(); $editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'poollist' => $poollist , 'params' => $params)); } $this->view->editForm = $editForm; $this->view->params = $params; } } }