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 --- modules-available/debugconfig/page.inc.php | 39 ++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 10 deletions(-) (limited to 'modules-available/debugconfig/page.inc.php') 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")); + } } -- cgit v1.2.3-55-g7522