2016-01-01 07:42:52 -05:00
|
|
|
<?php
|
|
|
|
|
2017-02-02 10:37:38 -05:00
|
|
|
session_start();
|
|
|
|
|
2018-01-19 04:15:04 -05:00
|
|
|
if (file_exists("./pgs/functions.php")) { require_once("./pgs/functions.php"); } else { die("functions.php does not exist."); }
|
|
|
|
if (file_exists("./pgs/config.inc.php")) { require_once("./pgs/config.inc.php"); } else { die("config.inc.php does not exist."); }
|
2016-03-04 04:57:08 -05:00
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
if (!class_exists('ParseXML')) require_once("./pgs/class.parsexml.php");
|
|
|
|
if (!class_exists('Node')) require_once("./pgs/class.node.php");
|
|
|
|
if (!class_exists('xReflector')) require_once("./pgs/class.reflector.php");
|
|
|
|
if (!class_exists('Station')) require_once("./pgs/class.station.php");
|
2016-02-11 12:51:12 -05:00
|
|
|
if (!class_exists('Peer')) require_once("./pgs/class.peer.php");
|
2016-05-04 02:33:20 -04:00
|
|
|
if (!class_exists('Interlink')) require_once("./pgs/class.interlink.php");
|
2016-01-01 07:42:52 -05:00
|
|
|
|
|
|
|
$Reflector = new xReflector();
|
|
|
|
$Reflector->SetFlagFile("./pgs/country.csv");
|
2016-03-13 14:16:51 -04:00
|
|
|
$Reflector->SetPIDFile($Service['PIDFile']);
|
|
|
|
$Reflector->SetXMLFile($Service['XMLFile']);
|
|
|
|
|
|
|
|
$Reflector->LoadXML();
|
|
|
|
|
2018-01-19 04:15:04 -05:00
|
|
|
if ($CallingHome['Active']) {
|
|
|
|
|
2016-03-13 14:16:51 -04:00
|
|
|
$CallHomeNow = false;
|
2018-01-19 04:15:04 -05:00
|
|
|
$LastSync = 0;
|
|
|
|
$Hash = "";
|
|
|
|
|
2016-04-05 05:06:58 -04:00
|
|
|
if (!file_exists($CallingHome['HashFile'])) {
|
2018-01-19 04:15:04 -05:00
|
|
|
$Ressource = fopen($CallingHome['HashFile'], "w+");
|
|
|
|
if ($Ressource) {
|
|
|
|
$Hash = CreateCode(16);
|
|
|
|
@fwrite($Ressource, "<?php\n");
|
|
|
|
@fwrite($Ressource, "\n".'$Hash = "'.$Hash.'";');
|
|
|
|
@fwrite($Ressource, "\n\n".'?>');
|
|
|
|
@fflush($Ressource);
|
|
|
|
@fclose($Ressource);
|
|
|
|
@chmod($HashFile, 0777);
|
|
|
|
}
|
2016-03-13 14:16:51 -04:00
|
|
|
}
|
|
|
|
else {
|
2018-01-19 04:15:04 -05:00
|
|
|
require_once($CallingHome['HashFile']);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (@file_exists($CallingHome['LastCallHomefile'])) {
|
|
|
|
if (@is_readable($CallingHome['LastCallHomefile'])) {
|
|
|
|
$tmp = @file($CallingHome['LastCallHomefile']);
|
|
|
|
if (isset($tmp[0])) {
|
|
|
|
$LastSync = $tmp[0];
|
|
|
|
}
|
|
|
|
unset($tmp);
|
2016-03-13 14:16:51 -04:00
|
|
|
}
|
|
|
|
}
|
2018-01-19 04:15:04 -05:00
|
|
|
|
|
|
|
if ($LastSync < (time() - $CallingHome['PushDelay'])) {
|
|
|
|
$CallHomeNow = true;
|
|
|
|
$Ressource = @fopen($CallingHome['LastCallHomefile'], "w+");
|
|
|
|
if ($Ressource) {
|
|
|
|
@fwrite($Ressource, time());
|
|
|
|
@fflush($Ressource);
|
|
|
|
@fclose($Ressource);
|
|
|
|
@chmod($HashFile, 0777);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-03-13 14:16:51 -04:00
|
|
|
if ($CallHomeNow || isset($_GET['callhome'])) {
|
2016-05-04 02:33:20 -04:00
|
|
|
$Reflector->SetCallingHome($CallingHome, $Hash);
|
|
|
|
$Reflector->ReadInterlinkFile();
|
|
|
|
$Reflector->PrepareInterlinkXML();
|
|
|
|
$Reflector->PrepareReflectorXML();
|
|
|
|
$Reflector->CallHome();
|
2016-03-13 14:16:51 -04:00
|
|
|
}
|
2018-01-19 04:15:04 -05:00
|
|
|
|
2016-02-11 12:51:12 -05:00
|
|
|
}
|
2016-05-04 02:33:20 -04:00
|
|
|
else {
|
|
|
|
$Hash = "";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
?><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
2016-03-13 14:16:51 -04:00
|
|
|
<meta name="description" content="<?php echo $PageOptions['MetaDescription']; ?>" />
|
|
|
|
<meta name="keywords" content="<?php echo $PageOptions['MetaKeywords']; ?>" />
|
|
|
|
<meta name="author" content="<?php echo $PageOptions['MetaAuthor']; ?>" />
|
|
|
|
<meta name="revisit" content="<?php echo $PageOptions['MetaRevisit']; ?>" />
|
|
|
|
<meta name="robots" content="<?php echo $PageOptions['MetaAuthor']; ?>" />
|
2018-01-19 04:15:04 -05:00
|
|
|
|
2016-03-13 14:16:51 -04:00
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
|
|
<title><?php echo $Reflector->GetReflectorName(); ?> Reflector Dashboard</title>
|
2016-01-01 07:42:52 -05:00
|
|
|
<link rel="stylesheet" type="text/css" href="./css/layout.css">
|
2016-03-04 04:57:08 -05:00
|
|
|
<link rel="icon" href="./favicon.ico" type="image/vnd.microsoft.icon"><?php
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2016-03-04 04:57:08 -05:00
|
|
|
if ($PageOptions['PageRefreshActive']) {
|
|
|
|
echo '
|
2016-01-01 07:42:52 -05:00
|
|
|
<script>
|
2018-01-19 04:15:04 -05:00
|
|
|
var PageRefresh;
|
|
|
|
|
2018-02-02 15:26:33 -05:00
|
|
|
function ReloadPage() {';
|
2018-02-06 03:03:23 -05:00
|
|
|
if (($_SERVER['REQUEST_METHOD'] === 'POST') || isset($_GET['do'])) {
|
2018-02-02 15:26:33 -05:00
|
|
|
echo '
|
2016-03-04 04:57:08 -05:00
|
|
|
document.location.href = "./index.php';
|
2018-02-02 15:26:33 -05:00
|
|
|
if (isset($_GET['show'])) {
|
|
|
|
echo '?show='.$_GET['show'];
|
|
|
|
}
|
|
|
|
echo '";';
|
|
|
|
} else {
|
|
|
|
echo '
|
|
|
|
document.location.reload();';
|
2016-03-04 04:57:08 -05:00
|
|
|
}
|
2018-02-02 15:26:33 -05:00
|
|
|
echo '
|
2016-03-04 04:57:08 -05:00
|
|
|
}';
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2016-05-04 02:33:20 -04:00
|
|
|
if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors') && ($_GET['show'] != 'interlinks'))) {
|
2016-01-01 07:42:52 -05:00
|
|
|
echo '
|
2017-02-06 08:26:10 -05:00
|
|
|
PageRefresh = setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');';
|
2016-03-04 04:57:08 -05:00
|
|
|
}
|
|
|
|
echo '
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2017-02-06 08:26:10 -05:00
|
|
|
function SuspendPageRefresh() {
|
|
|
|
clearTimeout(PageRefresh);
|
|
|
|
}
|
2016-03-04 04:57:08 -05:00
|
|
|
</script>';
|
2016-03-13 14:16:51 -04:00
|
|
|
}
|
2018-01-19 04:15:04 -05:00
|
|
|
|
2017-05-12 03:54:21 -04:00
|
|
|
if (!isset($_GET['show'])) $_GET['show'] = "";
|
2016-03-13 14:16:51 -04:00
|
|
|
?>
|
2016-01-01 07:42:52 -05:00
|
|
|
</head>
|
|
|
|
<body>
|
2016-03-13 14:16:51 -04:00
|
|
|
<?php if (file_exists("./tracking.php")) { include_once("tracking.php"); }?>
|
2016-02-11 12:51:12 -05:00
|
|
|
<div id="top"><img src="./img/header.jpg" alt="XLX Multiprotocol Gateway Reflector" style="margin-top:15px;" />
|
2016-03-13 14:16:51 -04:00
|
|
|
<br /> <?php echo $Reflector->GetReflectorName(); ?> v<?php echo $Reflector->GetVersion(); ?> - Dashboard v<?php echo $PageOptions['DashboardVersion']; ?> / Service uptime: <span id="suptime"><?php echo FormatSeconds($Reflector->GetServiceUptime()); ?></span></div>
|
2016-01-01 07:42:52 -05:00
|
|
|
<div id="menubar">
|
|
|
|
<div id="menu">
|
|
|
|
<table border="0">
|
|
|
|
<tr>
|
2017-12-19 05:16:04 -05:00
|
|
|
<td><a href="./index.php" class="menulink<?php if ($_GET['show'] == '') { echo 'active'; } ?>">Users / Modules</a></td>
|
|
|
|
<td><a href="./index.php?show=repeaters" class="menulink<?php if ($_GET['show'] == 'repeaters') { echo 'active'; } ?>">Repeaters / Nodes (<?php echo $Reflector->NodeCount(); ?>)</a></td>
|
|
|
|
<td><a href="./index.php?show=peers" class="menulink<?php if ($_GET['show'] == 'peers') { echo 'active'; } ?>">Peers (<?php echo $Reflector->PeerCount(); ?>)</a></td>
|
|
|
|
<td><a href="./index.php?show=reflectors" class="menulink<?php if ($_GET['show'] == 'reflectors') { echo 'active'; } ?>">Reflectorlist</a></td>
|
2018-01-19 04:15:04 -05:00
|
|
|
<td><a href="./index.php?show=liveircddb" class="menulink<?php if ($_GET['show'] == 'liveircddb') { echo 'active'; } ?>">D-Star live</a></td>
|
2017-12-19 05:16:04 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
if ($PageOptions['Traffic']['Show']) {
|
|
|
|
echo '
|
|
|
|
<td><a href="./index.php?show=traffic" class="menulink';
|
|
|
|
if ($_GET['show'] == 'traffic') { echo 'active'; }
|
2018-01-19 04:15:04 -05:00
|
|
|
echo '">Traffic statistics</a></td>';
|
2017-12-19 05:16:04 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
?>
|
2016-01-01 07:42:52 -05:00
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="content" align="center">
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
<?php
|
2016-04-05 05:06:58 -04:00
|
|
|
if ($CallingHome['Active']) {
|
|
|
|
if (!is_readable($CallingHome['HashFile']) && (!is_writeable($CallingHome['HashFile']))) {
|
|
|
|
echo '
|
|
|
|
<div class="error">
|
|
|
|
your private hash in '.$CallingHome['HashFile'].' could not be created, please check your config file and the permissions for the defined folder.
|
|
|
|
</div>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
switch ($_GET['show']) {
|
|
|
|
case 'users' : require_once("./pgs/users.php"); break;
|
|
|
|
case 'repeaters' : require_once("./pgs/repeaters.php"); break;
|
|
|
|
case 'liveircddb' : require_once("./pgs/liveircddb.php"); break;
|
2016-02-11 12:51:12 -05:00
|
|
|
case 'peers' : require_once("./pgs/peers.php"); break;
|
2016-03-13 14:16:51 -04:00
|
|
|
case 'reflectors' : require_once("./pgs/reflectors.php"); break;
|
2017-12-19 05:16:04 -05:00
|
|
|
case 'traffic' : require_once("./pgs/traffic.php"); break;
|
2016-01-01 07:42:52 -05:00
|
|
|
default : require_once("./pgs/users.php");
|
|
|
|
}
|
|
|
|
|
2016-03-13 14:16:51 -04:00
|
|
|
?>
|
|
|
|
|
2016-03-04 04:57:08 -05:00
|
|
|
<div style="width:100%;text-align:center;margin-top:50px;"><a href="mailto:<?php echo $PageOptions['ContactEmail']; ?>" style="font-family:verdana;color:#000000;font-size:12pt;text-decoration:none;"><?php echo $PageOptions['ContactEmail']; ?></a></div>
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
</div>
|
2016-03-13 14:16:51 -04:00
|
|
|
|
2016-01-01 07:42:52 -05:00
|
|
|
</body>
|
|
|
|
</html>
|