summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapplication/controllers/EventController.php210
1 files changed, 137 insertions, 73 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 5316c53..6a56263 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -170,11 +170,10 @@ class EventController extends Zend_Controller_Action
} else {
unset($params['end']);
}
- if($params['repeatdate']) {
+ if(isset($params['repeatdate'])) {
$params['repeatdate'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('repeatdate')));
} else {
unset($params['repeatdate']);
- $params['repeat'] = 0;
}
}
$event = new Application_Model_Event($params);
@@ -371,7 +370,6 @@ class EventController extends Zend_Controller_Action
$params['repeatdate'] = date ('Y-m-d H:i', strtotime($this->getRequest()->getParam('repeatdate')));
} else {
unset($params['repeatdate']);
- $params['repeat'] = 0;
}
if($event->getPbs_bootmenuID()) {
$bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_bootmenuID());
@@ -1372,18 +1370,20 @@ class EventController extends Zend_Controller_Action
switch($repeattype->getTitle()) {
case 'Daily':
$onedaytime = 24 * 60 * 60;
- $newStartTime = strtotime($event->getStart() + $onedaytime);
+ $newStartTime = strtotime($event->getStart()) + $onedaytime;
if($event->getEnd()) {
- $newEndTime = strtotime($event->getEnd() + $onedaytime);
+ $newEndTime = strtotime($event->getEnd()) + $onedaytime;
}
$newEvent = $event;
+ $newEvent->setID(null);
if($repeatend->getTitle() == 'After') {
- for($i = 0; $i < $event->getRepeatings(); $i++) {
+ $repeatings = intval($newEvent->getRepeatings());
+ for($i = 0; $i < $repeatings; $i++) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $newStartTime = strtotime($newStartTime + $onedaytime);
+ $newStartTime = $newStartTime + $onedaytime;
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $onedaytime);
+ $newEndTime = $newEndTime + $onedaytime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1394,13 +1394,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));
@@ -1415,10 +1415,10 @@ class EventController extends Zend_Controller_Action
$repeatendtime = strtotime($event->getRepeatdate());
while($newStartTime <= $repeatendtime) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $newStartTime = strtotime($newStartTime + $onedaytime);
+ $newStartTime = $newStartTime + $onedaytime;
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $onedaytime);
+ $newEndTime = $newEndTime + $onedaytime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1429,13 +1429,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));
@@ -1458,18 +1458,20 @@ class EventController extends Zend_Controller_Action
$filterentriesXML3 = new SimpleXMLElement($filterentriesXMLString3);
$filterentriesID3 = sprintf("%s", $filterentriesXML3->filterentry->id);
$oneweektime = 7 * 24 * 60 * 60;
- $newStartTime = strtotime($event->getStart() + $oneweektime);
+ $newStartTime = strtotime($event->getStart()) + $oneweektime;
if($event->getEnd()) {
- $newEndTime = strtotime($event->getEnd() + $oneweektime);
+ $newEndTime = strtotime($event->getEnd()) + $oneweektime;
}
$newEvent = $event;
+ $newEvent->setID(null);
if($repeatend->getTitle() == 'After') {
- for($i = 0; $i < $event->getRepeatings(); $i++) {
+ $repeatings = intval($newEvent->getRepeatings());
+ for($i = 0; $i < $repeatings; $i++) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $newStartTime = strtotime($newStartTime + $oneweektime);
+ $newStartTime = $newStartTime + $oneweektime;
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $oneweektime);
+ $newEndTime = $newEndTime + $oneweektime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1484,10 +1486,10 @@ class EventController extends Zend_Controller_Action
$repeatendtime = strtotime($event->getRepeatdate());
while($newStartTime <= $repeatendtime) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $newStartTime = strtotime($newStartTime + $oneweektime);
+ $newStartTime = $newStartTime + $oneweektime;
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $oneweektime);
+ $newEndTime = $newEndTime + $oneweektime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1504,18 +1506,20 @@ class EventController extends Zend_Controller_Action
case 'Every couple of weeks':
$twoweekstime = 14 * 24 * 60 * 60;
- $newStartTime = strtotime($event->getStart() + $twoweekstime);
+ $newStartTime = strtotime($event->getStart()) + $twoweekstime;
if($event->getEnd()) {
- $newEndTime = strtotime($event->getEnd() + $twoweekstime);
+ $newEndTime = strtotime($event->getEnd()) + $twoweekstime;
}
$newEvent = $event;
+ $newEvent->setID(null);
if($repeatend->getTitle() == 'After') {
- for($i = 0; $i < $event->getRepeatings(); $i++) {
+ $repeatings = intval($newEvent->getRepeatings());
+ for($i = 0; $i < $repeatings; $i++) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
$newStartTime = strtotime($newStartTime + $twoweekstime);
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $twoweekstime);
+ $newEndTime = $newEndTime + $twoweekstime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1526,13 +1530,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));
@@ -1547,10 +1551,10 @@ class EventController extends Zend_Controller_Action
$repeatendtime = strtotime($event->getRepeatdate());
while($newStartTime <= $repeatendtime) {
$newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $newStartTime = strtotime($newStartTime + $twoweekstime);
+ $newStartTime = $newStartTime + $twoweekstime;
if(isset($newEndTime)) {
$newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $newEndTime = strtotime($newEndTime + $twoweekstime);
+ $newEndTime = $newEndTime + $twoweekstime;
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1561,13 +1565,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));
@@ -1583,42 +1587,84 @@ class EventController extends Zend_Controller_Action
break;
case 'Every month':
- $startMonth = date('m', $event->getStart());
- $newStartMonth = $startMonth + 1;
- while(!checkdate(newStartMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newStartDate = date('Y', $event->getStart()) . $newStartMonth . date('d H:i', $event->getStart());
- $newStartMonth++;
+ $startMonth = date('m', strtotime($event->getStart())) + 1;
+ $startDay = date('d', strtotime($event->getStart()));
+ $startYear = date('Y', strtotime($event->getStart()));
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
}
+ while(!checkdate($startMonth, $startDay, $startYear)) {
+ $startMonth++;
+ if($repeatend->getTitle() == 'After') {
+ $event->setRepeatings($event->getRepeatings() - 1);
+ }
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
+ }
+ }
+ $newStartDate = $startYear . "-" . $startMonth . "-" . $startDay . " " . date('H:i', strtotime($event->getStart()));
$newStartTime = strtotime($newStartDate);
if($event->getEnd()) {
- $endMonth = date('m', $event->getEnd());
- $newEndMonth = $endMonth + 1;
- while(!checkdate(newEndMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newEndDate = date('Y', $event->getEnd()) .$newEndMonth . date('d H:i', $event->getEnd());
- $newEndMonth++;
+ $endMonth = date('m', strtotime($event->getEnd())) + 1;
+ $endDay = date('d', strtotime($event->getEnd()));
+ $endYear = date('Y', strtotime($event->getEnd()));
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
+ }
+ while(!checkdate($endMonth, $endDay, $endYear)) {
+ $endMonth++;
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
+ }
}
- $newStartTime = strtotime($newEndDate);
+ $newEndDate = $endYear . "-" . $endMonth . "-" . $endDay . " " . date('H:i', strtotime($event->getEnd()));
+ $newEndTime = strtotime($newEndDate);
}
$newEvent = $event;
+ $newEvent->setID(null);
if($repeatend->getTitle() == 'After') {
- for($i = 0; $i < $event->getRepeatings(); $i++) {
- $newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $startMonth = date('m', $newStartTime);
- $newStartMonth = $startMonth + 1;
- while(!checkdate(newStartMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newStartDate = date('Y', $newStartTime) . $newStartMonth . date('d H:i', $newStartTime);
- $newStartMonth++;
+ $repeatings = intval($newEvent->getRepeatings());
+ for($i = 0; $i < $repeatings; $i++) {
+ $newEvent->setStart($newStartDate);
+ $startMonth = date('m', $newStartTime) + 1;
+ $startDay = date('d', $newStartTime);
+ $startYear = date('Y', $newStartTime);
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
+ }
+ while(!checkdate($startMonth, $startDay, $startYear)) {
+ $startMonth++;
+ $i++;
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
+ }
}
+ $newStartDate = $startYear . "-" . $startMonth . "-" . $startDay . " " . date('H:i', $newStartTime);
$newStartTime = strtotime($newStartDate);
if($event->getEnd()) {
- $newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $endMonth = date('m', $newEndTime);
- $newEndMonth = $endMonth + 1;
- while(!checkdate(newEndMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newEndDate = date('Y', $newEndTime) .$newEndMonth . date('d H:i', $newEndTime);
- $newEndMonth++;
+ $newEvent->setEnd($newEndDate);
+ $endMonth = date('m', $newEndTime) + 1;
+ $endDay = date('d', $newEndTime);
+ $endYear = date('Y', $newEndTime);
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
}
- $newStartTime = strtotime($newEndDate);
+ while(!checkdate($endMonth, $endDay, $endYear)) {
+ $endMonth++;
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
+ }
+ }
+ $newEndDate = $endYear . "-" . $endMonth . "-" . $endDay . " " . date('H:i', $newEndTime);
+ $newEndTime = strtotime($newEndDate);
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1629,13 +1675,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));
@@ -1649,23 +1695,41 @@ class EventController extends Zend_Controller_Action
} else if($repeatend->getTitle() == 'Date') {
$repeatendtime = strtotime($event->getRepeatdate());
while($newStartTime <= $repeatendtime) {
- $newEvent->setStart(date('Y-m-d H:i', $newStartTime));
- $startMonth = date('m', $newStartTime);
- $newStartMonth = $startMonth + 1;
- while(!checkdate(newStartMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newStartDate = date('Y', $newStartTime) . $newStartMonth . date('d H:i', $newStartTime);
- $newStartMonth++;
+ $newEvent->setStart($newStartDate);
+ $startMonth = date('m', $newStartTime) + 1;
+ $startDay = date('d', $newStartTime);
+ $startYear = date('Y', $newStartTime);
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
+ }
+ while(!checkdate($startMonth, $startDay, $startYear)) {
+ $startMonth++;
+ if($startMonth == 13) {
+ $startMonth = 1;
+ $startYear++;
+ }
}
+ $newStartDate = $startYear . "-" . $startMonth . "-" . $startDay . " " . date('H:i', $newStartTime);
$newStartTime = strtotime($newStartDate);
if($event->getEnd()) {
- $newEvent->setEnd(date('Y-m-d H:i', $newEndTime));
- $endMonth = date('m', $newEndTime);
- $newEndMonth = $endMonth + 1;
- while(!checkdate(newEndMonth, date('d', $event->getEnd()), date('Y', $event->getEnd()))) {
- $newEndDate = date('Y', $newEndTime) .$newEndMonth . date('d H:i', $newEndTime);
- $newEndMonth++;
+ $newEvent->setEnd($newEndDate);
+ $endMonth = date('m', $newEndTime) + 1;
+ $endDay = date('d', $newEndTime);
+ $endYear = date('Y', $newEndTime);
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
}
- $newStartTime = strtotime($newEndDate);
+ while(!checkdate($endMonth, $endDay, $endYear)) {
+ $endMonth++;
+ if($endMonth == 13) {
+ $endMonth = 1;
+ $endYear++;
+ }
+ }
+ $newEndDate = $endYear . "-" . $endMonth . "-" . $endDay . " " . date('H:i', $newEndTime);
+ $newEndTime = strtotime($newEndDate);
}
try {
$eventID = $this->eventMapper->save($newEvent);
@@ -1676,13 +1740,13 @@ class EventController extends Zend_Controller_Action
return;
}
$startDate = date('Y-m-d', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endDate = date('Y-m-d', strtotime($newEvent->getEnd()));
} else {
$endDate = date('Y-m-d', strtotime($newEvent->getStart()));
}
$startTime = date('H:i', strtotime($newEvent->getStart()));
- if($event->getEnd()) {
+ if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart() + 900));