summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorBjörn Geiger2011-08-09 13:15:49 +0200
committerBjörn Geiger2011-08-09 13:15:49 +0200
commit8616c7864f0fd42bfab05afb4be355e6711b8217 (patch)
tree7d0e58c2df7df6ce6df2c706727c2644b2fed4c3 /application
parentMerge branch 'master' of git.openslx.org:lsfks/projekte/poolctrl (diff)
downloadpoolctrl-8616c7864f0fd42bfab05afb4be355e6711b8217.tar.gz
poolctrl-8616c7864f0fd42bfab05afb4be355e6711b8217.tar.xz
poolctrl-8616c7864f0fd42bfab05afb4be355e6711b8217.zip
Filterentries API wird nun benutzt
Diffstat (limited to 'application')
-rw-r--r--application/configs/application.ini.dist1
-rw-r--r--application/controllers/EventController.php97
2 files changed, 92 insertions, 6 deletions
diff --git a/application/configs/application.ini.dist b/application/configs/application.ini.dist
index 5ae8d66..ccaa392 100644
--- a/application/configs/application.ini.dist
+++ b/application/configs/application.ini.dist
@@ -24,6 +24,7 @@ pbs2.getpools = /resource/getpool/apikey/
pbs2.addbootmenu = /resource/addbootmenu/apikey/
pbs2.deletebootmenu = /resource/deletebootmenu/apikey/
pbs2.addfilter = /resource/addfilter/apikey/
+pbs2.addfilterentrie = /resource/addfilterentrie/apikey/
pbs2.deletefilter = /resource/deletefilter/apikey/
pbs2.getperson = /resource/getperson/apikey/
pbs2.getmembership = /resource/getmembership/apikey/
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 1fd1d9c..2d9bfbe 100644
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -191,16 +191,59 @@ class EventController extends Zend_Controller_Action
$addForm = new Application_Form_EventAdd(array('eventcategorylist' => $eventcategorylist, 'eventactionlist' => $eventactionlist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $this->getRequest()->getParams()));
if ($addForm->isValid($this->getRequest()->getParams())) {
$this->getRequest()->setParam('start', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('start'))));
- $this->getRequest()->setParam('end', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end'))));
+ if($this->getRequest()->getParam('end')) {
+ $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);
+ $event->setPbs_membershipID($this->userIDsNamespace['membershipID']);
$bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=" . $event->getTitle() . "&defaultbootmenu=1&order=0&kcl=0";
$bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addbootmenu'] . $this->userIDsNamespace['apikey'], '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(1);
+ $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=" . $event->getTitle() . "&description=Poolctrl Filter für " . $event->getTitle() . "&created= " . time() . "&priority=100";
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterquery);
+ $filterXMLString = $filterApiResult['http-body'];
+ $filterXML = new SimpleXMLElement($filterXMLString);
+ $filterID = sprintf("%s", $filterXML->filterid);
+ $event->setPbs_filterID($filterID);
+ $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
+ $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
+ $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
+ $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
+ $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentriesid);
+ $startTime = date('H:i', strtotime($event->getStart()));
+ if($event->getEnd()) {
+ $endTime = date('H:i', strtotime($event->getEnd()));
+ } else {
+ $endTime = date('H:i', strtotime($event->getStart() + 900));
+ }
+ $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
+ $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
+ $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
+ $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
+ $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentriesid);
+ if($event->getRepeat()) {
+ $weekday = date('N', strtotime($event->getStart()));
+ $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=10&filtervalue=" . $weekday . "&filtervalue2=" . $weekday;
+ $filterentriesApiResult3 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
+ $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
+ $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
+ $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentriesid);
+ } else {
+ $startDate = date('Y-m-d', strtotime($event->getStart()));
+ if($event->getEnd()) {
+ $endDate = date('Y-m-d', strtotime($event->getEnd()));
+ } else {
+ $endDate = date('Y-m-d', strtotime($event->getStart()));
+ }
+ $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . $startDate . "&filtervalue2=" . $endDate;
+ $filterentriesApiResult3 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
+ $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
+ $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
+ $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentriesid);
+ }
try {
$eventID = $this->eventMapper->save($event);
} catch(Zend_Exception $e)
@@ -295,7 +338,9 @@ class EventController extends Zend_Controller_Action
$editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'eventactionlist' => $eventactionlist, 'bootoslist' => $bootoslist, 'poollist' => $poollist, $this->getRequest()->getParams()));
if ($editForm->isValid($this->getRequest()->getParams())) {
$this->getRequest()->setParam('start', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('start'))));
- $this->getRequest()->setParam('end', date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('end'))));
+ if($this->getRequest()->getParam('end')) {
+ $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()) {
@@ -314,8 +359,48 @@ class EventController extends Zend_Controller_Action
$bootmenuXML = new SimpleXMLElement($bootmenuXMLString);
$bootmenuID = sprintf("%s", $bootmenuXML->bootmenuid);
$event->setPbs_bootmenuID($bootmenuID);
- //$event->setPbs_filterID($filterID);
- $params = $this->getRequest()->getParams();
+ $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=" . $event->getTitle() . "&description=Poolctrl Filter für " . $event->getTitle() . "&created= " . time() . "&priority=100";
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterquery);
+ $filterXMLString = $filterApiResult['http-body'];
+ $filterXML = new SimpleXMLElement($filterXMLString);
+ $filterID = sprintf("%s", $filterXML->filterid);
+ $event->setPbs_filterID($filterID);
+ $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
+ $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
+ $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
+ $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
+ $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentriesid);
+ $startTime = date('H:i', strtotime($event->getStart()));
+ if($event->getEnd()) {
+ $endTime = date('H:i', strtotime($event->getEnd()));
+ } else {
+ $endTime = date('H:i', strtotime($event->getStart() + 900));
+ }
+ $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
+ $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
+ $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
+ $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
+ $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentriesid);
+ if($event->getRepeat()) {
+ $weekday = date('N', strtotime($event->getStart()));
+ $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=10&filtervalue=" . $weekday . "&filtervalue2=" . $weekday;
+ $filterentriesApiResult3 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
+ $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
+ $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
+ $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentriesid);
+ } else {
+ $startDate = date('Y-m-d', strtotime($event->getStart()));
+ if($event->getEnd()) {
+ $endDate = date('Y-m-d', strtotime($event->getEnd()));
+ } else {
+ $endDate = date('Y-m-d', strtotime($event->getStart()));
+ }
+ $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . $startDate . "&filtervalue2=" . $endDate;
+ $filterentriesApiResult3 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
+ $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
+ $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
+ $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentriesid);
+ }
try {
$this->eventMapper->save($event);
} catch(Zend_Exception $e)