summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
Diffstat (limited to 'application')
-rwxr-xr-xapplication/controllers/EventController.php585
-rwxr-xr-xapplication/forms/EventAdd.php6
-rwxr-xr-xapplication/forms/EventEdit.php17
-rwxr-xr-xapplication/models/Event.php13
-rwxr-xr-xapplication/models/EventMapper.php40
5 files changed, 350 insertions, 311 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 2a280b3..1951fa3 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -278,10 +278,10 @@ class EventController extends Zend_Controller_Action
$eventCategory = $eventcategories[$event->getCategory()];
$runningtypeMapper = new Application_Model_RunningtypeMapper();
$runningtype = $runningtypeMapper->findBy(array("title" => $eventCategory));
- $event->setRunning(true);
+ $event->setRunning(1);
$event->setRunningtype($runningtype[0]->getID());
} else {
- $event->setRunning(false);
+ $event->setRunning(0);
}
$event->setCreated(time());
if($event->repeat) {
@@ -584,6 +584,7 @@ class EventController extends Zend_Controller_Action
$this->getRequest()->setParam('pbs_bootosID', $event->getPbs_bootosID());
$this->getRequest()->setParam('pbs_configID_' . $event->getPbs_bootosID(), $event->getPbs_configID());
$this->getRequest()->setParam('pbs_membershipID', $event->getPbs_membershipID());
+ $this->getRequest()->setParam('force', $event->getForce());
$params = $this->getRequest()->getParams();
$editForm = new Application_Form_EventEdit(array('eventcategorylist' => $eventcategorylist, 'bootoslist' => $bootoslist, 'configlist' => $configlist, 'poollist' => $poollist, 'repeattypelist' => $repeattypelist, 'repeatendlist' => $repeatendlist, 'oldtitle' => $event->getTitle(), 'params' => $params));
}
@@ -668,7 +669,7 @@ class EventController extends Zend_Controller_Action
$eventID = $this->getRequest()->getParam('eventID');
$date = intval(strtotime(substr($this->getRequest()->getParam('date'), 0, 24)));
$poolID = $this->getRequest()->getParam('poolID');
-
+
$events['withrepeat'] = $this->eventMapper->getDraggingEvents($eventID);
$events['withoutrepeat'] = $this->eventMapper->getDraggingEvent($eventID);
@@ -685,27 +686,19 @@ class EventController extends Zend_Controller_Action
// Check for overlap with repeat
$overlapswithrepeat = array();
$cfeventswithrepeat = array();
-
+
foreach($events['withrepeat'] as $e) {
$enewstart = strtotime($e['start']) + $diff;
$enewend = strtotime($e['end']) + $diff;
$cfv = true;
-
+
// overlap events
- foreach($allEvents as $o) {
- if($e['running'] == 0) {
- if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $e['eventID']
- || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $e['eventID']) {
- $overlapswithrepeat[] = $o;
- $cfv = false;
- }
- } else {
- if($e['start'] <= strtotime($o['start']) && $e['end'] >= strtotime($o['start']) && $o['eventID'] != $e['eventID']
- || $e['start'] >= strtotime($o['start']) && $e['start'] <= strtotime($o['end']) && $o['eventID'] != $e['eventID']) {
+ foreach($others as $o) {
+ if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start'])
+ || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end'])) {
$overlapswithrepeat[] = $o;
$cfv = false;
- }
}
}
// conflict free events with repeat
@@ -713,30 +706,30 @@ class EventController extends Zend_Controller_Action
$cfeventswithrepeat[] = $e;
}
}
-
+
// Check for overlap without repeat
- $overlapswithoutrepeat = array();
- $cfeventswithoutrepeat = array();
- $cfv = true;
-
- foreach($events['withoutrepeat'] as $e) {
-
- $enewstart = strtotime($e['start']) + $diff;
- $enewend = strtotime($e['end']) + $diff;
-
- // overlap events
- foreach($allEvents as $o) {
- if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $eventID
- || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $eventID) {
- $overlapswithoutrepeat[] = $o;
- $cfv = false;
- }
- }
- // conflict free events without repeat
- if($cfv) {
- $cfeventswithoutrepeat[] = $e;
- }
- }
+ $overlapswithoutrepeat = array();
+ $cfeventswithoutrepeat = array();
+ $cfv = true;
+
+ foreach($events['withoutrepeat'] as $e) {
+
+ $enewstart = strtotime($e['start']) + $diff;
+ $enewend = strtotime($e['end']) + $diff;
+
+ // overlap events
+ foreach($allEvents as $o) {
+ if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $eventID
+ || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $eventID) {
+ $overlapswithoutrepeat[] = $o;
+ $cfv = false;
+ }
+ }
+ // conflict free events without repeat
+ if($cfv) {
+ $cfeventswithoutrepeat[] = $e;
+ }
+ }
$this->view->events = $events;
$this->view->others = $others;
@@ -744,113 +737,106 @@ class EventController extends Zend_Controller_Action
$this->view->cfeventswithrepeat = $cfeventswithrepeat;
$this->view->overlapswithoutrepeat = $overlapswithoutrepeat;
$this->view->cfeventswithoutrepeat = $cfeventswithoutrepeat;
-
+
}
-
+
public function checkoverlapselectAction() {
- if(!$this->acl->checkRight('eo')) {
- $this->_redirect('/');
- }
- $this->_helper->layout->disableLayout();
-
- $poolID = $this->getRequest()->getParam('poolID');
- $startDate = intval(strtotime(substr($this->getRequest()->getParam('startDate'), 0, 24)));
- $endDate = intval(strtotime(substr($this->getRequest()->getParam('endDate'), 0, 24)));
-
- $allEvents = $this->eventMapper->fetchAllasArray($poolID);
-
- $overlaps = array();
- foreach($allEvents as $e) {
- if($startDate <= strtotime($e['start']) && $endDate >= strtotime($e['start'])
- || $startDate >= strtotime($e['start']) && $startDate <= strtotime($e['end']))
- $overlaps[] = $e;
- }
-
- $this->view->overlaps = $overlaps;
- }
-
- public function checkoverlapresizeAction() {
- if(!$this->acl->checkRight('eo')) {
- $this->_redirect('/');
- }
- $this->_helper->layout->disableLayout();
-
- $poolID = $this->getRequest()->getParam('poolID');
-
- $eventID = $this->getRequest()->getParam('eventID');
- $minuteDelta = intval($this->getRequest()->getParam('minuteDelta')*60);
- $dayDelta = intval($this->getRequest()->getParam('dayDelta')*24*60*60);
- $diffDelta = intval($minuteDelta + $dayDelta);
-
- $events['withrepeat'] = $this->eventMapper->getDraggingEvents($eventID);
- $events['withoutrepeat'] = $this->eventMapper->getDraggingEvent($eventID);
-
- $others = $this->eventMapper->getNotDraggingEvents($eventID);
- $allEvents = $this->eventMapper->fetchAllasArray($poolID);
-
- // Check for overlap with repeat
- $overlapswithrepeat = array();
- $cfeventswithrepeat = array();
-
- foreach($events['withrepeat'] as $e) {
-
- $enewstart = strtotime($e['start']);
- $enewend = strtotime($e['end']) + $diffDelta;
- $cfv = true;
- // overlap events
- foreach($allEvents as $o) {
- if($e['running'] == 0) {
- if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $e['eventID']
- || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $e['eventID']) {
- $overlapswithrepeat[] = $o;
- $cfv = false;
- }
- } else {
- if($e['start'] <= strtotime($o['start']) && $e['end'] >= strtotime($o['start']) && $o['eventID'] != $e['eventID']
- || $e['start'] >= strtotime($o['start']) && $e['start'] <= strtotime($o['end']) && $o['eventID'] != $e['eventID']) {
- $overlapswithrepeat[] = $o;
- $cfv = false;
- }
- }
+ if(!$this->acl->checkRight('eo')) {
+ $this->_redirect('/');
+ }
+ $this->_helper->layout->disableLayout();
+
+ $poolID = $this->getRequest()->getParam('poolID');
+ $startDate = intval(strtotime(substr($this->getRequest()->getParam('startDate'), 0, 24)));
+ $endDate = intval(strtotime(substr($this->getRequest()->getParam('endDate'), 0, 24)));
+
+ $allEvents = $this->eventMapper->fetchAllasArray($poolID);
+
+ $overlaps = array();
+ foreach($allEvents as $e) {
+ if($startDate <= strtotime($e['start']) && $endDate >= strtotime($e['start'])
+ || $startDate >= strtotime($e['start']) && $startDate <= strtotime($e['end']))
+ $overlaps[] = $e;
+ }
+
+ $this->view->overlaps = $overlaps;
+ }
+
+ public function checkoverlapresizeAction() {
+ if(!$this->acl->checkRight('eo')) {
+ $this->_redirect('/');
+ }
+ $this->_helper->layout->disableLayout();
+
+ $poolID = $this->getRequest()->getParam('poolID');
+
+ $eventID = $this->getRequest()->getParam('eventID');
+ $minuteDelta = intval($this->getRequest()->getParam('minuteDelta')*60);
+ $dayDelta = intval($this->getRequest()->getParam('dayDelta')*24*60*60);
+ $diffDelta = intval($minuteDelta + $dayDelta);
+
+ $events['withrepeat'] = $this->eventMapper->getDraggingEvents($eventID);
+ $events['withoutrepeat'] = $this->eventMapper->getDraggingEvent($eventID);
+
+ $others = $this->eventMapper->getNotDraggingEvents($eventID);
+ $allEvents = $this->eventMapper->fetchAllasArray($poolID);
+
+ // Check for overlap with repeat
+ $overlapswithrepeat = array();
+ $cfeventswithrepeat = array();
+
+ foreach($events['withrepeat'] as $e) {
+
+ $enewstart = strtotime($e['start']);
+ $enewend = strtotime($e['end']) + $diffDelta;
+ $cfv = true;
+
+ // overlap events
+ foreach($allEvents as $o) {
+ if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $e['eventID'] && $o['eventID'] != $eventID
+ || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $e['eventID'] && $o['eventID'] != $eventID) {
+ $overlapswithrepeat[] = $o;
+ $cfv = false;
+ }
+ }
+ // conflict free events with repeat
+ if($cfv) {
+ $cfeventswithrepeat[] = $e;
+ }
+ }
+
+ // Check for overlap without repeat
+ $overlapswithoutrepeat = array();
+ $cfeventswithoutrepeat = array();
+
+ foreach($events['withoutrepeat'] as $e) {
+
+ $enewstart = strtotime($e['start']);
+ $enewend = strtotime($e['end']) + $diffDelta;
+ $cfv = true;
+
+ // overlap events
+ foreach($allEvents as $o) {
+ if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $eventID
+ || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $eventID) {
+ $overlapswithoutrepeat[] = $o;
+ $cfv = false;
+ }
+ }
+ // conflict free events without repeat
+ if($cfv) {
+ $cfeventswithoutrepeat[] = $e;
+ }
+ }
+
+ $this->view->events = $events;
+ $this->view->others = $others;
+ $this->view->overlapswithrepeat = $overlapswithrepeat;
+ $this->view->cfeventswithrepeat = $cfeventswithrepeat;
+ $this->view->overlapswithoutrepeat = $overlapswithoutrepeat;
+ $this->view->cfeventswithoutrepeat = $cfeventswithoutrepeat;
+
}
- // conflict free events with repeat
- if($cfv) {
- $cfeventswithrepeat[] = $e;
- }
- }
-
- // Check for overlap without repeat
- $overlapswithoutrepeat = array();
- $cfeventswithoutrepeat = array();
-
- foreach($events['withoutrepeat'] as $e) {
-
- $enewstart = strtotime($e['start']);
- $enewend = strtotime($e['end']) + $diffDelta;
- $cfv = true;
-
- // overlap events
- foreach($allEvents as $o) {
- if($enewstart <= strtotime($o['start']) && $enewend >= strtotime($o['start']) && $o['eventID'] != $eventID
- || $enewstart >= strtotime($o['start']) && $enewstart <= strtotime($o['end']) && $o['eventID'] != $eventID) {
- $overlapswithoutrepeat[] = $o;
- $cfv = false;
- }
- }
- // conflict free events without repeat
- if($cfv) {
- $cfeventswithoutrepeat[] = $e;
- }
- }
-
- $this->view->events = $events;
- $this->view->others = $others;
- $this->view->overlapswithrepeat = $overlapswithrepeat;
- $this->view->cfeventswithrepeat = $cfeventswithrepeat;
- $this->view->overlapswithoutrepeat = $overlapswithoutrepeat;
- $this->view->cfeventswithoutrepeat = $cfeventswithoutrepeat;
-
- }
public function eventmoveAction() {
if(!$this->acl->checkRight('eo')) {
@@ -968,49 +954,49 @@ class EventController extends Zend_Controller_Action
try {
foreach($events as $event) {
if($event->getRunning() == 0) {
- //1min = 60sec, 1d = 86400sec
- $oldStartTime = date('H:i', strtotime($event->getStart()));
- $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newStartTime = date('H:i', $evstartTime);
- $newStartDate = date('d.m.Y', $evstartTime);
- $eventStart = date('Y-m-d H:i:s', $evstartTime);
- $event->setStart($eventStart);
- if($event->getEnd()) {
- $oldEndTime = date('H:i', strtotime($event->getEnd()));
- $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newEndTime = date('H:i', $evendTime);
- $newEndDate = date('d.m.Y', $evendTime);
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- }
- $event->setPbs_poolID($poolID);
- $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
- $shutdownCategory = $result[0];
- if($event->getCategory() != $shutdownCategory->getID()) {
- if($event->getPbs_filterID()) {
- if($event->getRepeat()) {
- $repeattypeMapper = new Application_Model_RepeattypeMapper();
- $repeattype = new Application_Model_Repeattype();
- $repeattypeMapper->find($event->getRepeattype(), $repeattype);
- if($repeattype == "Once a week") {
- $oldStartDate = date("N", strototime($oldStartDate));
- $oldEndDate = '';
- $newStartDate = date("N", strototime($newStartDate));
- $newEndDate = '';
+ //1min = 60sec, 1d = 86400sec
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
+ $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newStartTime = date('H:i', $evstartTime);
+ $newStartDate = date('d.m.Y', $evstartTime);
+ $eventStart = date('Y-m-d H:i:s', $evstartTime);
+ $event->setStart($eventStart);
+ if($event->getEnd()) {
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newEndTime = date('H:i', $evendTime);
+ $newEndDate = date('d.m.Y', $evendTime);
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setEnd($eventEnd);
+ }
+ $event->setPbs_poolID($poolID);
+ $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
+ $shutdownCategory = $result[0];
+ if($event->getCategory() != $shutdownCategory->getID()) {
+ if($event->getPbs_filterID()) {
+ if($event->getRepeat()) {
+ $repeattypeMapper = new Application_Model_RepeattypeMapper();
+ $repeattype = new Application_Model_Repeattype();
+ $repeattypeMapper->find($event->getRepeattype(), $repeattype);
+ if($repeattype == "Once a week") {
+ $oldStartDate = date("N", strototime($oldStartDate));
+ $oldEndDate = '';
+ $newStartDate = date("N", strototime($newStartDate));
+ $newEndDate = '';
+ }
}
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
}
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
}
+ $this->eventMapper->save($event); //save the event with the new data
}
- $this->eventMapper->save($event); //save the event with the new data
- }
}
} catch (Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "<br/>";
@@ -1023,91 +1009,91 @@ class EventController extends Zend_Controller_Action
return;
}
}
-
+
public function eventmovecfAction() {
- if(!$this->acl->checkRight('eo')) {
- $this->_redirect('/');
- }
- $this->_helper->layout->disableLayout();
- $this->_helper->viewRenderer->setNoRender();
-
- $cfevents = $this->getRequest()->getParam('cfevents');
- $evmindelta = $this->getRequest()->getParam('evmindelta');
- $evdaydelta = $this->getRequest()->getParam('evdaydelta');
- $poolID = $this->getRequest()->getParam('poolID');
-
- $eventsArray = (array) $cfevents;
-
- //$event = new Application_Model_Event($cfevents);
-
- var_dump($eventsArray);
-
- //print_r($cfevents['eventID']);
-
- /*if ($cfevents!=null) {
-
- $events = $this->eventMapper->findBy(array("eventID" => $cfevents['eventID']));
- if ($events[0]->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
- if (!$this->acl->checkRight('edo')) {
- $this->_redirect('/');
- }
- }
- try {
- foreach($events as $event) {
- //1min = 60sec, 1d = 86400sec
- $oldStartTime = date('H:i', strtotime($event->getStart()));
- $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
- $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newStartTime = date('H:i', $evstartTime);
- $newStartDate = date('d.m.Y', $evstartTime);
- $eventStart = date('Y-m-d H:i:s', $evstartTime);
- $event->setStart($eventStart);
- if($event->getEnd()) {
- $oldEndTime = date('H:i', strtotime($event->getEnd()));
- $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
- $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
- $newEndTime = date('H:i', $evendTime);
- $newEndDate = date('d.m.Y', $evendTime);
- $eventEnd = date('Y-m-d H:i:s', $evendTime);
- $event->setEnd($eventEnd);
- }
- $event->setPbs_poolID($poolID);
- $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
- $shutdownCategory = $result[0];
- if($event->getCategory() != $shutdownCategory->getID()) {
- if($event->getPbs_filterID()) {
- if($event->getRepeat()) {
- $repeattypeMapper = new Application_Model_RepeattypeMapper();
- $repeattype = new Application_Model_Repeattype();
- $repeattypeMapper->find($event->getRepeattype(), $repeattype);
- if($repeattype == "Once a week") {
- $oldStartDate = date("N", strototime($oldStartDate));
- $oldEndDate = '';
- $newStartDate = date("N", strototime($newStartDate));
- $newEndDate = '';
- }
- }
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
- }
- }
- $this->eventMapper->save($event); //save the event with the new data
- }
- } catch (Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_redirect('/event/');
- } else {
- $this->_redirect('/event/');
- return;
- }*/
- }
+ if(!$this->acl->checkRight('eo')) {
+ $this->_redirect('/');
+ }
+ $this->_helper->layout->disableLayout();
+ $this->_helper->viewRenderer->setNoRender();
+
+ $cfevents = $this->getRequest()->getParam('cfevents');
+ $evmindelta = $this->getRequest()->getParam('evmindelta');
+ $evdaydelta = $this->getRequest()->getParam('evdaydelta');
+ $poolID = $this->getRequest()->getParam('poolID');
+
+ $eventsArray = (array) $cfevents;
+
+ //$event = new Application_Model_Event($cfevents);
+
+ var_dump($eventsArray);
+
+ //print_r($cfevents['eventID']);
+
+ /*if ($cfevents!=null) {
+
+ $events = $this->eventMapper->findBy(array("eventID" => $cfevents['eventID']));
+ if ($events[0]->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
+ if (!$this->acl->checkRight('edo')) {
+ $this->_redirect('/');
+ }
+ }
+ try {
+ foreach($events as $event) {
+ //1min = 60sec, 1d = 86400sec
+ $oldStartTime = date('H:i', strtotime($event->getStart()));
+ $oldStartDate = date('d.m.Y', strtotime($event->getStart()));
+ $evstartTime = intval(strtotime($event->getStart())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newStartTime = date('H:i', $evstartTime);
+ $newStartDate = date('d.m.Y', $evstartTime);
+ $eventStart = date('Y-m-d H:i:s', $evstartTime);
+ $event->setStart($eventStart);
+ if($event->getEnd()) {
+ $oldEndTime = date('H:i', strtotime($event->getEnd()));
+ $oldEndDate = date('d.m.Y', strtotime($event->getEnd()));
+ $evendTime = intval(strtotime($event->getEnd())) + intval($evmindelta*60) + intval($evdaydelta*86400);
+ $newEndTime = date('H:i', $evendTime);
+ $newEndDate = date('d.m.Y', $evendTime);
+ $eventEnd = date('Y-m-d H:i:s', $evendTime);
+ $event->setEnd($eventEnd);
+ }
+ $event->setPbs_poolID($poolID);
+ $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
+ $shutdownCategory = $result[0];
+ if($event->getCategory() != $shutdownCategory->getID()) {
+ if($event->getPbs_filterID()) {
+ if($event->getRepeat()) {
+ $repeattypeMapper = new Application_Model_RepeattypeMapper();
+ $repeattype = new Application_Model_Repeattype();
+ $repeattypeMapper->find($event->getRepeattype(), $repeattype);
+ if($repeattype == "Once a week") {
+ $oldStartDate = date("N", strototime($oldStartDate));
+ $oldEndDate = '';
+ $newStartDate = date("N", strototime($newStartDate));
+ $newEndDate = '';
+ }
+ }
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . strtotime($oldStartDate) . "&oldvalue2=" . strtotime($oldEndDate) . "&value1=" . strtotime($newStartDate) . "&value2=" . strtotime($newEndDate);
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
+ }
+ }
+ $this->eventMapper->save($event); //save the event with the new data
+ }
+ } catch (Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_redirect('/event/');
+ } else {
+ $this->_redirect('/event/');
+ return;
+ }*/
+ }
public function eventresizeAction() {
if(!$this->acl->checkRight('eo')) {
@@ -1208,20 +1194,20 @@ class EventController extends Zend_Controller_Action
try {
foreach($events as $event) {
if($event->getRunning() == 0) {
- $eventEnd = date('Y-m-d H:i:s', intval(strtotime($event->getEnd())) + intval($evmindelta*60));
- $event->setEnd($eventEnd);
- $event->setPbs_poolID($poolID);
- $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
- $shutdownCategory = $result[0];
- if($event->getCategory() != $shutdownCategory->getID()) {
- if($event->getPbs_filterID()) {
- $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
- unset($filterApiResult);
+ $eventEnd = date('Y-m-d H:i:s', intval(strtotime($event->getEnd())) + intval($evmindelta*60));
+ $event->setEnd($eventEnd);
+ $event->setPbs_poolID($poolID);
+ $result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
+ $shutdownCategory = $result[0];
+ if($event->getCategory() != $shutdownCategory->getID()) {
+ if($event->getPbs_filterID()) {
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldStartTime . "&oldvalue2=" . $oldEndTime . "&value1=" . $newStartTime . "&value2=" . $newEndTime;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ unset($filterApiResult);
+ }
}
+ $this->eventMapper->save($event); //save the event with the new data
}
- $this->eventMapper->save($event); //save the event with the new data
- }
}
} catch (Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "<br/>";
@@ -1401,6 +1387,11 @@ class EventController extends Zend_Controller_Action
$data = array(
'eventName' => $event->getTitle(),
);
+ if($event->getForce()) {
+ $data['force'] = true;
+ } else {
+ $data['force'] = false;
+ }
$poolRequest = "poolid=" . $event->getPbs_poolID();
$this->config['pbs2']['getpools'];
$poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $poolRequest);
@@ -1470,7 +1461,7 @@ class EventController extends Zend_Controller_Action
$results[$event->getTitle()] = $result;
$result = $runningtypeMapper->findBy(array("title" => "boot"));
$runningtypeBoot = $result[0];
- $event->setRunning(true);
+ $event->setRunning(1);
$event->setRunningtype($runningtypeBoot->getID());
try {
$this->eventMapper->save($event);
@@ -1491,7 +1482,7 @@ class EventController extends Zend_Controller_Action
$results[$event->getTitle()] = $result;
$result = $runningtypeMapper->findBy(array("title" => "shutdown"));
$runningtypeShutdown = $result[0];
- $event->setRunning(true);
+ $event->setRunning(1);
$event->setRunningtype($runningtypeShutdown->getID());
try {
$this->eventMapper->save($event);
@@ -1566,7 +1557,7 @@ class EventController extends Zend_Controller_Action
if($eventResult->$resultShortcutName == "not finished") {
continue;
} else if($eventResult->$resultShortcutName == 'not founded') {
- $event->setRunning(false);
+ $event->setRunning(0);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -1586,6 +1577,9 @@ class EventController extends Zend_Controller_Action
$eventreport->setCreated(time());
if($eventResult->$resultShortcutName == "failed") {
$eventreport->setErrors(json_encode($eventResult->$errorsName));
+ $event->setRunning(3);
+ } else {
+ $event->setRunning(2);
}
$eventreport->setType($runningtypeBoot->getID());
try {
@@ -1596,7 +1590,6 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- $event->setRunning(false);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -1630,7 +1623,7 @@ class EventController extends Zend_Controller_Action
if($eventResult->$resultShortcutName == "not finished") {
continue;
} else if($eventResult->$resultShortcutName == 'not founded') {
- $event->setRunning(false);
+ $event->setRunning(0);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -1650,6 +1643,9 @@ class EventController extends Zend_Controller_Action
$eventreport->setCreated(time());
if($eventResult->$resultShortcutName == "failed") {
$eventreport->setErrors(json_encode($eventResult->$errorsName));
+ $event->setRunning(3);
+ } else {
+ $event->setRunning(2);
}
$eventreport->setType($runningtypeShutdown->getID());
try {
@@ -1660,7 +1656,7 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- $event->setRunning(false);
+
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -1774,6 +1770,11 @@ class EventController extends Zend_Controller_Action
$data = array(
'eventName' => $event->getTitle(),
);
+ if($event->getForce()) {
+ $data['force'] = true;
+ } else {
+ $data['force'] = false;
+ }
$poolRequest = "poolid=" . $event->getPbs_poolID();
$this->config['pbs2']['getpools'];
$poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $poolRequest);
@@ -1880,7 +1881,7 @@ class EventController extends Zend_Controller_Action
$results[$event->getTitle()] = $result;
$result = $runningtypeMapper->findBy(array("title" => "boot"));
$runningtypeBoot = $result[0];
- $event->setRunning(true);
+ $event->setRunning(1);
$event->setRunningtype($runningtypeBoot->getID());
try {
$this->eventMapper->save($event);
@@ -1901,7 +1902,7 @@ class EventController extends Zend_Controller_Action
$results[$event->getTitle()] = $result;
$result = $runningtypeMapper->findBy(array("title" => "shutdown"));
$runningtypeShutdown = $result[0];
- $event->setRunning(true);
+ $event->setRunning(1);
$event->setRunningtype($runningtypeShutdown->getID());
try {
$this->eventMapper->save($event);
@@ -1950,7 +1951,7 @@ class EventController extends Zend_Controller_Action
if($eventResult->$resultShortcutName == "not finished") {
continue;
} else if($eventResult->$resultShortcutName == 'not founded') {
- $event->setRunning(false);
+ $event->setRunning(0);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -1967,6 +1968,9 @@ class EventController extends Zend_Controller_Action
$eventreport->setResult($eventResult->$resultShortcutName);
if($eventResult->$resultShortcutName == "failed") {
$eventreport->setErrors(json_encode($eventResult->$errorsName));
+ $event->setRunning(3);
+ } else {
+ $event->setRunning(2);
}
$eventreport->setType($runningtypeBoot->getID());
try {
@@ -1977,7 +1981,6 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- $event->setRunning(false);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -2007,7 +2010,7 @@ class EventController extends Zend_Controller_Action
if($eventResult->$resultShortcutName == "not finished") {
continue;
} else if($eventResult->$resultShortcutName == 'not founded') {
- $event->setRunning(false);
+ $event->setRunning(0);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
@@ -2024,6 +2027,9 @@ class EventController extends Zend_Controller_Action
$eventreport->setResult($eventResult->$resultShortcutName);
if($eventResult->$resultShortcutName == "failed") {
$eventreport->setErrors(json_encode($eventResult->$errorsName));
+ $event->setRunning(3);
+ } else {
+ $event->setRunning(2);
}
$eventreport->setType($runningtypeShutdown->getID());
try {
@@ -2034,7 +2040,6 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- $event->setRunning(false);
$event->setRunningtype(null);
try {
$this->eventMapper->save($event);
diff --git a/application/forms/EventAdd.php b/application/forms/EventAdd.php
index 864f584..0aee9e0 100755
--- a/application/forms/EventAdd.php
+++ b/application/forms/EventAdd.php
@@ -168,6 +168,12 @@ class Application_Form_EventAdd extends Zend_Form
'label' => 'Immediate Event:',
'value' => array(0,1),
));
+
+ $this->addElement('checkbox', 'force', array(
+ 'required' => false,
+ 'label' => 'Force event:',
+ 'value' => array(0,1),
+ ));
$this->addElement('text', 'start', array(
'filters' => array('StringTrim'),
diff --git a/application/forms/EventEdit.php b/application/forms/EventEdit.php
index 00c3f9a..00eb210 100755
--- a/application/forms/EventEdit.php
+++ b/application/forms/EventEdit.php
@@ -130,7 +130,22 @@ class Application_Form_EventEdit extends Zend_Form
'value' => $this->params['title'],
));
$this->getElement('title')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate');
-
+
+ if(isset($this->params['force'])) {
+ $this->addElement('checkbox', 'force', array(
+ 'required' => false,
+ 'label' => 'Force event:',
+ 'value' => array(0,1),
+ 'checked' => 'checked',
+ ));
+ } else {
+ $this->addElement('checkbox', 'force', array(
+ 'required' => false,
+ 'label' => 'Force event:',
+ 'value' => array(0,1),
+ ));
+ }
+
$this->addElement('text', 'start', array(
'filters' => array('StringTrim'),
'validators' => array(
diff --git a/application/models/Event.php b/application/models/Event.php
index d14bbb9..7170fc1 100755
--- a/application/models/Event.php
+++ b/application/models/Event.php
@@ -34,6 +34,7 @@ class Application_Model_Event
protected $_runningtype;
protected $_note;
protected $_created;
+ protected $_force;
public function __construct(array $options = null)
{
@@ -349,5 +350,15 @@ class Application_Model_Event
$this->_created = $_created;
return $this;
}
-}
+ public function getForce()
+ {
+ return $this->_force;
+ }
+
+ public function setForce($_force)
+ {
+ $this->_force = $_force;
+ return $this;
+ }
+} \ No newline at end of file
diff --git a/application/models/EventMapper.php b/application/models/EventMapper.php
index fff14fb..8bad409 100755
--- a/application/models/EventMapper.php
+++ b/application/models/EventMapper.php
@@ -85,7 +85,7 @@ class Application_Model_EventMapper
public function save(Application_Model_Event $event)
{
- $data = array('eventID'=> $event->getID() ,'category'=> $event->getCategory() ,'title'=> $event->getTitle(), 'pbs_membershipID'=> $event->getPbs_membershipID(),'end'=> $event->getEnd() ,'immediate'=> $event->getImmediate() ,'note'=> $event->getNote() ,'participants'=> $event->getParticipants() ,'pbs_bootosID'=> $event->getPbs_bootosID(),'pbs_configID'=> $event->getPbs_configID(),'pbs_poolID'=> $event->getPbs_poolID(),'repeat'=> $event->getRepeat(),'repeattype'=> $event->getRepeattype(),'repeatend'=> $event->getRepeatend(),'repeatdate'=> $event->getRepeatdate(),'repeatings'=> $event->getRepeatings(),'start'=> $event->getStart(), 'pbs_bootmenuID'=> $event->getPbs_bootmenuID(),'pbs_filterID'=> $event->getPbs_filterID(), 'running' => $event->getRunning(), 'runningtype' => $event->getRunningtype(), 'created' => $event->getCreated() );
+ $data = array('eventID'=> $event->getID() ,'category'=> $event->getCategory() ,'title'=> $event->getTitle(), 'pbs_membershipID'=> $event->getPbs_membershipID(),'end'=> $event->getEnd() ,'immediate'=> $event->getImmediate() ,'note'=> $event->getNote() ,'participants'=> $event->getParticipants() ,'pbs_bootosID'=> $event->getPbs_bootosID(),'pbs_configID'=> $event->getPbs_configID(),'pbs_poolID'=> $event->getPbs_poolID(),'repeat'=> $event->getRepeat(),'repeattype'=> $event->getRepeattype(),'repeatend'=> $event->getRepeatend(),'repeatdate'=> $event->getRepeatdate(),'repeatings'=> $event->getRepeatings(),'start'=> $event->getStart(), 'pbs_bootmenuID'=> $event->getPbs_bootmenuID(),'pbs_filterID'=> $event->getPbs_filterID(), 'running' => $event->getRunning(), 'runningtype' => $event->getRunningtype(), 'created' => $event->getCreated(), 'force' => $event->getForce() );
if (null === ($id = $event->getID()) ) {
unset($data['eventID']);
return $this->getDbTable()->insert($data);
@@ -138,7 +138,8 @@ class Application_Model_EventMapper
->setStart($row->start)
->setRunning($row->running)
->setCreated($row->created)
- ->setRunningtype($row->runningtype);
+ ->setRunningtype($row->runningtype)
+ ->setForce($row->force);
}
public function fetchAll()
@@ -171,7 +172,8 @@ class Application_Model_EventMapper
->setStart($row->start)
->setRunning($row->running)
->setCreated($row->created)
- ->setRunningtype($row->runningtype);
+ ->setRunningtype($row->runningtype)
+ ->setForce($row->force);
$entries[$row->eventID] = $entry;
}
@@ -183,19 +185,19 @@ class Application_Model_EventMapper
$vv2 = $v2->toArray();
return array_diff_assoc($vv1,$vv2);
}
-
+
public function fetchAllasArray($poolID) {
-
+
$db = Zend_Db_Table::getDefaultAdapter();
$select = $this->getDbTable()->select()
->setIntegrityCheck(false)
->from(array('pce' => 'poolctrl_event'))
->where('pce.pbs_poolID = ?', $poolID);
-
+
$stmt = $db->query($select);
- $result = $stmt->fetchAll();
-
- return $result;
+ $result = $stmt->fetchAll();
+
+ return $result;
}
public function getCategoryBarCount($poolID) {
@@ -437,19 +439,19 @@ class Application_Model_EventMapper
return $return;
}
-
- public function getDraggingEvent($eventID) {
- $db = Zend_Db_Table::getDefaultAdapter();
- $select = $this->getDbTable()->select()
- ->from(array('pce' => 'poolctrl_event'))
- ->where('pce.eventID = ?', $eventID);
- $stmt = $db->query($select);
- $return = $stmt->fetchAll();
+ public function getDraggingEvent($eventID) {
+
+ $db = Zend_Db_Table::getDefaultAdapter();
+ $select = $this->getDbTable()->select()
+ ->from(array('pce' => 'poolctrl_event'))
+ ->where('pce.eventID = ?', $eventID);
+ $stmt = $db->query($select);
+ $return = $stmt->fetchAll();
- return $return;
+ return $return;
- }
+ }
// Fetch all notDragging events
public function getNotDraggingEvents($eventID) {