summaryrefslogtreecommitdiffstats
path: root/modules-available/debugconfig/page.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/debugconfig/page.inc.php')
-rw-r--r--modules-available/debugconfig/page.inc.php39
1 files changed, 29 insertions, 10 deletions
diff --git a/modules-available/debugconfig/page.inc.php b/modules-available/debugconfig/page.inc.php
index 09ae0d7d..3ec394f6 100644
--- a/modules-available/debugconfig/page.inc.php
+++ b/modules-available/debugconfig/page.inc.php
@@ -13,24 +13,22 @@ class Page_debugConfig extends Page
Util::redirect('?do=Main');
}
if (Request::post('action') === 'debugconf') {
- /*if (!filter_var(Request::get('debugServer'), FILTER_VALIDATE_IP)) {
- return;
- }*/
$this->setConfig();
}
+ elseif (Request::post("action") === "clearRelay") {
+ $this->clearRelay();
+ }
+ elseif (Request::post("action") === "refreshList") {
+ $this->getActiveRelays();
+ }
}
protected function doRender()
{
$debug_config = $this->getConfig();
Render::addTemplate('debugconfig', array("debugEnabled" => $debug_config["enabled"], "debugServer" => $debug_config["debugServer"], "port" => $debug_config["port"]));
-
- $task = Property::getDebugTaskStruct();
- $taskid = $task['id'];
- $taskstatus = Taskmanager::status($task);
- error_log(print_r($taskstatus, true));
-
- Render::addTemplate('relaystatus', array("taskid" => $taskid, "taskstatus" => $taskstatus));
+ $relays = $this->getActiveRelays();
+ Render::addTemplate('relaystatus', array("activeRelays" => $relays));
}
private function getConfig()
@@ -45,6 +43,27 @@ class Page_debugConfig extends Page
{
$enabled = isset($_POST['toggleDebug']) ? true : false;
Property::setRemoteDebugConfig(array('enabled' => $enabled, 'debugServer' => Request::post('debugServer'), 'port' => Request::post('port')));
+ }
+
+ private function getActiveRelays()
+ {
+ $relays = Property::getList("DispatchedRelay");
+ foreach ($relays as $key => $value) {
+ $task = Taskmanager::status($value);
+ $finished = Taskmanager::isFinished($task);
+ $endpoints = $task["data"]["endpoints"];
+ if ($task["statusCode"] == "NO_SUCH_INSTANCE" || $finished) {
+ Property::removeFromList("DispatchedRelay", $value);
+ unset($relays[$key]);
+ }
+ $relays[$key] = array("id" => $value, "bwlpclient" => $endpoints[0], "debugserver" => $endpoints[1]);
+ }
+ return $relays;
}
+
+ private function clearRelay()
+ {
+ Property::removeFromList("DispatchedRelay", Request::post("relayid"));
+ }
}