summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Geiger2011-11-14 17:51:28 +0100
committerBjörn Geiger2011-11-14 17:51:28 +0100
commit09389b149c05033f14708d7535dee851f3fce0d8 (patch)
treebe58c80945a5f04ece619c49d40b71e71425feab
parenttest (diff)
downloadpoolctrl-09389b149c05033f14708d7535dee851f3fce0d8.tar.gz
poolctrl-09389b149c05033f14708d7535dee851f3fce0d8.tar.xz
poolctrl-09389b149c05033f14708d7535dee851f3fce0d8.zip
EventController Cleaning: API in eigene Klasse ausgelagert
-rwxr-xr-x[-rw-r--r--]Grafiken/PoolCtrl_Funktionsweise2.pngbin63151 -> 63151 bytes
-rwxr-xr-x[-rw-r--r--]Masterteamprojekt_PoolCtrl.pdfbin4264332 -> 4264332 bytes
-rwxr-xr-xapplication/controllers/AuthController.php85
-rwxr-xr-xapplication/controllers/ErrorController.php2
-rwxr-xr-xapplication/controllers/EventController.php658
-rwxr-xr-xapplication/controllers/IndexController.php2
-rwxr-xr-xapplication/controllers/PersonController.php24
-rwxr-xr-xapplication/controllers/StatisticsController.php2
-rw-r--r--library/Poolctrl/Pbs2Api.php289
9 files changed, 435 insertions, 627 deletions
diff --git a/Grafiken/PoolCtrl_Funktionsweise2.png b/Grafiken/PoolCtrl_Funktionsweise2.png
index bafbe4b..bafbe4b 100644..100755
--- a/Grafiken/PoolCtrl_Funktionsweise2.png
+++ b/Grafiken/PoolCtrl_Funktionsweise2.png
Binary files differ
diff --git a/Masterteamprojekt_PoolCtrl.pdf b/Masterteamprojekt_PoolCtrl.pdf
index f0e9aae..f0e9aae 100644..100755
--- a/Masterteamprojekt_PoolCtrl.pdf
+++ b/Masterteamprojekt_PoolCtrl.pdf
Binary files differ
diff --git a/application/controllers/AuthController.php b/application/controllers/AuthController.php
index 0ba5027..b3f6bbf 100755
--- a/application/controllers/AuthController.php
+++ b/application/controllers/AuthController.php
@@ -14,6 +14,7 @@ class AuthController extends Zend_Controller_Action
{
protected $config = null;
protected $pbs2host = null;
+ protected $pbs2Api = null;
protected $userIDsNamespace = null;
protected $acl = null;
@@ -22,6 +23,7 @@ class AuthController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if(isset($this->userIDsNamespace['apikey'])) {
$this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
@@ -42,75 +44,28 @@ class AuthController extends Zend_Controller_Action
$loginForm = new Application_Form_Login();
} else {
$loginForm = new Application_Form_Login($_POST);
-
if ($loginForm->isValid($_POST)) {
- $loginquery = "email=" . $loginForm->getValue('email') . "&password=" . $loginForm->getValue('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") {
- $membershipSession = new Zend_Session_Namespace('memberships');
- $count = 0;
- foreach($login->membershiplist->membership as $membershipXML)
- {
- $membership = new Application_Model_Membership();
- $membership->setID(sprintf("%s", $membershipXML->id));
- $membership->setPersonID(sprintf("%s", $membershipXML->personid));
- $membership->setGroupID(sprintf("%s", $membershipXML->groupid));
- $membership->setRoleID(sprintf("%s", $membershipXML->roleid));
- $membership->setApikey(sprintf("%s", $membershipXML->apikey));
- $membership->setSuspend(sprintf("%s", $membershipXML->suspend));
- $membershipID = $membership->getID();
- $membershipSession->$membershipID = $membership;
- if($count == 0) {
- $apikey = sprintf("%s", $membershipXML->apikey);
- }
- $count++;
- }
-
- $personApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getperson'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $personXMLString = $personApiResult['http-body'];
- if(strlen($personXMLString) > 0) {
- $personXML = new SimpleXMLElement($personXMLString);
- $person = new Application_Model_Person();
- $person->setID(sprintf("%s", $personXML->person->id));
- $person->setCity(sprintf("%s", $personXML->person->city));
- $person->setEmail(sprintf("%s", $personXML->person->email));
- $person->setFirstname(sprintf("%s", $personXML->person->firstname));
- $person->setHousenumber(sprintf("%s", $personXML->person->housenumber));
- $person->setLogin(sprintf("%s", $personXML->person->login));
- $person->setLogindate(sprintf("%s", $personXML->person->logindate));
- $person->setName(sprintf("%s", $personXML->person->name));
- $person->setPostalcode(sprintf("%s", $personXML->person->postalcode));
- $person->setRegisterdate(sprintf("%s", $personXML->person->registerdate));
- $person->setStreet(sprintf("%s", $personXML->person->street));
- $person->setSuspend(sprintf("%s", $personXML->person->suspend));
- $person->setTitle(sprintf("%s", $personXML->person->title));
- $personSession = new Zend_Session_Namespace('persons');
- $personName = sprintf("%s", $login->personid);
- $personSession->$personName = $person;
- }
+ $membershipSession = new Zend_Session_Namespace('memberships');
+ if($this->pbs2Api->login($loginForm->getValue('email'), $loginForm->getValue('password'), $membershipSession)) {
+ $personSession = new Zend_Session_Namespace('persons');
+ $this->pbs2Api->getPerson($personSession);
- $userSession = new Zend_Session_Namespace('userIDs');
- $userSession->personID = sprintf("%s", $login->personid);
+ $userSession = new Zend_Session_Namespace('userIDs');
+ $userSession->personID = sprintf("%s", $login->personid);
- $authSession = new Zend_Session_Namespace('auth');
- $authSession->storage = $loginForm->getValue('email');
+ $authSession = new Zend_Session_Namespace('auth');
+ $authSession->storage = $loginForm->getValue('email');
- $this->_helper->redirector('selectmembership', 'person');
- return;
- } else {
- $error = sprintf("%s", $login->error);
- if($error == "wrong email or password") {
- $poolctrlNotifier = new Poolctrl_Notifier();
- $this->view->notification = $poolctrlNotifier->notify('Wrong Email or Password', 'error');
- } else if($error == "person suspended") {
- $poolctrlNotifier = new Poolctrl_Notifier();
- $this->view->notification = $poolctrlNotifier->notify('Your Account is suspended', 'error');
- }
+ $this->_helper->redirector('selectmembership', 'person');
+ return;
+ } else {
+ $error = sprintf("%s", $login->error);
+ if($error == "wrong email or password") {
+ $poolctrlNotifier = new Poolctrl_Notifier();
+ $this->view->notification = $poolctrlNotifier->notify('Wrong Email or Password', 'error');
+ } else if($error == "person suspended") {
+ $poolctrlNotifier = new Poolctrl_Notifier();
+ $this->view->notification = $poolctrlNotifier->notify('Your Account is suspended', 'error');
}
}
}
diff --git a/application/controllers/ErrorController.php b/application/controllers/ErrorController.php
index 49ecdcf..1cca34f 100755
--- a/application/controllers/ErrorController.php
+++ b/application/controllers/ErrorController.php
@@ -4,6 +4,7 @@ class ErrorController extends Zend_Controller_Action
{
protected $config;
protected $pbs2host;
+ protected $pbs2Api;
protected $userIDsNamespace;
protected $acl;
@@ -12,6 +13,7 @@ class ErrorController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if(isset($this->userIDsNamespace['apikey'])) {
$this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index b2877e9..6ce76ba 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -17,6 +17,7 @@ class EventController extends Zend_Controller_Action
protected $config;
protected $pbs2host;
protected $userIDsNamespace;
+ protected $pbs2Api;
protected $acl;
protected $gearmanClient;
protected $gearmanServerHost;
@@ -30,6 +31,7 @@ class EventController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->gearmanServerHost = $this->config['gearman']['server']['host'];
$this->gearmanServerPort = $this->config['gearman']['server']['port'];
$this->gearmanWorkerWaitTime = $this->config['gearman']['worker']['waitTime'];
@@ -84,63 +86,13 @@ class EventController extends Zend_Controller_Action
}
$eventcategorylist = $this->eventcategoryMapper->fetchAll();
$this->poolVal = $this->getRequest()->getParam('poolSelectBoxVal');
- $bootOsApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getbootoss'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $bootOsXMLString = $bootOsApiResult['http-body'];
- if(strlen($bootOsXMLString) > 0) {
- $bootOsXML = new SimpleXMLElement($bootOsXMLString);
- foreach($bootOsXML->bootoslist->bootos as $bootos) {
- $bootosobj = new Application_Model_BootOs();
- $bootosobj->setID(sprintf("%s", $bootos->id));
- $bootosobj->setCreated(sprintf("%s", $bootos->created));
- $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl));
- $bootosobj->setDescription(sprintf("%s", $bootos->description));
- $bootosobj->setDistro(sprintf("%s", $bootos->distro));
- $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion));
- $bootosobj->setExpires(sprintf("%s", $bootos->expires));
- $bootosobj->setGroupID(sprintf("%s", $bootos->groupid));
- $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid));
- $bootosobj->setPublic(sprintf("%s", $bootos->public));
- $bootosobj->setShare(sprintf("%s", $bootos->share));
- $bootosobj->setShortname(sprintf("%s", $bootos->shortname));
- $bootosobj->setSource(sprintf("%s", $bootos->source));
- $bootosobj->setTitle(sprintf("%s", $bootos->title));
- $bootoslist[$bootosobj->getID()] = $bootosobj;
- foreach($bootos->configs->config as $config) {
- $configobj = new Application_Model_Config();
- $configobj->setID(sprintf("%s", $config->configid));
- $configobj->setBootosID(sprintf("%s", $bootosobj->getID()));
- $configobj->setCreated(sprintf("%s", $config->created));
- $configobj->setMembershipID(sprintf("%s", $config->membershipid));
- $configobj->setDescription(sprintf("%s", $config->description));
- $configobj->setGroupID(sprintf("%s", $config->groupid));
- $configobj->setTitle(sprintf("%s", $config->title));
- $configobj->setVisible(sprintf("%s", $config->visible));
- if($configobj->getVisible()) {
- if($configobj->getTitle() == 'Default') {
- $configlist[$bootosobj->getID()][0] = $configobj;
- } else {
- $configlist[$bootosobj->getID()][$configobj->getID()] = $configobj;
- }
- }
- }
- }
- }
+ $bootoslist = array();
+ $configlist = array();
+ $this->pbs2Api->getBootos($bootoslist, $configlist);
if(!isset($this->userIDsNamespace['poolID'])) {
- $poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $poolXMLString = $poolApiResult['http-body'];
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $poolobj = new Application_Model_Pool();
- $poolobj->setID(sprintf("%s", $pool->id));
- $poolobj->setDescription(sprintf("%s", $pool->description));
- $poolobj->setGroupID(sprintf("%s", $pool->groupid));
- $poolobj->setLocation(sprintf("%s", $pool->location));
- $poolobj->setTitle(sprintf("%s", $pool->title));
- $poollist[$poolobj->getID()] = $poolobj;
- }
- }
+ $poollist = array();
+ $this->pbs2Api->getPool($poollist);
}
$repeatendMapper = new Application_Model_RepeatendMapper();
$repeatendlist = $repeatendMapper->fetchAll();
@@ -224,20 +176,13 @@ class EventController extends Zend_Controller_Action
$result = $this->eventcategoryMapper->findBy(array('title' => 'Shutdown'));
$shutdownCategory = $result[0];
if($event->getCategory() != $shutdownCategory->getID()) {
- $bootmenuquery = "bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=Poolctrl-Bootmenu for " . $event->getTitle() . "&defaultbootmenu=0&order=0&kcl=0";
if($event->getPbs_configID()) {
- $bootmenuquery .= "&configID=" . $event->getPbs_configID();
+ $bootmenuID = $this->pbs2Api->addBootmenu($event->getTitle(), $event->getPbs_bootosID(), $event->getPbs_configID());
+ } else {
+ $bootmenuID = $this->pbs2Api->addBootmenu($event->getTitle(), $event->getPbs_bootosID());
}
- $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->bootmenu->id);
$event->setPbs_bootmenuID($bootmenuID);
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
$startTime = date('H:i', strtotime($event->getStart()));
if($event->getEnd()) {
@@ -245,16 +190,8 @@ class EventController extends Zend_Controller_Action
} else {
$endTime = date('H:i', strtotime($event->getStart()) + 900);
}
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
- $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
if(!$event->getRepeat()) {
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
@@ -262,11 +199,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
}
if($event->getImmediate()) {
@@ -360,11 +293,11 @@ class EventController extends Zend_Controller_Action
$this->_redirect('/');
}
}
- if($event->getPbs_bootmenuID() && $event->getRepeat() == 0) {
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $event->getPbs_bootmenuID());
+ if($event->getPbs_bootmenuID() && $event->getRepeat() != 1) {
+ $this->pbs2Api->deleteBootmenu($event->getPbs_bootmenuID());
}
if($event->getPbs_filterID() && $event->getRepeat() != 1) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $event->getPbs_filterID());
+ $this->pbs2Api->deleteFilter($event->getPbs_filterID());
}
try {
$this->eventMapper->delete($event);
@@ -400,60 +333,11 @@ class EventController extends Zend_Controller_Action
exit;
}
$eventcategorylist = $this->eventcategoryMapper->fetchAll();
- $bootOsApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getbootoss'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $bootOsXMLString = $bootOsApiResult['http-body'];
- if(strlen($bootOsXMLString) > 0) {
- $bootOsXML = new SimpleXMLElement($bootOsXMLString);
- foreach($bootOsXML->bootoslist->bootos as $bootos) {
- $bootosobj = new Application_Model_BootOs();
- $bootosobj->setID(sprintf("%s", $bootos->id));
- $bootosobj->setCreated(sprintf("%s", $bootos->created));
- $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl));
- $bootosobj->setDescription(sprintf("%s", $bootos->description));
- $bootosobj->setDistro(sprintf("%s", $bootos->distro));
- $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion));
- $bootosobj->setExpires(sprintf("%s", $bootos->expires));
- $bootosobj->setGroupID(sprintf("%s", $bootos->groupid));
- $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid));
- $bootosobj->setPublic(sprintf("%s", $bootos->public));
- $bootosobj->setShare(sprintf("%s", $bootos->share));
- $bootosobj->setShortname(sprintf("%s", $bootos->shortname));
- $bootosobj->setSource(sprintf("%s", $bootos->source));
- $bootosobj->setTitle(sprintf("%s", $bootos->title));
- $bootoslist[$bootosobj->getID()] = $bootosobj;
- foreach($bootos->configs->config as $config) {
- $configobj = new Application_Model_Config();
- $configobj->setID(sprintf("%s", $config->configid));
- $configobj->setBootosID(sprintf("%s", $bootosobj->getID()));
- $configobj->setCreated(sprintf("%s", $config->created));
- $configobj->setDescription(sprintf("%s", $config->description));
- $configobj->setGroupID(sprintf("%s", $config->groupid));
- $configobj->setTitle(sprintf("%s", $config->title));
- $configobj->setVisible(sprintf("%s", $config->visible));
- if($configobj->getVisible()) {
- if($configobj->getTitle() == 'Default') {
- $configlist[$bootosobj->getID()][0] = $configobj;
- } else {
- $configlist[$bootosobj->getID()][$configobj->getID()] = $configobj;
- }
- }
- }
- }
- }
- $poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $poolXMLString = $poolApiResult['http-body'];
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $poolobj = new Application_Model_Pool();
- $poolobj->setID(sprintf("%s", $pool->id));
- $poolobj->setDescription(sprintf("%s", $pool->description));
- $poolobj->setGroupID(sprintf("%s", $pool->groupid));
- $poolobj->setLocation(sprintf("%s", $pool->location));
- $poolobj->setTitle(sprintf("%s", $pool->title));
- $poollist[$poolobj->getID()] = $poolobj;
- }
- }
+ $bootoslist = array();
+ $configlist = array();
+ $this->pbs2Api->getBootos($bootoslist, $configlist);
+ $poollist = array();
+ $this->pbs2Api->getPool($poollist);
if($event->getPbs_membershipID() != $this->userIDsNamespace['membershipID']) {
if(!$this->acl->checkRight('eeo')) {
$this->_redirect('/');
@@ -562,56 +446,36 @@ class EventController extends Zend_Controller_Action
if($event->getCategory() != $shutdownCategory->getID()) {
$diff = $this->eventMapper->compare($oldEvent, $event);
if(isset($diff['pbs_bootosID']) || isset($diff['title']) || isset($diff['pbs_configID'])) {
- $bootmenuquery = "bootmenuid=" . $event->getPbs_bootmenuID() . "&bootosID=" . $event->getPbs_bootosID() . "&startcounter=0&title=Poolctrl-Bootmenu for " . $event->getTitle() . "&defaultbootmenu=0&order=0&kcl=0&changeentry=1";
if($event->getPbs_configID()) {
- $bootmenuquery .= "&configID=" . $event->getPbs_configID();
+ $this->pbs2Api->changeBootmenu($event->getTitle(), $event->getPbs_bootosID(), $event->getPbs_configID());
+ } else {
+ $this->pbs2Api->changeBootmenu($event->getTitle(), $event->getPbs_bootosID());
}
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery);
-
}
if(isset($diff['title'])) {
- $filterQuerie = "filterid=" . $event->getPbs_filterID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $event->getTitle();
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterQuerie);
- unset($filterApiResult);
+ $this->pbs2Api->changeFilter($event->getPbs_filterID(), $event->getTitle());
}
if(isset($diff['start']) || isset($diff['end']) || isset($diff['pbs_poolID'])) {
if($event->getRepeat() != 2) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
- unset($filterApiResult);
+ $this->pbs2Api->deleteFilter($event->getPbs_filterID());
}
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
$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=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
}
}
@@ -686,11 +550,11 @@ class EventController extends Zend_Controller_Action
}
try {
foreach($events as $event) {
- if ($event->getPbs_bootmenuID()) {
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_bootmenuID());
+ if($event->getPbs_bootmenuID()) {
+ $this->pbs2Api->deleteBootmenu($event->getPbs_bootmenuID());
}
- if ($event->getPbs_filterID()) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_filterID());
+ if($event->getPbs_filterID()) {
+ $this->pbs2Api->deleteFilter($event->getPbs_filterID());
}
if($event->getRunning() == 0) {
$this->eventMapper->delete($event);
@@ -721,20 +585,7 @@ class EventController extends Zend_Controller_Action
}
$this->_helper->layout->disableLayout();
$poollist = array();
- $poolApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getpools'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
- $poolXMLString = $poolApiResult['http-body'];
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $poolobj = new Application_Model_Pool();
- $poolobj->setID(sprintf("%s", $pool->id));
- $poolobj->setDescription(sprintf("%s", $pool->description));
- $poolobj->setGroupID(sprintf("%s", $pool->groupid));
- $poolobj->setLocation(sprintf("%s", $pool->location));
- $poolobj->setTitle(sprintf("%s", $pool->title));
- $poollist[$poolobj->getID()] = $poolobj;
- }
- }
+ $this->pbs2Api->getPool($poollist);
if(isset($this->userIDsNamespace['poolID'])) {
$this->view->poolID = $this->userIDsNamespace['poolID'];
}
@@ -1042,42 +893,25 @@ class EventController extends Zend_Controller_Action
if($event->getCategory() != $shutdownCategory->getID()) {
if($event->getPbs_filterID()) {
if($oldEvent->getRepeat() == 0 || $oldEvent->getRepeat() == 2) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
- unset($filterApiResult);
- }
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $this->pbs2Api->deleteFilter($oldEvent->getPbs_filterID());
+ }
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
$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=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
}
try {
@@ -1172,18 +1006,13 @@ class EventController extends Zend_Controller_Action
$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);
+ $this->pbs2Api->changeFilterentry($event->getPbs_filterID(), strtotime($oldStartDate), strtotime($oldEndDate), strtotime($newStartDate), strtotime($newEndDate));
}
} else {
- $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);
+ $this->pbs2Api->changeFilterentry($event->getPbs_filterID(), strtotime($oldStartDate), strtotime($oldEndDate), strtotime($newStartDate), strtotime($newEndDate));
}
if($count == 1) {
- $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->pbs2Api->changeFilterentry($event->getPbs_filterID(), $oldStartTime, $oldEndTime, $newStartTime, $newEndTime);
}
}
}
@@ -1232,11 +1061,7 @@ class EventController extends Zend_Controller_Action
foreach($otherEvents as $event) {
$event->setRepeat(2);
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
$startTime = date('H:i', strtotime($event->getStart()));
if($event->getEnd()) {
@@ -1244,27 +1069,15 @@ class EventController extends Zend_Controller_Action
} else {
$endTime = date('H:i', strtotime($event->getStart()) + 900);
}
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
- $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
try {
$this->eventMapper->save($event); //save the event with the new data
} catch (Zend_Exception $e) {
@@ -1341,18 +1154,13 @@ class EventController extends Zend_Controller_Action
$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);
+ $this->pbs2Api->changeFilterentry($event->getPbs_filterID(), strtotime($oldStartDate), strtotime($oldEndDate), strtotime($newStartDate), strtotime($newEndDate));
}
} else {
- $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);
+ $this->pbs2Api->changeFilterentry($event->getPbs_filterID(), strtotime($oldStartDate), strtotime($oldEndDate), strtotime($newStartDate), strtotime($newEndDate));
}
if($count == 1) {
- $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->pbs2Api->changeFilterentry($event->getPbs_filterID(), $oldStartTime, $oldEndTime, $newStartTime, $newEndTime);
}
}
}
@@ -1404,43 +1212,25 @@ class EventController extends Zend_Controller_Action
if($event->getCategory() != $shutdownCategory->getID()) {
if($event->getPbs_filterID()) {
if($oldEvent->getRepeat() == 0 || $oldEvent->getRepeat() == 2) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
- unset($filterApiResult);
- }
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $this->pbs2Api->deleteFilter($oldEvent->getPbs_filterID());
+ }
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
$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=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
- }
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));date('d.m.Y', strtotime($event->getStart())); }
}
$this->eventMapper->save($event); //save the event with the new data
}
@@ -1494,9 +1284,7 @@ class EventController extends Zend_Controller_Action
$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->pbs2Api->changeFilterentry($event->getPbs_filterID(), $oldStartTime, $oldEndTime, $newStartTime, $newEndTime);
}
}
}
@@ -1544,11 +1332,7 @@ class EventController extends Zend_Controller_Action
foreach($otherEvents as $event) {
$event->setRepeat(2);
- $filterquery = "bootmenuID=" . $event->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $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->filter->id);
+ $filterID = $this->pbs2Api->addFilter($event->getTitle(), $event->getPbs_bootmenuID());
$event->setPbs_filterID($filterID);
$startTime = date('H:i', strtotime($event->getStart()));
if($event->getEnd()) {
@@ -1556,27 +1340,15 @@ class EventController extends Zend_Controller_Action
} else {
$endTime = date('H:i', strtotime($event->getStart()) + 900);
}
- $filterentriesquery1 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
- $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $event->getPbs_poolID();
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
try {
$this->eventMapper->save($event); //save the event with the new data
} catch (Zend_Exception $e) {
@@ -1622,9 +1394,7 @@ class EventController extends Zend_Controller_Action
$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->pbs2Api->changeFilterentry($event->getPbs_filterID(), $oldStartTime, $oldEndTime, $newStartTime, $newEndTime);
}
}
}
@@ -1802,65 +1572,15 @@ class EventController extends Zend_Controller_Action
} 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);
- $poolXMLString = $poolApiResult['http-body'];
$clients = array();
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $clientsXML = $pool->clients;
- $count = 1;
- foreach($clientsXML->client as $clientNew) {
- $participants = $event->getParticipants();
- if(!isset($participants) || ($participants > 0 && $event->getParticipants() >= $count)) {
- $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;
- $count++;
- } else {
- break;
- }
- }
- }
- }
+ $this->pbs2Api->getPoolClients($clients, $event->getPbs_poolID());
$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->getDistro() . " " . $bootos->getDistroversion();
- }
+ $bootoslist = array();
+ $configlist = array();
+ $this->pbs2Api->getBootos($bootoslist, $configlist);
+ $bootos = $bootoslist[0];
+ $data['eventOS'] = $bootos->getDistro() . " " . $bootos->getDistroversion();
$dataString = json_encode($data);
$result = $this->gearmanClient->do("boot", $dataString, 'boot' . $event->getTitle());
if (! $this->gearmanClient->runTasks())
@@ -2115,22 +1835,10 @@ class EventController extends Zend_Controller_Action
$reportlist[$i]->setType($reportType);
}
- $clientRequest = "poolid=" . $event->getPbs_poolID();
- $clientApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getclient'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $clientRequest);
- $clientXMLString = $clientApiResult['http-body'];
- if(strlen($clientXMLString) > 0) {
- $clientXML = new SimpleXMLElement($clientXMLString);
- foreach($clientXML->clientlist->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));
- $clients[$client->getID()] = $client;
- }
+ $clientlist = array();
+ $this->pbs2Api->getPoolClients($clientlist, $event->getPbs_poolID());
+ foreach($clientlist as $client) {
+ $clients[$client->getID()] = $client;
}
$this->view->eventTitle = $event->getTitle();
@@ -2187,37 +1895,8 @@ class EventController extends Zend_Controller_Action
} 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);
- $poolXMLString = $poolApiResult['http-body'];
- if(strlen($poolXMLString) > 0) {
- $poolXML = new SimpleXMLElement($poolXMLString);
- foreach($poolXML->poollist->pool as $pool) {
- $clientsXML = $pool->clients;
- $count = 1;
- foreach($clientsXML->client as $clientNew) {
- if($event->getImmediate() || ($event->getParticipants() > 0 && $event->getParticipants() > $count)) {
- $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;
- $count++;
- } else {
- break;
- }
- }
- }
- }
+ $clients = array();
+ $this->pbs2Api->getPoolClients($clients, $event->getPbs_poolID());
$data['clients'] = $clients;
$result = $this->eventcategoryMapper->fetchAll();
foreach($result as $category) {
@@ -2259,30 +1938,11 @@ class EventController extends Zend_Controller_Action
}
$runningtypeMapper = new Application_Model_RunningtypeMapper();
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->getDistro() . " " . $bootos->getDistroversion();
- }
+ $bootoslist = array();
+ $configlist = array();
+ $this->pbs2Api->getBootos($bootoslist, $configlist);
+ $bootos = $bootoslist[0];
+ $data['eventOS'] = $bootos->getDistro() . " " . $bootos->getDistroversion();
$dataString = json_encode($data);
$result = $this->gearmanClient->do("boot", $dataString, 'boot' . $event->getTitle());
if (! $this->gearmanClient->runTasks())
@@ -2351,11 +2011,7 @@ class EventController extends Zend_Controller_Action
switch($repeattype->getTitle()) {
case 'Daily':
if($newEvent->getCategory() != $shutdownCategory->getID()) {
- $filterentriesquery3 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$onedaytime = 24 * 60 * 60;
$newStartTime = strtotime($newEvent->getStart()) + $onedaytime;
@@ -2401,11 +2057,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
}
@@ -2449,11 +2101,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
$i++;
@@ -2465,11 +2113,7 @@ class EventController extends Zend_Controller_Action
case 'Once a week':
if($newEvent->getCategory() != $shutdownCategory->getID()) {
$weekday = date('N', strtotime($newEvent->getStart()));
- $filterentriesquery3 = "filterID=" . $newEvent->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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 10, $weekday, $weekday);
}
$oneweektime = 7 * 24 * 60 * 60;
$newStartTime = strtotime($newEvent->getStart()) + $oneweektime;
@@ -2552,11 +2196,7 @@ class EventController extends Zend_Controller_Action
case 'Every couple of weeks':
if($newEvent->getCategory() != $shutdownCategory->getID()) {
- $filterentriesquery3 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$twoweekstime = 14 * 24 * 60 * 60;
$newStartTime = strtotime($newEvent->getStart()) + $twoweekstime;
@@ -2602,11 +2242,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
}
@@ -2650,11 +2286,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
$i++;
@@ -2665,11 +2297,7 @@ class EventController extends Zend_Controller_Action
case 'Every month':
if($newEvent->getCategory() != $shutdownCategory->getID()) {
- $filterentriesquery3 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$startMonth = date('m', strtotime($newEvent->getStart())) + 1;
$startDay = date('d', strtotime($newEvent->getStart()));
@@ -2756,11 +2384,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
}
@@ -2812,11 +2436,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($newEvent->getStart()));
}
- $filterentriesquery = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
- $filterentriesXMLString = $filterentriesApiResult['http-body'];
- $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
- $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($event->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
$newEvent = clone $newEvent;
$i++;
@@ -2853,10 +2473,10 @@ class EventController extends Zend_Controller_Action
}
} else {
if($events[0]->getPbs_bootmenuID()) {
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $events[0]->getPbs_bootmenuID());
+ $this->pbs2Api->deleteBootmenu($event->getPbs_bootmenuID());
}
if($events[0]->getPbs_filterID()) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $events[0]->getPbs_filterID());
+ $this->pbs2Api->deleteFilter($event->getPbs_filterID());
}
}
@@ -2921,18 +2541,6 @@ class EventController extends Zend_Controller_Action
}
$event->setEnd($newEnd);
}
- if($newEvent->getCategory() != $shutdownCategory->getID()) {
- if($repeattype != "Once a week") {
- $startDate = date('d.m.Y', strtotime($event->getStart()));
- if($event->getEnd()) {
- $endDate = date('d.m.Y', strtotime($event->getEnd()));
- } else {
- $endDate = date('d.m.Y', strtotime($event->getStart()) + 900);
- }
- $filterentriesquery2 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($endDate);
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- }
- }
}
}
@@ -2949,41 +2557,25 @@ class EventController extends Zend_Controller_Action
if(isset($diff['pbs_bootosID']) || isset($diff['title']) || isset($diff['pbs_configID'])) {
$bootmenuquery = "bootmenuid=" . $newEvent->getPbs_bootmenuID() . "&bootosID=" . $newEvent->getPbs_bootosID() . "&startcounter=0&title=Poolctrl-Bootmenu for " . $newEvent->getTitle() . "&defaultbootmenu=0&order=0&kcl=0&changeentry=1";
if($newEvent->getPbs_configID()) {
- $bootmenuquery .= "&configID=" . $newEvent->getPbs_configID();
+ $this->pbs2Api->changeBootmenu($oldEvent->getPbs_bootmenuID(), $newEvent->getTitle(), $newEvent->getPbs_bootosID(), $newEvent->getPbs_configID());
+ } else {
+ $this->pbs2Api->changeBootmenu($oldEvent->getPbs_bootmenuID(), $newEvent->getTitle(), $newEvent->getPbs_bootosID());
}
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery);
}
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
- unset($filterApiResult);
- $filterquery = "bootmenuID=" . $newEvent->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $newEvent->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $newEvent->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->filter->id);
+ $this->pbs2Api->deleteFilter($oldEvent->getPbs_filterID());
+ $filterID = $this->pbs2Api->addFilter($newEvent->getTitle(), $newEvent->getPbs_bootmenuID());
$newEvent->setPbs_filterID($filterID);
- $filterentriesquery1 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $newEvent->getPbs_poolID();
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
$startTime = date('H:i', strtotime($newEvent->getStart()));
if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart()) + 900);
}
- $filterentriesquery2 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
if($repeattype == "Once a week") {
$weekday = date('N', strtotime($diff['start']));
- $filterentriesquery3 = "filterID=" . $newEvent->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);
- $filterentriesID = sprintf("%s", $filterentriesXML1->filterentry->id);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 10, $weekday, $weekday);
}
}
foreach($events as $event) {
@@ -2995,11 +2587,7 @@ class EventController extends Zend_Controller_Action
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
try {
$this->eventMapper->save($event);
@@ -3017,41 +2605,31 @@ class EventController extends Zend_Controller_Action
if(isset($diff['pbs_bootosID']) || isset($diff['title']) || isset($diff['pbs_configID'])) {
$bootmenuquery = "bootmenuid=" . $newEvent->getPbs_bootmenuID() . "&bootosID=" . $newEvent->getPbs_bootosID() . "&startcounter=0&title=Poolctrl-Bootmenu for " . $newEvent->getTitle() . "&defaultbootmenu=0&order=0&kcl=0&changeentry=1";
if($newEvent->getPbs_configID()) {
- $bootmenuquery .= "&configID=" . $newEvent->getPbs_configID();
+ $this->pbs2Api->changeBootmenu($oldEvent->getPbs_bootmenuID(), $newEvent->getTitle(), $newEvent->getPbs_bootosID(), $newEvent->getPbs_configID());
+ } else {
+ $this->pbs2Api->changeBootmenu($oldEvent->getPbs_bootmenuID(), $newEvent->getTitle(), $newEvent->getPbs_bootosID());
}
- $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery);
}
if(isset($diff['title'])) {
- $filterQuerie = "filterid=" . $newEvent->getPbs_filterID() . "&title=Poolctrl-Filter for " . $newEvent->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $newEvent->getTitle();
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterQuerie);
- unset($filterApiResult);
+ $this->pbs2Api->changeFilter($newEvent->getPbs_filterID(), $newEvent->getTitle());
}
$newFilter = false;
if(isset($diff['pbs_poolID'])) {
- $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "filterid=" . $oldEvent->getPbs_filterID());
- unset($filterApiResult);
- $filterquery = "filterID=" . $newEvent->getPbs_bootmenuID() . "&title=Poolctrl-Filter for " . $newEvent->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $newEvent->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->filter->id);
+ $this->pbs2Api->deleteFilter($oldEvent->getPbs_filterID());
+ $filterID = $this->pbs2Api->addFilter($newEvent->getTitle(), $newEvent->getPbs_bootmenuID());
$newEvent->setPbs_filterID($filterID);
- $filterentriesquery1 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=3&filtervalue=" . $newEvent->getPbs_poolID();
- $filterentriesApiResult1 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery1);
- $filterentriesXMLString1 = $filterentriesApiResult1['http-body'];
- $filterentriesXML1 = new SimpleXMLElement($filterentriesXMLString1);
- $filterentriesID1 = sprintf("%s", $filterentriesXML1->filterentry->id);
$startTime = date('H:i', strtotime($newEvent->getStart()));
if($newEvent->getEnd()) {
$endTime = date('H:i', strtotime($newEvent->getEnd()));
} else {
$endTime = date('H:i', strtotime($newEvent->getStart()) + 900);
}
- $filterentriesquery2 = "filterID=" . $newEvent->getPbs_filterID() . "&filtertypeID=7&filtervalue=" . $startTime . "&filtervalue2=" . $endTime;
- $filterentriesApiResult2 = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery2);
- $filterentriesXMLString2 = $filterentriesApiResult2['http-body'];
- $filterentriesXML2 = new SimpleXMLElement($filterentriesXMLString2);
- $filterentriesID2 = sprintf("%s", $filterentriesXML2->filterentry->id);
+ $filterentriesID1 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 7, $startTime, $endTime);
+ $filterentriesID2 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 3, $event->getPbs_poolID(), '');
+ if($repeattype == "Once a week") {
+ $weekday = date('N', strtotime($diff['start']));
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 10, $weekday, $weekday);
+ }
$newFilter = true;
}
}
@@ -3061,18 +2639,14 @@ class EventController extends Zend_Controller_Action
$event->setOptions($diff);
if($newFilter) {
$event->setPbs_filterID($newEvent->getPbs_filterID());
- if($event->getCategory() != $shutdownCategory->getID() && isset($diff['pbs_poolID'])) {
+ if($repeattype != "Once a week" && $event->getCategory() != $shutdownCategory->getID() && isset($diff['pbs_poolID'])) {
$startDate = date('d.m.Y', strtotime($event->getStart()));
if($event->getEnd()) {
$endDate = date('d.m.Y', strtotime($event->getEnd()));
} else {
$endDate = date('d.m.Y', strtotime($event->getStart()));
}
- $filterentriesquery3 = "filterID=" . $event->getPbs_filterID() . "&filtertypeID=11&filtervalue=" . strtotime($startDate) . "&filtervalue2=" . strtotime($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);
+ $filterentriesID3 = $this->pbs2Api->addFilterentry($newEvent->getPbs_filterID(), 11, strtotime($startDate), strtotime($endDate));
}
}
if(!$event->getParticipants()) {
diff --git a/application/controllers/IndexController.php b/application/controllers/IndexController.php
index 65757c1..ad61927 100755
--- a/application/controllers/IndexController.php
+++ b/application/controllers/IndexController.php
@@ -4,6 +4,7 @@ class IndexController extends Zend_Controller_Action
{
protected $config;
protected $pbs2host;
+ protected $pbs2Api;
protected $userNamespace;
protected $acl;
@@ -12,6 +13,7 @@ class IndexController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if(isset($this->userIDsNamespace['apikey'])) {
$this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
diff --git a/application/controllers/PersonController.php b/application/controllers/PersonController.php
index 09638cc..72ef196 100755
--- a/application/controllers/PersonController.php
+++ b/application/controllers/PersonController.php
@@ -16,6 +16,7 @@ class PersonController extends Zend_Controller_Action
protected $currentMembership = null;
protected $memberships = null;
protected $groups = null;
+ protected $pbs2Api;
protected $userIDsNamespace = null;
protected $config;
protected $pbs2host;
@@ -27,6 +28,7 @@ class PersonController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if(isset($this->userIDsNamespace['apikey'])) {
$this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
@@ -81,17 +83,7 @@ class PersonController extends Zend_Controller_Action
if($useGroupnamespace) {
$group = $groups[$groupID];
} else {
- $grouprequest = "groupid=" . $groupID;
- $groupApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getgroup'] . $membership->getApikey(), 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $grouprequest);
- $groupXMLString = $groupApiResult['http-body'];
- if(strlen($groupXMLString) > 0) {
- $groupXML = new SimpleXMLElement($groupXMLString);
- $group = new Application_Model_Group();
- $group->setID(sprintf("%s", $groupXML->group->id));
- $group->setTitle(sprintf("%s", $groupXML->group->title));
- $group->setDescription(sprintf("%s", $groupXML->group->description));
- $groupSession->$groupID = $group;
- }
+ $this->pbs2Api->getGroup($groupSession, $groupID);
}
$roleID = $membership->getRoleID();
if($useRolenamespace) {
@@ -100,15 +92,7 @@ class PersonController extends Zend_Controller_Action
$roleApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getrole'] . $membership->getApikey(), 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
$roleXMLString = $roleApiResult['http-body'];
if(strlen($roleXMLString) > 0) {
- $roleXML = new SimpleXMLElement($roleXMLString);
- $role = new Application_Model_Role();
- $role->setID(sprintf("%s", $roleXML->role->id));
- $role->setGroupID(sprintf("%s", $roleXML->role->groupid));
- $role->setTitle(sprintf("%s", $roleXML->role->title));
- $role->setDescription(sprintf("%s", $roleXML->role->description));
- $role->setInheritance(sprintf("%s", $roleXML->role->inheritance));
-
- $roleSession->$roleID = $role;
+ $this->pbs2Api->getRole($roleSession, $roleID);
}
}
$apikeys[$group->getID()] = $membership->getApikey();
diff --git a/application/controllers/StatisticsController.php b/application/controllers/StatisticsController.php
index 7416ec5..5bf798e 100755
--- a/application/controllers/StatisticsController.php
+++ b/application/controllers/StatisticsController.php
@@ -3,6 +3,7 @@ class StatisticsController extends Zend_Controller_Action
{
protected $config;
protected $pbs2host;
+ protected $pbs2Api;
protected $eventMapper;
protected $eventcategoryMapper;
protected $eventreportMapper;
@@ -14,6 +15,7 @@ class StatisticsController extends Zend_Controller_Action
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
+ $this->pbs2Api = new Poolctrl_Pbs2Api($this->config);
$this->eventMapper = new Application_Model_EventMapper();
$this->eventcategoryMapper = new Application_Model_EventcategoryMapper();
$this->eventreportMapper = new Application_Model_EventreportMapper();
diff --git a/library/Poolctrl/Pbs2Api.php b/library/Poolctrl/Pbs2Api.php
new file mode 100644
index 0000000..be868a3
--- /dev/null
+++ b/library/Poolctrl/Pbs2Api.php
@@ -0,0 +1,289 @@
+<?php
+/*
+ * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
+ * This program is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your suggestions, praise, or complaints to feedback@openslx.org
+ *
+ * General information about OpenSLX can be found at http://openslx.org/
+ */
+
+class Poolctrl_Pbs2Api {
+ protected $config;
+ protected $pbs2host;
+ protected $userIDsNamespace;
+
+ public function Poolctrl_Pbs2Api($config) {
+ $this->config = $config;
+ $this->pbs2host = $this->config['pbs2']['host'];
+ $this->userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ if(isset($this->userIDsNamespace['apikey'])) {
+ $this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
+ }
+ if(!$this->userIDsNamespace['membershipID'] !='') {
+ $this->_helper->redirector('selectmembership', 'person');
+ return;
+ }
+ }
+
+ private function runApi($host, $path, $data = null) {
+ if($data) {
+ $apiResult = PostToHost($host, $path . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $data);
+ } else {
+ $apiResult = PostToHost($host, $path . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ }
+ $xmlString = $bootOsApiResult['http-body'];
+ if(strlen($xmlString) > 0) {
+ $xml = new SimpleXMLElement($xmlString);
+ return $xml;
+ } else {
+ return new SimpleXMLElement();
+ }
+ }
+
+ public function getPool(&$poolist, $poolID = null) {
+ if(isset($poolID)) {
+ $poolRequest = "poolid=" . $poolID;
+ $poolXML = $this->runApi($this->pbs2host, $this->config['pbs2']['getpools'], $poolRequest);
+ } else {
+ $poolXML = $this->runApi($this->pbs2host, $this->config['pbs2']['getpools']);
+ }
+ if(isset($poolXML)) {
+ foreach($poolXML->poollist->pool as $pool) {
+ $poolobj = new Application_Model_Pool();
+ $poolobj->setID(sprintf("%s", $pool->id));
+ $poolobj->setDescription(sprintf("%s", $pool->description));
+ $poolobj->setGroupID(sprintf("%s", $pool->groupid));
+ $poolobj->setLocation(sprintf("%s", $pool->location));
+ $poolobj->setTitle(sprintf("%s", $pool->title));
+ $poollist[$poolobj->getID()] = $poolobj;
+ }
+ }
+ }
+
+ public function getPoolClients(&$clientlist, $poolID) {
+ $poolRequest = "poolid=" . $poolID;
+ $poolXML = $this->runApi($this->pbs2host, $this->config['pbs2']['getpools'], $poolRequest);
+ if(isset($poolXML)) {
+ 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());
+ $clientlist[] = $clientArray;
+ }
+ }
+ }
+ }
+
+ public function getBootos(&$bootoslist, &$configlist, $bootosID = null) {
+ if(isset($bootosID)) {
+ $bootOsRequest = "bootosid=" . $bootosID;
+ $bootOsXML = $this->runApi($this->pbs2host, $this->config['pbs2']['getbootoss'], $bootOsRequest);
+ } else {
+ $bootOsXML = $this->runApi($this->pbs2host, $this->config['pbs2']['getbootoss']);
+ }
+ if(isset($bootOsXML)) {
+ foreach($bootOsXML->bootoslist->bootos as $bootos) {
+ $bootosobj = new Application_Model_BootOs();
+ $bootosobj->setID(sprintf("%s", $bootos->id));
+ $bootosobj->setCreated(sprintf("%s", $bootos->created));
+ $bootosobj->setDefaultkcl(sprintf("%s", $bootos->defaultkcl));
+ $bootosobj->setDescription(sprintf("%s", $bootos->description));
+ $bootosobj->setDistro(sprintf("%s", $bootos->distro));
+ $bootosobj->setDistroversion(sprintf("%s", $bootos->distroversion));
+ $bootosobj->setExpires(sprintf("%s", $bootos->expires));
+ $bootosobj->setGroupID(sprintf("%s", $bootos->groupid));
+ $bootosobj->setMembershipID(sprintf("%s", $bootos->membershipid));
+ $bootosobj->setPublic(sprintf("%s", $bootos->public));
+ $bootosobj->setShare(sprintf("%s", $bootos->share));
+ $bootosobj->setShortname(sprintf("%s", $bootos->shortname));
+ $bootosobj->setSource(sprintf("%s", $bootos->source));
+ $bootosobj->setTitle(sprintf("%s", $bootos->title));
+ $bootoslist[$bootosobj->getID()] = $bootosobj;
+ foreach($bootos->configs->config as $config) {
+ $configobj = new Application_Model_Config();
+ $configobj->setID(sprintf("%s", $config->configid));
+ $configobj->setBootosID(sprintf("%s", $bootosobj->getID()));
+ $configobj->setCreated(sprintf("%s", $config->created));
+ $configobj->setMembershipID(sprintf("%s", $config->membershipid));
+ $configobj->setDescription(sprintf("%s", $config->description));
+ $configobj->setGroupID(sprintf("%s", $config->groupid));
+ $configobj->setTitle(sprintf("%s", $config->title));
+ $configobj->setVisible(sprintf("%s", $config->visible));
+ if($configobj->getVisible()) {
+ if($configobj->getTitle() == 'Default') {
+ $configlist[$bootosobj->getID()][0] = $configobj;
+ } else {
+ $configlist[$bootosobj->getID()][$configobj->getID()] = $configobj;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public function getGroup(&$groupSession, $groupID) {
+ $grouprequest = "groupid=" . $groupID;
+ $groupApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getgroup'] . $membership->getApikey(), 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $grouprequest);
+ $groupXMLString = $groupApiResult['http-body'];
+ if(strlen($groupXMLString) > 0) {
+ $groupXML = new SimpleXMLElement($groupXMLString);
+ $group = new Application_Model_Group();
+ $group->setID(sprintf("%s", $groupXML->group->id));
+ $group->setTitle(sprintf("%s", $groupXML->group->title));
+ $group->setDescription(sprintf("%s", $groupXML->group->description));
+ $groupSession->$groupID = $group;
+ }
+ }
+
+ public function getRole(&$roleSession, $roleID) {
+ $roleApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getrole'] . $membership->getApikey(), 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $roleXMLString = $roleApiResult['http-body'];
+ if(strlen($roleXMLString) > 0) {
+ $roleXML = new SimpleXMLElement($roleXMLString);
+ $role = new Application_Model_Role();
+ $role->setID(sprintf("%s", $roleXML->role->id));
+ $role->setGroupID(sprintf("%s", $roleXML->role->groupid));
+ $role->setTitle(sprintf("%s", $roleXML->role->title));
+ $role->setDescription(sprintf("%s", $roleXML->role->description));
+ $role->setInheritance(sprintf("%s", $roleXML->role->inheritance));
+ $roleSession->$roleID = $role;
+ }
+ }
+
+ public function getPerson(&$personSession) {
+ $personApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['getperson'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', '');
+ $personXMLString = $personApiResult['http-body'];
+ if(strlen($personXMLString) > 0) {
+ $personXML = new SimpleXMLElement($personXMLString);
+ $person = new Application_Model_Person();
+ $person->setID(sprintf("%s", $personXML->person->id));
+ $person->setCity(sprintf("%s", $personXML->person->city));
+ $person->setEmail(sprintf("%s", $personXML->person->email));
+ $person->setFirstname(sprintf("%s", $personXML->person->firstname));
+ $person->setHousenumber(sprintf("%s", $personXML->person->housenumber));
+ $person->setLogin(sprintf("%s", $personXML->person->login));
+ $person->setLogindate(sprintf("%s", $personXML->person->logindate));
+ $person->setName(sprintf("%s", $personXML->person->name));
+ $person->setPostalcode(sprintf("%s", $personXML->person->postalcode));
+ $person->setRegisterdate(sprintf("%s", $personXML->person->registerdate));
+ $person->setStreet(sprintf("%s", $personXML->person->street));
+ $person->setSuspend(sprintf("%s", $personXML->person->suspend));
+ $person->setTitle(sprintf("%s", $personXML->person->title));
+ $personName = sprintf("%s", $login->personid);
+ $personSession->$personName = $person;
+ }
+
+ }
+
+ public function login($email, $password, &$membershipSession) {
+ $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") {
+ $count = 0;
+ foreach($login->membershiplist->membership as $membershipXML)
+ {
+ $membership = new Application_Model_Membership();
+ $membership->setID(sprintf("%s", $membershipXML->id));
+ $membership->setPersonID(sprintf("%s", $membershipXML->personid));
+ $membership->setGroupID(sprintf("%s", $membershipXML->groupid));
+ $membership->setRoleID(sprintf("%s", $membershipXML->roleid));
+ $membership->setApikey(sprintf("%s", $membershipXML->apikey));
+ $membership->setSuspend(sprintf("%s", $membershipXML->suspend));
+ $membershipID = $membership->getID();
+ $membershipSession->$membershipID = $membership;
+ if($count == 0) {
+ $apikey = sprintf("%s", $membershipXML->apikey);
+ }
+ $count++;
+ }
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ public function addBootmenu($eventTitle, $bootosID, $configID = null) {
+ $bootmenuquery = "bootosID=" . $bootosID . "&startcounter=0&title=Poolctrl-Bootmenu for " . $eventTitle . "&defaultbootmenu=0&order=0&kcl=0";
+ if(isset($configID)) {
+ $bootmenuquery .= "&configID=" . $configID;
+ }
+ $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->bootmenu->id);
+ return $bootmenuID;
+ }
+
+ public function changeBootmenu($bootmenuID, $eventTitle, $bootosID, $configID = null) {
+ $bootmenuquery = "bootmenuid=" . $bootmenuID() . "&bootosID=" . $bootosID() . "&startcounter=0&title=Poolctrl-Bootmenu for " . $eventTitle . "&defaultbootmenu=0&order=0&kcl=0&changeentry=1";
+ if(isset($configID)) {
+ $bootmenuquery .= "&configID=" . $configID;
+ }
+ $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $bootmenuquery);
+ return $bootmenuApiResult;
+ }
+
+ public function deleteBootmenu($bootmenuID) {
+ $bootmenuApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletebootmenu'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $bootmenuID);
+ return $bootmenuApiResult;
+ }
+
+ public function addFilter($eventTitle, $bootmenuID) {
+ $filterquery = "bootmenuID=" . $bootmenuID . "&title=Poolctrl-Filter for " . $event->getTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $eventTitle . "&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->filter->id);
+ return $filterID;
+ }
+
+ public function changeFilter($filterID, $eventTitle, $bootmenuID = null) {
+ $filterQuerie = "filterid=" . $filterID . "&title=Poolctrl-Filter for " . $eventTitle() . "&description=This Filter was automatically created by the Poolctrl for Event " . $eventTitle;
+ if(isset($bootmenuID)) {
+ "&bootmenuID=" . $bootmenuID;
+ }
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterQuerie);
+ return $filterApiResult;
+ }
+
+ public function deleteFilter($filterID) {
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['deletefilter'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', "bootmenuid=" . $filterID);
+ return $filterApiResult;
+ }
+
+ public function addFilterentry($filterID, $filterType, $filterValue1, $filterValue2) {
+ $filterentriesApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['addfilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesquery);
+ $filterentriesXMLString = $filterentriesApiResult['http-body'];
+ $filterentriesXML = new SimpleXMLElement($filterentriesXMLString);
+ $filterentriesID = sprintf("%s", $filterentriesXML->filterentry->id);
+ return $filterentriesID;
+ }
+
+ public function changeFilterentry($oldValue1, $oldValue2, $newValue1, $newValue2) {
+ $filterentriesQuerie = "filterid=" . $event->getPbs_filterID() . "&oldvalue1=" . $oldValue1 . "&oldvalue2=" . $oldValue2 . "&value1=" . $newValue1 . "&value2=" . $newValue2;
+ $filterApiResult = PostToHost($this->pbs2host, $this->config['pbs2']['changefilterentry'] . $this->userIDsNamespace['apikey'], 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'poolctrl', $filterentriesQuerie);
+ return $filterApiResult;
+ }
+} \ No newline at end of file