1
0
mirror of https://github.com/ShaYmez/xlxd.git synced 2024-11-15 20:51:51 -05:00
xlxd/dashboard/index.php

187 lines
7.8 KiB
PHP
Raw Normal View History

<?php
2017-02-02 10:37:38 -05:00
session_start();
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
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");
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");
$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();
if ($CallingHome['Active']) {
2016-03-13 14:16:51 -04:00
$CallHomeNow = false;
$LastSync = 0;
$Hash = "";
2016-04-05 05:06:58 -04:00
if (!file_exists($CallingHome['HashFile'])) {
$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 {
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
}
}
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
}
}
2016-05-04 02:33:20 -04:00
else {
$Hash = "";
}
?><!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']; ?>" />
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>
<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 '
<script src="./js/jquery-1.12.4.min.js"></script>
<script>
var PageRefresh;
function ReloadPage() {
$.get("./index.php'.(isset($_GET['show'])?'?show='.$_GET['show']:'').'", function(data) {
var BodyStart = data.indexOf("<bo"+"dy");
var BodyEnd = data.indexOf("</bo"+"dy>");
if ((BodyStart >= 0) && (BodyEnd > BodyStart)) {
BodyStart = data.indexOf(">", BodyStart)+1;
$("body").html(data.substring(BodyStart, BodyEnd));
}
})
.always(function() {
PageRefresh = setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');
});
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'))) {
echo '
PageRefresh = setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');';
2016-03-04 04:57:08 -05:00
}
echo '
2016-03-13 14:16:51 -04:00
function SuspendPageRefresh() {
clearTimeout(PageRefresh);
}
2016-03-04 04:57:08 -05:00
</script>';
2016-03-13 14:16:51 -04:00
}
2017-05-12 03:54:21 -04:00
if (!isset($_GET['show'])) $_GET['show'] = "";
2016-03-13 14:16:51 -04:00
?>
</head>
<body>
2016-03-13 14:16:51 -04:00
<?php if (file_exists("./tracking.php")) { include_once("tracking.php"); }?>
<div id="top"><img src="./img/header.jpg" alt="XLX Multiprotocol Gateway Reflector" style="margin-top:15px;" />
2018-10-24 04:03:07 -04:00
<br />&nbsp;&nbsp;&nbsp;<?php echo $Reflector->GetReflectorName(); ?>&nbsp;v<?php echo $Reflector->GetVersion(); ?>&nbsp;-&nbsp;Dashboard v<?php echo $PageOptions['DashboardVersion']; ?>&nbsp;<?php echo $PageOptions['CustomTXT']; ?>&nbsp;&nbsp;/&nbsp;&nbsp;Service uptime: <span id="suptime"><?php echo FormatSeconds($Reflector->GetServiceUptime()); ?></span></div>
<div id="menubar">
<div id="menu">
<table border="0">
<tr>
<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>
<td><a href="./index.php?show=liveircddb" class="menulink<?php if ($_GET['show'] == 'liveircddb') { echo 'active'; } ?>">D-Star live</a></td>
<?php
if ($PageOptions['Traffic']['Show']) {
echo '
<td><a href="./index.php?show=traffic" class="menulink';
if ($_GET['show'] == 'traffic') { echo 'active'; }
echo '">Traffic statistics</a></td>';
}
?>
</tr>
</table>
</div>
</div>
<div id="content" align="center">
2016-03-13 14:16:51 -04: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>';
}
}
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;
case 'peers' : require_once("./pgs/peers.php"); break;
2016-03-13 14:16:51 -04:00
case 'reflectors' : require_once("./pgs/reflectors.php"); break;
case 'traffic' : require_once("./pgs/traffic.php"); break;
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
</div>
2016-03-13 14:16:51 -04:00
</body>
</html>