summaryrefslogtreecommitdiffstats
path: root/application/controllers/EventController.php
diff options
context:
space:
mode:
authorBjörn Geiger2011-09-07 14:42:58 +0200
committerBjörn Geiger2011-09-07 14:42:58 +0200
commitba50d2d88f21cbe290294ac4ae197130e561fe30 (patch)
tree98ce3eceacda074b191dcafc3a586a461ce09dd1 /application/controllers/EventController.php
parentkleine korrektur in DB (diff)
downloadpoolctrl-ba50d2d88f21cbe290294ac4ae197130e561fe30.tar.gz
poolctrl-ba50d2d88f21cbe290294ac4ae197130e561fe30.tar.xz
poolctrl-ba50d2d88f21cbe290294ac4ae197130e561fe30.zip
Run und Report Event auf Recht prüfen
Diffstat (limited to 'application/controllers/EventController.php')
-rw-r--r--application/controllers/EventController.php685
1 files changed, 329 insertions, 356 deletions
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 2221ca5..17f8ec1 100644
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -34,42 +34,8 @@ class EventController extends Zend_Controller_Action
} else {
$apikey = $this->_request->getParam('apikey');
}
- if($apikey == ""){
- $email = $this->_request->getParam('email');
- $password = $this->_request->getParam('password');
- if(!isset($email)) {
- header('HTTP/1.0 401 No email is set');
- die();
- }
- if(!isset($password)) {
- header('HTTP/1.0 401 No password is set');
- die();
- }
- $loginquery = "email=" . $email . "&password=" . $password;
- $loginApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['login'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $loginquery);
- $loginXMLString = $loginApiResult['http-body'];
- if(strlen($loginXMLString) > 0) {
- $loginXML = new SimpleXMLElement($loginXMLString);
- $login = $loginXML->login;
- $success = sprintf("%s", $login->success);
- if ($success === "true") {
- $bootstrap = $this->getInvokeArg('bootstrap');
- $this->config = $bootstrap->getOptions();
- $this->pbs2host = $this->config['pbs2']['host'];
- $this->gearmanServerHost = $this->config['gearman']['server']['host'];
- $this->gearmanServerPort = $this->config['gearman']['server']['port'];
- $this->gearmanWorkerWaitTime = $this->config['gearman']['worker']['waitTime'];
- $this->gearmanWorkerUpdateRate = $this->config['gearman']['worker']['updateRate'];
- $this->gearmanClient = new GearmanClient();
- $this->gearmanClient->addServer($this->gearmanServerHost);
- $this->eventMapper = new Application_Model_EventMapper();
- $this->eventcategoryMapper = new Application_Model_EventcategoryMapper();
- } else {
- header('HTTP/1.0 401 Wrong email or password');
- die();
- }
- }
- } else {
+ if($apikey != ""){
+ $this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
@@ -81,6 +47,9 @@ class EventController extends Zend_Controller_Action
$this->gearmanClient->addServer($this->gearmanServerHost);
$this->eventMapper = new Application_Model_EventMapper();
$this->eventcategoryMapper = new Application_Model_EventcategoryMapper();
+ } else {
+ header('HTTP/1.0 401 No apikey is set');
+ die();
}
} else if (Zend_Auth::getInstance()->hasIdentity()) {
$bootstrap = $this->getInvokeArg('bootstrap');
@@ -495,53 +464,53 @@ class EventController extends Zend_Controller_Action
$this->view->params = $params;
}
}
-
- /*
+
+ /*
* ------------------------
* START CALENDAR FUNCTIONS
* ------------------------
*/
-
- public function eventmoveAction() {
-
- $this->_helper->layout->disableLayout();
- $this->_helper->viewRenderer->setNoRender();
-
- $event = new Application_Model_Event();
-
- $evid = $this->getRequest()->getParam('evid');
- $evstart = $this->getRequest()->getParam('evstart');
- $evend = $this->getRequest()->getParam('evend');
- //var_dump($evend);
-
- if ($evid!="null") {
- $this->eventMapper->find($evid,$event); //locate the event in the DB
- $event->setStart(date('Y-m-d H:i:s', strtotime(substr($evstart, 0, 24))));
- if($evend!="null"){
- $event->setEnd(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
- }
- $this->eventMapper->save($event); //save the event with the new data
- }
- }
-
- public function eventresizeAction() {
-
- $this->_helper->layout->disableLayout();
- $this->_helper->viewRenderer->setNoRender();
- $event = new Application_Model_Event();
-
- $evid = $this->getRequest()->getParam('evid');
- $evend = $this->getRequest()->getParam('evend');
-
- var_dump(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
-
- if ($evid!=null) {
- $this->eventMapper->find($evid,$event); //locate the event in the DB
- $event->setEnd(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
-
- $this->eventMapper->save($event); //save the event with the new data
- }
- }
+
+ public function eventmoveAction() {
+
+ $this->_helper->layout->disableLayout();
+ $this->_helper->viewRenderer->setNoRender();
+
+ $event = new Application_Model_Event();
+
+ $evid = $this->getRequest()->getParam('evid');
+ $evstart = $this->getRequest()->getParam('evstart');
+ $evend = $this->getRequest()->getParam('evend');
+ //var_dump($evend);
+
+ if ($evid!="null") {
+ $this->eventMapper->find($evid,$event); //locate the event in the DB
+ $event->setStart(date('Y-m-d H:i:s', strtotime(substr($evstart, 0, 24))));
+ if($evend!="null"){
+ $event->setEnd(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
+ }
+ $this->eventMapper->save($event); //save the event with the new data
+ }
+ }
+
+ public function eventresizeAction() {
+
+ $this->_helper->layout->disableLayout();
+ $this->_helper->viewRenderer->setNoRender();
+ $event = new Application_Model_Event();
+
+ $evid = $this->getRequest()->getParam('evid');
+ $evend = $this->getRequest()->getParam('evend');
+
+ var_dump(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
+
+ if ($evid!=null) {
+ $this->eventMapper->find($evid,$event); //locate the event in the DB
+ $event->setEnd(date('Y-m-d H:i:s', strtotime(substr($evend, 0, 24))));
+
+ $this->eventMapper->save($event); //save the event with the new data
+ }
+ }
public function eventlistAction() {
@@ -581,70 +550,71 @@ class EventController extends Zend_Controller_Action
* END CALENDAR FUNCTIONS
* ----------------------
*/
-
-
+
+
public function runAction() {
- $this->_helper->layout->disableLayout();
- $this->_helper->viewRenderer->setNoRender();
- $startTime = time();
- $updatePeriod = $this->config['event']['updatePeriod'];
- $endTime = $startTime + $updatePeriod * 60;
- $eventlist = $this->eventMapper->fetchAll();
- $eventcategoryMapper = new Application_Model_EventcategoryMapper();
- $result = $eventcategoryMapper->fetchAll();
- foreach($result as $category) {
- $eventcategories[$category->getTitle()] = $category->getID();
- }
- if(isset($this->userIDsNamespace['apikey'])) {
- $apikey = $this->userIDsNamespace['apikey'];
- } else {
- $apikey = $this->_request->getParam('apikey');
- }
- $eventtypeMapper = new Application_Model_EventtypeMapper();
- $results = array();
- foreach($eventlist as $event) {
- $run = false;
- $boot = false;
- $shutdown = false;
- $eventStart = strtotime($event->getStart());
- $eventEnd = strtotime($event->getEnd());
- if($event->getRunning()) {
- continue;
+ if($this->acl->checkRight('er')) {
+ $this->_helper->layout->disableLayout();
+ $this->_helper->viewRenderer->setNoRender();
+ $startTime = time();
+ $updatePeriod = $this->config['event']['updatePeriod'];
+ $endTime = $startTime + $updatePeriod * 60;
+ $eventlist = $this->eventMapper->fetchAll();
+ $eventcategoryMapper = new Application_Model_EventcategoryMapper();
+ $result = $eventcategoryMapper->fetchAll();
+ foreach($result as $category) {
+ $eventcategories[$category->getTitle()] = $category->getID();
}
- switch($event->getCategory()) {
- case $eventcategories['Boot']:
- if($eventStart >= $startTime && $eventStart <= $endTime) {
- $run = true;
- $boot = true;
- }
- break;
- case $eventcategories['Shutdown']:
- if($eventStart >= $startTime && $eventStart <= $endTime) {
- $run = true;
- $shutdown = true;
- }
- break;
- case $eventcategories['Lecture']:
- if($eventStart >= $startTime && $eventStart <= $endTime) {
- $run = true;
- $boot = true;
- } else if($eventEnd >= $startTime && $eventEnd <= $endTime) {
- $run = true;
- $shutdown = true;
- }
- break;
- case $eventcategories['Maintenance']:
- if($eventStart >= $startTime && $eventStart <= $endTime) {
- $run = true;
- $boot = true;
- } else if($eventEnd >= $startTime && $eventEnd <= $endTime) {
- $run = true;
- $shutdown = true;
- }
- break;
+ if(isset($this->userIDsNamespace['apikey'])) {
+ $apikey = $this->userIDsNamespace['apikey'];
+ } else {
+ $apikey = $this->_request->getParam('apikey');
}
- if($run) {
- $data = array(
+ $eventtypeMapper = new Application_Model_EventtypeMapper();
+ $results = array();
+ foreach($eventlist as $event) {
+ $run = false;
+ $boot = false;
+ $shutdown = false;
+ $eventStart = strtotime($event->getStart());
+ $eventEnd = strtotime($event->getEnd());
+ if($event->getRunning()) {
+ continue;
+ }
+ switch($event->getCategory()) {
+ case $eventcategories['Boot']:
+ if($eventStart >= $startTime && $eventStart <= $endTime) {
+ $run = true;
+ $boot = true;
+ }
+ break;
+ case $eventcategories['Shutdown']:
+ if($eventStart >= $startTime && $eventStart <= $endTime) {
+ $run = true;
+ $shutdown = true;
+ }
+ break;
+ case $eventcategories['Lecture']:
+ if($eventStart >= $startTime && $eventStart <= $endTime) {
+ $run = true;
+ $boot = true;
+ } else if($eventEnd >= $startTime && $eventEnd <= $endTime) {
+ $run = true;
+ $shutdown = true;
+ }
+ break;
+ case $eventcategories['Maintenance']:
+ if($eventStart >= $startTime && $eventStart <= $endTime) {
+ $run = true;
+ $boot = true;
+ } else if($eventEnd >= $startTime && $eventEnd <= $endTime) {
+ $run = true;
+ $shutdown = true;
+ }
+ break;
+ }
+ if($run) {
+ $data = array(
'eventName' => $event->getTitle(),
'updateRate' => $this->gearmanWorkerUpdateRate,
'waitTime' => $this->gearmanWorkerWaitTime,
@@ -652,159 +622,190 @@ class EventController extends Zend_Controller_Action
'gearmanServerPort' => $this->gearmanServerPort,
'blacklist' => $this->config['gearman']['worker']['ps']['blacklist'],
'whitelist' => $this->config['gearman']['worker']['ps']['whitelist'],
- );
- $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);
- $poolXMLString = $poolApiResult['http-body'];
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $clientsXML = $pool->clients;
- foreach($clientsXML->client as $clientNew) {
- $client = new Application_Model_Client();
- $client->setID(sprintf("%s", $clientNew->clientID));
- $client->setCreated(sprintf("%s", $clientNew->created));
- $client->setGroupID(sprintf("%s", $clientNew->groupid));
- $client->setHardwarehash(sprintf("%s", $clientNew->location));
- $client->setIp(sprintf("%s", $clientNew->ip));
- $client->setIp6(sprintf("%s", $clientNew->ip6));
- $client->setMacadress(sprintf("%s", $clientNew->macadress));
- $clientArray = array(
+ );
+ $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);
+ $poolXMLString = $poolApiResult['http-body'];
+ if(strlen($poolXMLString) > 0) {
+ $poolXML = new SimpleXMLElement($poolXMLString);
+ foreach($poolXML->poollist->pool as $pool) {
+ $clientsXML = $pool->clients;
+ foreach($clientsXML->client as $clientNew) {
+ $client = new Application_Model_Client();
+ $client->setID(sprintf("%s", $clientNew->clientID));
+ $client->setCreated(sprintf("%s", $clientNew->created));
+ $client->setGroupID(sprintf("%s", $clientNew->groupid));
+ $client->setHardwarehash(sprintf("%s", $clientNew->location));
+ $client->setIp(sprintf("%s", $clientNew->ip));
+ $client->setIp6(sprintf("%s", $clientNew->ip6));
+ $client->setMacadress(sprintf("%s", $clientNew->macadress));
+ $clientArray = array(
'id' => $client->getID(),
'ip' => $client->getIp(),
'mac' => $client->getMacadress());
- $clients[] = $clientArray;
+ $clients[] = $clientArray;
+ }
}
}
- }
- $data['clients'] = $clients;
- if($boot) {
- $bootOsRequest = "bootosid=" . $event->getPbs_bootosID();
- $bootOsApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getbootoss'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootOsRequest);
- $bootOsXMLString = $bootOsApiResult['http-body'];
- if(strlen($bootOsXMLString) > 0) {
- $bootOsXML = new SimpleXMLElement($bootOsXMLString);
- foreach($bootOsXML->bootoslist->bootos as $bootosNew) {
- $bootos = new Application_Model_BootOs();
- $bootos->setID(sprintf("%s", $bootosNew->id));
- $bootos->setCreated(sprintf("%s", $bootosNew->created));
- $bootos->setDefaultkcl(sprintf("%s", $bootosNew->defaultkcl));
- $bootos->setDescription(sprintf("%s", $bootosNew->description));
- $bootos->setDistro(sprintf("%s", $bootosNew->distro));
- $bootos->setDistroversion(sprintf("%s", $bootosNew->distroversion));
- $bootos->setExpires(sprintf("%s", $bootosNew->expires));
- $bootos->setGroupID(sprintf("%s", $bootosNew->groupid));
- $bootos->setMembershipID(sprintf("%s", $bootosNew->membershipid));
- $bootos->setPublic(sprintf("%s", $bootosNew->public));
- $bootos->setShare(sprintf("%s", $bootosNew->share));
- $bootos->setShortname(sprintf("%s", $bootosNew->shortname));
- $bootos->setSource(sprintf("%s", $bootosNew->source));
- $bootos->setTitle(sprintf("%s", $bootosNew->title));
+ $data['clients'] = $clients;
+ if($boot) {
+ $bootOsRequest = "bootosid=" . $event->getPbs_bootosID();
+ $bootOsApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getbootoss'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootOsRequest);
+ $bootOsXMLString = $bootOsApiResult['http-body'];
+ if(strlen($bootOsXMLString) > 0) {
+ $bootOsXML = new SimpleXMLElement($bootOsXMLString);
+ foreach($bootOsXML->bootoslist->bootos as $bootosNew) {
+ $bootos = new Application_Model_BootOs();
+ $bootos->setID(sprintf("%s", $bootosNew->id));
+ $bootos->setCreated(sprintf("%s", $bootosNew->created));
+ $bootos->setDefaultkcl(sprintf("%s", $bootosNew->defaultkcl));
+ $bootos->setDescription(sprintf("%s", $bootosNew->description));
+ $bootos->setDistro(sprintf("%s", $bootosNew->distro));
+ $bootos->setDistroversion(sprintf("%s", $bootosNew->distroversion));
+ $bootos->setExpires(sprintf("%s", $bootosNew->expires));
+ $bootos->setGroupID(sprintf("%s", $bootosNew->groupid));
+ $bootos->setMembershipID(sprintf("%s", $bootosNew->membershipid));
+ $bootos->setPublic(sprintf("%s", $bootosNew->public));
+ $bootos->setShare(sprintf("%s", $bootosNew->share));
+ $bootos->setShortname(sprintf("%s", $bootosNew->shortname));
+ $bootos->setSource(sprintf("%s", $bootosNew->source));
+ $bootos->setTitle(sprintf("%s", $bootosNew->title));
+ }
+ $data['eventOS'] = $bootos->getTitle();
+ }
+ $dataString = json_encode($data);
+ $result = $this->gearmanClient->do("boot", $dataString, 'boot' . $event->getTitle());
+ if (! $this->gearmanClient->runTasks())
+ {
+ echo "ERROR " . $gmc->error() . "\n";
+ exit;
+ }
+ $results[$event->getTitle()] = $result;
+ $result = $eventtypeMapper->findBy(array("title" => "boot"));
+ $eventtypeBoot = $result[0];
+ $event->setRunning(true);
+ $event->setRunningtype($eventtypeBoot->getID());
+ try {
+ $this->eventMapper->save($event);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ } else if($shutdown) {
+ $dataString = json_encode($data);
+ $result = $this->gearmanClient->do("shutdown", $dataString, 'shutdown' . $event->getTitle());
+ if (! $this->gearmanClient->runTasks())
+ {
+ echo "ERROR " . $gmc->error() . "\n";
+ exit;
+ }
+ $results[$event->getTitle()] = $result;
+ $result = $eventtypeMapper->findBy(array("title" => "shutdown"));
+ $eventtypeShutdown = $result[0];
+ $event->setRunning(true);
+ $event->setRunningtype($eventtypeShutdown->getID());
+ try {
+ $this->eventMapper->save($event);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
}
- $data['eventOS'] = $bootos->getTitle();
- }
- $dataString = json_encode($data);
- $result = $this->gearmanClient->do("boot", $dataString, 'boot' . $event->getTitle());
- if (! $this->gearmanClient->runTasks())
- {
- echo "ERROR " . $gmc->error() . "\n";
- exit;
- }
- $results[$event->getTitle()] = $result;
- $result = $eventtypeMapper->findBy(array("title" => "boot"));
- $eventtypeBoot = $result[0];
- $event->setRunning(true);
- $event->setRunningtype($eventtypeBoot->getID());
- try {
- $this->eventMapper->save($event);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- } else if($shutdown) {
- $dataString = json_encode($data);
- $result = $this->gearmanClient->do("shutdown", $dataString, 'shutdown' . $event->getTitle());
- if (! $this->gearmanClient->runTasks())
- {
- echo "ERROR " . $gmc->error() . "\n";
- exit;
- }
- $results[$event->getTitle()] = $result;
- $result = $eventtypeMapper->findBy(array("title" => "shutdown"));
- $eventtypeShutdown = $result[0];
- $event->setRunning(true);
- $event->setRunningtype($eventtypeShutdown->getID());
- try {
- $this->eventMapper->save($event);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
}
}
}
+ if(count($results) <= 0) {
+ $results = array("No current events available");
+ }
+ $resultString = json_encode($results);
+ header('Content-Type: application/json');
+ header('Content-Disposition: inline; filename="result.json"');
+ header('Pragma: no-cache');
+ header('Expires: 0');
+ echo $resultString;
}
- if(count($results) <= 0) {
- $results = array("No current events available");
- }
- $resultString = json_encode($results);
- header('Content-Type: application/json');
- header('Content-Disposition: inline; filename="result.json"');
- header('Pragma: no-cache');
- header('Expires: 0');
- echo $resultString;
}
public function reportAction() {
- $this->_helper->layout->disableLayout();
- $this->_helper->viewRenderer->setNoRender();
+ if($this->acl->checkRight('er')) {
+ $this->_helper->layout->disableLayout();
+ $this->_helper->viewRenderer->setNoRender();
+
+ $eventreportMapper = new Application_Model_EventreportMapper();
+ $eventtypeMapper = new Application_Model_EventtypeMapper();
+ $eventBootNames = array();
+ $eventShutdownNames = array();
+ $results = array();
+ $result1 = $eventtypeMapper->findBy(array("title" => "boot"));
+ $result2 = $eventtypeMapper->findBy(array("title" => "shutdown"));
+ $eventtypeBoot = $result1[0];
+ $eventtypeShutdown = $result2[0];
+ $resultShortcutName = 'result shortcut';
+ $errorsName = 'clients errors';
+ $events = $this->eventMapper->findBy(array('running' => 1));
- $eventreportMapper = new Application_Model_EventreportMapper();
- $eventtypeMapper = new Application_Model_EventtypeMapper();
- $eventBootNames = array();
- $eventShutdownNames = array();
- $results = array();
- $result1 = $eventtypeMapper->findBy(array("title" => "boot"));
- $result2 = $eventtypeMapper->findBy(array("title" => "shutdown"));
- $eventtypeBoot = $result1[0];
- $eventtypeShutdown = $result2[0];
- $resultShortcutName = 'result shortcut';
- $errorsName = 'clients errors';
- $events = $this->eventMapper->findBy(array('running' => 1));
-
- foreach($events as $event) {
- if($event->getRunningtype() == $eventtypeBoot->getID()) {
- $eventBootNames[] = $event->getTitle();
- } else if($event->getRunningtype() == $eventtypeShutdown->getID()) {
- $eventShutdownNames[] = $event->getTitle();
+ foreach($events as $event) {
+ if($event->getRunningtype() == $eventtypeBoot->getID()) {
+ $eventBootNames[] = $event->getTitle();
+ } else if($event->getRunningtype() == $eventtypeShutdown->getID()) {
+ $eventShutdownNames[] = $event->getTitle();
+ }
}
- }
- if(count($eventBootNames) > 0) {
- $data = array(
+ if(count($eventBootNames) > 0) {
+ $data = array(
'type' => 'boot',
'events' => $eventBootNames,
- );
+ );
- $dataString = json_encode($data);
- $bootResult = $this->gearmanClient->do("status", $dataString, 'bootStatus');
- if (! $this->gearmanClient->runTasks())
- {
- echo "ERROR " . $gmc->error() . "\n";
- exit;
- }
- $bootResultDecode = json_decode($bootResult);
- $results['boot results'] = $bootResultDecode;
- foreach($bootResultDecode as $k => $eventResult) {
+ $dataString = json_encode($data);
+ $bootResult = $this->gearmanClient->do("status", $dataString, 'bootStatus');
+ if (! $this->gearmanClient->runTasks())
+ {
+ echo "ERROR " . $gmc->error() . "\n";
+ exit;
+ }
+ $bootResultDecode = json_decode($bootResult);
+ $results['boot results'] = $bootResultDecode;
+ foreach($bootResultDecode as $k => $eventResult) {
- $eventResult->$resultShortcutName = sprintf('%s', $eventResult->$resultShortcutName);
- if($eventResult->$resultShortcutName == "not finished") {
- continue;
- } else if($eventResult->$resultShortcutName == 'not founded') {
+ $eventResult->$resultShortcutName = sprintf('%s', $eventResult->$resultShortcutName);
+ if($eventResult->$resultShortcutName == "not finished") {
+ continue;
+ } else if($eventResult->$resultShortcutName == 'not founded') {
+ $event->setRunning(false);
+ $event->setRunningtype(null);
+ try {
+ $this->eventMapper->save($event);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ continue;
+ }
+ $result = $this->eventMapper->findBy(array("title" => $k));
+ $event = $result[0];
+ $eventreport = new Application_Model_Eventreport();
+ $eventreport->setEventID($event->getID());
+ $eventreport->setResult($eventResult->$resultShortcutName);
+ if($eventResult->$resultShortcutName == "failed") {
+ $eventreport->setErrors(json_encode($eventResult->$errorsName));
+ }
+ $eventreport->setType($eventtypeBoot->getID());
+ try {
+ $eventreportMapper->save($eventreport);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
$event->setRunning(false);
$event->setRunningtype(null);
try {
@@ -815,58 +816,58 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- continue;
- }
- $result = $this->eventMapper->findBy(array("title" => $k));
- $event = $result[0];
- $eventreport = new Application_Model_Eventreport();
- $eventreport->setEventID($event->getID());
- $eventreport->setResult($eventResult->$resultShortcutName);
- if($eventResult->$resultShortcutName == "failed") {
- $eventreport->setErrors(json_encode($eventResult->$errorsName));
- }
- $eventreport->setType($eventtypeBoot->getID());
- try {
- $eventreportMapper->save($eventreport);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $event->setRunning(false);
- $event->setRunningtype(null);
- try {
- $this->eventMapper->save($event);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
}
}
- }
- if(count($eventShutdownNames) > 0) {
- $data = array(
+ if(count($eventShutdownNames) > 0) {
+ $data = array(
'type' => 'shutdown',
'events' => $eventShutdownNames,
- );
+ );
- $dataString = json_encode($data);
- $shutdownResult = $this->gearmanClient->do("status", $dataString, 'shutdownStatus');
- if (! $this->gearmanClient->runTasks())
- {
- echo "ERROR " . $gmc->error() . "\n";
- exit;
- }
- $shutdownResultDecode = json_decode($shutdownResult);
- $results['shutdown results'] = $shutdownResultDecode;
- foreach($shutdownResultDecode as $k => $eventResult) {
- $eventResult->$resultShortcutName = sprintf('%s', $eventResult->$resultShortcutName);
- if($eventResult->$resultShortcutName == "not finished") {
- continue;
- } else if($eventResult->$resultShortcutName == 'not founded') {
+ $dataString = json_encode($data);
+ $shutdownResult = $this->gearmanClient->do("status", $dataString, 'shutdownStatus');
+ if (! $this->gearmanClient->runTasks())
+ {
+ echo "ERROR " . $gmc->error() . "\n";
+ exit;
+ }
+ $shutdownResultDecode = json_decode($shutdownResult);
+ $results['shutdown results'] = $shutdownResultDecode;
+ foreach($shutdownResultDecode as $k => $eventResult) {
+ $eventResult->$resultShortcutName = sprintf('%s', $eventResult->$resultShortcutName);
+ if($eventResult->$resultShortcutName == "not finished") {
+ continue;
+ } else if($eventResult->$resultShortcutName == 'not founded') {
+ $event->setRunning(false);
+ $event->setRunningtype(null);
+ try {
+ $this->eventMapper->save($event);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ continue;
+ }
+ $result = $this->eventMapper->findBy(array("title" => $k));
+ $event = $result[0];
+ $eventreport = new Application_Model_Eventreport();
+ $eventreport->setEventID($event->getID());
+ $eventreport->setResult($eventResult->$resultShortcutName);
+ if($eventResult->$resultShortcutName == "failed") {
+ $eventreport->setErrors(json_encode($eventResult->$errorsName));
+ }
+ $eventreport->setType($eventtypeShutdown->getID());
+ try {
+ $eventreportMapper->save($eventreport);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
$event->setRunning(false);
$event->setRunningtype(null);
try {
@@ -877,45 +878,17 @@ class EventController extends Zend_Controller_Action
echo "Message: " . $e->getMessage() . "<br/>";
return;
}
- continue;
- }
- $result = $this->eventMapper->findBy(array("title" => $k));
- $event = $result[0];
- $eventreport = new Application_Model_Eventreport();
- $eventreport->setEventID($event->getID());
- $eventreport->setResult($eventResult->$resultShortcutName);
- if($eventResult->$resultShortcutName == "failed") {
- $eventreport->setErrors(json_encode($eventResult->$errorsName));
- }
- $eventreport->setType($eventtypeShutdown->getID());
- try {
- $eventreportMapper->save($eventreport);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $event->setRunning(false);
- $event->setRunningtype(null);
- try {
- $this->eventMapper->save($event);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
}
}
+ if(count($results) <= 0) {
+ $results = array("No current events available");
+ }
+ $resultString = json_encode($results);
+ header('Content-Type: application/json');
+ header('Content-Disposition: inline; filename="result.json"');
+ header('Pragma: no-cache');
+ header('Expires: 0');
+ echo $resultString;
}
- if(count($results) <= 0) {
- $results = array("No current events available");
- }
- $resultString = json_encode($results);
- header('Content-Type: application/json');
- header('Content-Disposition: inline; filename="result.json"');
- header('Pragma: no-cache');
- header('Expires: 0');
- echo $resultString;
}
} \ No newline at end of file