From 0edfd21498c514e9f5da9aea10fc2082fe6fe834 Mon Sep 17 00:00:00 2001 From: Christoph Schulthess Date: Wed, 1 Mar 2017 16:14:49 +0100 Subject: Added active relay list to debugconfig --- apis/debugrequest.inc.php | 2 +- modules-available/debugconfig/page.inc.php | 39 ++++++++++---- .../debugconfig/templates/debugconfig.html | 5 +- .../debugconfig/templates/relaystatus.html | 60 +++++++++++++++++----- 4 files changed, 80 insertions(+), 26 deletions(-) diff --git a/apis/debugrequest.inc.php b/apis/debugrequest.inc.php index 0d423bec..54ebffb2 100644 --- a/apis/debugrequest.inc.php +++ b/apis/debugrequest.inc.php @@ -19,6 +19,6 @@ if ($validclient == false) { $data = array("hosts" => array($_SERVER["REMOTE_ADDR"], $debug_settings["debugServer"]), "ports" => array($port, intval($debug_settings["port"])), "descs" => array("bwlpclient", "debugserver")); $taskstruct = Taskmanager::submit('DispatchRelay', $data); - Property::setDebugTaskStruct($taskstruct); + Property::addToList("DispatchedRelay", $taskstruct['id']); } 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")); + } } diff --git a/modules-available/debugconfig/templates/debugconfig.html b/modules-available/debugconfig/templates/debugconfig.html index 4e5353b5..200eb355 100644 --- a/modules-available/debugconfig/templates/debugconfig.html +++ b/modules-available/debugconfig/templates/debugconfig.html @@ -35,8 +35,9 @@ - -
+
+ diff --git a/modules-available/debugconfig/templates/relaystatus.html b/modules-available/debugconfig/templates/relaystatus.html index 60e4c494..d38b3735 100644 --- a/modules-available/debugconfig/templates/relaystatus.html +++ b/modules-available/debugconfig/templates/relaystatus.html @@ -1,18 +1,52 @@
-
Relay Status for task: {{taskid}}
+
+ Active relays +
-
+ + + + + + + + + + + {{#activeRelays}} + + + + + + + {{/activeRelays}} + +
Relay IDBWLP clientDebug Server +
+ + + +
+
{{id}}{{bwlpclient}}{{debugserver}} +
+ + +
+
+
- - \ No newline at end of file -- cgit v1.2.3-55-g7522