summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorBjörn Geiger2011-09-27 15:51:41 +0200
committerBjörn Geiger2011-09-27 15:51:41 +0200
commit8f77d6b46b8b9c295a872fbad5ca4d568b3da216 (patch)
treee5366c6bdb3d3fce834488c99bd0af6acbc9ae20 /application
parentFilter werden nun auch angelegt beim Repeat Event (diff)
downloadpoolctrl-8f77d6b46b8b9c295a872fbad5ca4d568b3da216.tar.gz
poolctrl-8f77d6b46b8b9c295a872fbad5ca4d568b3da216.tar.xz
poolctrl-8f77d6b46b8b9c295a872fbad5ca4d568b3da216.zip
verschiedene Korrekturen
Diffstat (limited to 'application')
-rwxr-xr-xapplication/controllers/EventController.php61
1 files changed, 37 insertions, 24 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index a3ed720..70db0f4 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -382,6 +382,9 @@ class EventController extends Zend_Controller_Action
unset($filterApiResult);
}
$params['immediate'] = 0;
+ if($event->getRepeat()) {
+ $this->deleteRepeatEvents($event);
+ }
$event->setOptions($params);
$event->setID($eventID);
$bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=" . $event->getTitle() . "&defaultbootmenu=1&order=0&kcl=0";
@@ -412,25 +415,19 @@ class EventController extends Zend_Controller_Action
$filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
$filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
$filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
- 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']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
- $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
- $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
- $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentry->id);
+ $startDate = date('Y-m-d', strtotime($event->getStart()));
+ if($event->getEnd()) {
+ $endDate = date('Y-m-d', strtotime($event->getEnd()));
} 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']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
- $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
- $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
- $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentry->id);
+ $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']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery3);
+ $filterentriesXMLString3 = $filterentriesApiResult3['http-body'];
+ $filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
+ $filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentry->id);
+ if($event->getRepeat()) {
+ $this->repeatEvent($event);
}
try {
$this->eventMapper->save($event);
@@ -440,6 +437,9 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
+ if($event->getRepeat()) {
+ $this->repeatEvent($event);
+ }
$this->_redirect('/event/');
}
} else {
@@ -1376,7 +1376,7 @@ class EventController extends Zend_Controller_Action
case 'Daily':
$onedaytime = 24 * 60 * 60;
$newStartTime = strtotime($event->getStart() + $onedaytime);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$newEndTime = strtotime($event->getEnd() + $onedaytime);
}
$newEvent = $event;
@@ -1462,7 +1462,7 @@ class EventController extends Zend_Controller_Action
$filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentry->id);
$oneweektime = 7 * 24 * 60 * 60;
$newStartTime = strtotime($event->getStart() + $oneweektime);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$newEndTime = strtotime($event->getEnd() + $oneweektime);
}
$newEvent = $event;
@@ -1508,7 +1508,7 @@ class EventController extends Zend_Controller_Action
case 'Every couple of weeks':
$twoweekstime = 14 * 24 * 60 * 60;
$newStartTime = strtotime($event->getStart() + $twoweekstime);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$newEndTime = strtotime($event->getEnd() + $twoweekstime);
}
$newEvent = $event;
@@ -1593,7 +1593,7 @@ class EventController extends Zend_Controller_Action
$newStartMonth++;
}
$newStartTime = strtotime($newStartDate);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$endMonth = date('m', $event->getEnd());
$newEndMonth = $endMonth + 1;
while(!checkdate(newEndMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
@@ -1613,7 +1613,7 @@ class EventController extends Zend_Controller_Action
$newStartMonth++;
}
$newStartTime = strtotime($newStartDate);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
$endMonth = date('m', $newEndTime);
$newEndMonth = $endMonth + 1;
@@ -1660,7 +1660,7 @@ class EventController extends Zend_Controller_Action
$newStartMonth++;
}
$newStartTime = strtotime($newStartDate);
- if(isset($event->getEnd())) {
+ if($event->getEnd()) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
$endMonth = date('m', $newEndTime);
$newEndMonth = $endMonth + 1;
@@ -1701,4 +1701,17 @@ class EventController extends Zend_Controller_Action
break;
}
}
+
+ function deleteRepeatEvents(Application_Model_Event $repeatEvent) {
+ $events = $this->eventMapper->findBy(array("title" => $repeatEvent->getTitle()));
+ try {
+ foreach($events as $event) {
+ $this->eventMapper->delete($event);
+ }
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ }
} \ No newline at end of file