blob: 27ef94fd4df98badedad3a0771138de98c387d73 (
plain) (
tree)
|
|
<?php
class Page_debugConfig extends Page
{
const DEFAULT_CONFIG = array("enabled" => false, "debugServer" => "127.0.0.1", "port" => 5500);
protected function doPreprocess()
{
User::load();
if (!User::hasPermission('superadmin')) {
Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
if (Request::post('action') === 'debugconf') {
$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"]));
$relays = $this->getActiveRelays();
Render::addTemplate('relaystatus', array("activeRelays" => $relays));
}
private function getConfig()
{
if (Property::getRemoteDebugConfig() == Null) {
Property::setRemoteDebugConfig(self::DEFAULT_CONFIG);
}
return Property::getRemoteDebugConfig();
}
private function setConfig()
{
$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, "port" => $task["data"]["listenPort"],
"code" => $task["statusCode"], "cltAddress" => $task["data"]["cltAddr"]);
//$relays[$key] = array("id" => $value, "bwlpclient" => $endpoints[0], "debugserver" => $endpoints[1]);
}
return $relays;
}
private function clearRelay()
{
Property::removeFromList("DispatchedRelay", Request::post("relayid"));
}
}
|