Sync from original code
This commit is contained in:
parent
ed2145a73d
commit
0388ac9ada
1 changed files with 85 additions and 30 deletions
|
@ -15,20 +15,32 @@ function getMMDVMHostFileVersion() {
|
||||||
// returns creation-time of MMDVMHost as version-number
|
// returns creation-time of MMDVMHost as version-number
|
||||||
$filename = MMDVMHOSTPATH."/MMDVMHost";
|
$filename = MMDVMHOSTPATH."/MMDVMHost";
|
||||||
if (file_exists($filename)) {
|
if (file_exists($filename)) {
|
||||||
return date("d M y", filectime($filename));
|
return date("d M y", filectime($filename));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMMDVMConfig() {
|
function getMMDVMConfig() {
|
||||||
// loads MMDVM.ini into array for further use
|
// loads MMDVM.ini into array for further use
|
||||||
$mmdvmconfigs = array();
|
$conf = array();
|
||||||
if ($configs = fopen(MMDVMINIPATH."/".MMDVMINIFILENAME, 'r')) {
|
if ($configs = fopen(MMDVMINIPATH."/".MMDVMINIFILENAME, 'r')) {
|
||||||
while ($config = fgets($configs)) {
|
while ($config = fgets($configs)) {
|
||||||
array_push($mmdvmconfigs, trim ( $config, " \t\n\r\0\x0B"));
|
array_push($conf, trim ( $config, " \t\n\r\0\x0B"));
|
||||||
}
|
}
|
||||||
fclose($configs);
|
fclose($configs);
|
||||||
}
|
}
|
||||||
return $mmdvmconfigs;
|
return $conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getYSFGatewayConfig() {
|
||||||
|
// loads MMDVM.ini into array for further use
|
||||||
|
$conf = array();
|
||||||
|
if ($configs = fopen(YSFGATEWAYINIPATH."/".YSFGATEWAYINIFILENAME, 'r')) {
|
||||||
|
while ($config = fgets($configs)) {
|
||||||
|
array_push($conf, trim ( $config, " \t\n\r\0\x0B"));
|
||||||
|
}
|
||||||
|
fclose($configs);
|
||||||
|
}
|
||||||
|
return $conf;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCallsign($mmdvmconfigs) {
|
function getCallsign($mmdvmconfigs) {
|
||||||
|
@ -76,13 +88,13 @@ function showMode($mode, $mmdvmconfigs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo "label-default";
|
echo "label-default";
|
||||||
}
|
}
|
||||||
?>"><?php echo $mode ?></span></td>
|
?>"><?php echo $mode ?></span></td>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLog() {
|
function getMMDVMLog() {
|
||||||
// Open Logfile and copy loglines into LogLines-Array()
|
// Open Logfile and copy loglines into LogLines-Array()
|
||||||
$logLines = array();
|
$logLines = array();
|
||||||
if ($log = fopen(MMDVMLOGPATH."/".MMDVMLOGPREFIX."-".date("Y-m-d").".log", 'r')) {
|
if ($log = fopen(MMDVMLOGPATH."/".MMDVMLOGPREFIX."-".date("Y-m-d").".log", 'r')) {
|
||||||
|
@ -96,6 +108,20 @@ function getLog() {
|
||||||
return $logLines;
|
return $logLines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getYSFGatewayLog() {
|
||||||
|
// Open Logfile and copy loglines into LogLines-Array()
|
||||||
|
$logLines = array();
|
||||||
|
if ($log = fopen(YSFGATEWAYLOGPATH."/".YSFGATEWAYLOGPREFIX."-".date("Y-m-d").".log", 'r')) {
|
||||||
|
while ($logLine = fgets($log)) {
|
||||||
|
if (startsWith($logLine,"D:")) {
|
||||||
|
array_push($logLines, $logLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($log);
|
||||||
|
}
|
||||||
|
return $logLines;
|
||||||
|
}
|
||||||
|
|
||||||
// 00000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122
|
// 00000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122
|
||||||
// 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
|
// 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
|
||||||
// M: 2016-04-29 00:15:00.013 D-Star, received network header from DG9VH /ZEIT to CQCQCQ via DCS002 S
|
// M: 2016-04-29 00:15:00.013 D-Star, received network header from DG9VH /ZEIT to CQCQCQ via DCS002 S
|
||||||
|
@ -131,8 +157,9 @@ function getHeardList($logLines) {
|
||||||
|
|
||||||
if(strpos($logLine,"end of") || strpos($logLine,"watchdog has expired") || strpos($logLine,"ended RF data") || strpos($logLine,"ended network")) {
|
if(strpos($logLine,"end of") || strpos($logLine,"watchdog has expired") || strpos($logLine,"ended RF data") || strpos($logLine,"ended network")) {
|
||||||
$lineTokens = explode(", ",$logLine);
|
$lineTokens = explode(", ",$logLine);
|
||||||
|
if (array_key_exists(2,$lineTokens)) {
|
||||||
$duration = strtok($lineTokens[2], " ");
|
$duration = strtok($lineTokens[2], " ");
|
||||||
|
}
|
||||||
if (array_key_exists(3,$lineTokens)) {
|
if (array_key_exists(3,$lineTokens)) {
|
||||||
$loss = $lineTokens[3];
|
$loss = $lineTokens[3];
|
||||||
}
|
}
|
||||||
|
@ -174,11 +201,11 @@ function getHeardList($logLines) {
|
||||||
$ts2loss = $loss;
|
$ts2loss = $loss;
|
||||||
$ts2ber = $ber;
|
$ts2ber = $ber;
|
||||||
break;
|
break;
|
||||||
case "YSF":
|
case "YSF":
|
||||||
$ysfduration = $duration;
|
$ysfduration = $duration;
|
||||||
$ysfloss = $loss;
|
$ysfloss = $loss;
|
||||||
$ysfber = $ber;
|
$ysfber = $ber;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -225,9 +252,7 @@ function getHeardList($logLines) {
|
||||||
$ber = $ysfber;
|
$ber = $ysfber;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ($ber>=10){
|
|
||||||
$ber = "<span class=\"label label-warning\">" .$ber. "</span>";
|
|
||||||
}
|
|
||||||
// Callsign or ID should be less than 11 chars long, otherwise it could be errorneous
|
// Callsign or ID should be less than 11 chars long, otherwise it could be errorneous
|
||||||
if ( strlen($callsign) < 11 ) {
|
if ( strlen($callsign) < 11 ) {
|
||||||
array_push($heardList, array($timestamp, $mode, $callsign, $id, $target, $source, $duration, $loss, $ber));
|
array_push($heardList, array($timestamp, $mode, $callsign, $id, $target, $source, $duration, $loss, $ber));
|
||||||
|
@ -262,9 +287,6 @@ function getLastHeard($logLines) {
|
||||||
|
|
||||||
function getActualMode($metaLastHeard, $mmdvmconfigs) {
|
function getActualMode($metaLastHeard, $mmdvmconfigs) {
|
||||||
// returns mode of repeater actual working in
|
// returns mode of repeater actual working in
|
||||||
//$lastHeard = $metaLastHeard;
|
|
||||||
//array_multisort($lastHeard,SORT_DESC);
|
|
||||||
//$listElem = $lastHeard[0];
|
|
||||||
$listElem = $metaLastHeard[0];
|
$listElem = $metaLastHeard[0];
|
||||||
$timestamp = new DateTime($listElem[0]);
|
$timestamp = new DateTime($listElem[0]);
|
||||||
$mode = $listElem[1];
|
$mode = $listElem[1];
|
||||||
|
@ -344,7 +366,6 @@ function getActualLink($logLines, $mode) {
|
||||||
//M: 2016-05-02 07:04:10.504 D-Star link status set to "Verlinkt zu DCS002 S"
|
//M: 2016-05-02 07:04:10.504 D-Star link status set to "Verlinkt zu DCS002 S"
|
||||||
//M: 2016-04-03 16:16:18.638 DMR Slot 2, received network voice header from 4000 to 2625094
|
//M: 2016-04-03 16:16:18.638 DMR Slot 2, received network voice header from 4000 to 2625094
|
||||||
//M: 2016-04-03 19:30:03.099 DMR Slot 2, received network voice header from 4020 to 2625094
|
//M: 2016-04-03 19:30:03.099 DMR Slot 2, received network voice header from 4020 to 2625094
|
||||||
//array_multisort($logLines,SORT_DESC);
|
|
||||||
switch ($mode) {
|
switch ($mode) {
|
||||||
case "D-Star":
|
case "D-Star":
|
||||||
if (isProcessRunning(IRCDDBGATEWAY)) {
|
if (isProcessRunning(IRCDDBGATEWAY)) {
|
||||||
|
@ -356,7 +377,7 @@ function getActualLink($logLines, $mode) {
|
||||||
case "DMR Slot 1":
|
case "DMR Slot 1":
|
||||||
foreach ($logLines as $logLine) {
|
foreach ($logLines as $logLine) {
|
||||||
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 1") {
|
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 1") {
|
||||||
$to = "";
|
$to = "";
|
||||||
if (strpos($logLine,"to")) {
|
if (strpos($logLine,"to")) {
|
||||||
$to = trim(substr($logLine, strpos($logLine,"to") + 3));
|
$to = trim(substr($logLine, strpos($logLine,"to") + 3));
|
||||||
}
|
}
|
||||||
|
@ -370,7 +391,7 @@ function getActualLink($logLines, $mode) {
|
||||||
case "DMR Slot 2":
|
case "DMR Slot 2":
|
||||||
foreach ($logLines as $logLine) {
|
foreach ($logLines as $logLine) {
|
||||||
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") {
|
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") {
|
||||||
$to = "";
|
$to = "";
|
||||||
if (strpos($logLine,"to")) {
|
if (strpos($logLine,"to")) {
|
||||||
$to = trim(substr($logLine, strpos($logLine,"to") + 3));
|
$to = trim(substr($logLine, strpos($logLine,"to") + 3));
|
||||||
}
|
}
|
||||||
|
@ -393,8 +414,8 @@ function getActualReflector($logLines, $mode) {
|
||||||
//array_multisort($logLines,SORT_DESC);
|
//array_multisort($logLines,SORT_DESC);
|
||||||
|
|
||||||
foreach ($logLines as $logLine) {
|
foreach ($logLines as $logLine) {
|
||||||
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") {
|
if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") {
|
||||||
$from = substr($logLine, strpos($logLine,"from") + 5, strpos($logLine,"to") - strpos($logLine,"from") - 6);
|
$from = substr($logLine, strpos($logLine,"from") + 5, strpos($logLine,"to") - strpos($logLine,"from") - 6);
|
||||||
|
|
||||||
if (strlen($from) == 4 && startsWith($from,"4")) {
|
if (strlen($from) == 4 && startsWith($from,"4")) {
|
||||||
if ($from == "4000") {
|
if ($from == "4000") {
|
||||||
|
@ -403,15 +424,49 @@ function getActualReflector($logLines, $mode) {
|
||||||
return "Reflector ".$from;
|
return "Reflector ".$from;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "Reflector not linked";
|
return "Reflector not linked";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getActiveYSFReflectors($logLines) {
|
||||||
|
// 00000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122
|
||||||
|
// 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
|
||||||
|
// D: 2016-06-11 19:09:31.371 Have reflector status reply from 89164/FUSIONBE2 /FusionBelgium /002
|
||||||
|
$reflectors = Array();
|
||||||
|
$reflectorlist = Array();
|
||||||
|
foreach ($logLines as $logLine) {
|
||||||
|
if (strpos($logLine, "Have reflector status reply from")) {
|
||||||
|
$timestamp = substr($logLine, 3, 19);
|
||||||
|
$timestamp2 = new DateTime($timestamp);
|
||||||
|
$now = new DateTime();
|
||||||
|
$timestamp2->add(new DateInterval('PT2H'));
|
||||||
|
|
||||||
|
if ($now->format('U') <= $timestamp2->format('U')) {
|
||||||
|
$str = substr($logLine, 60);
|
||||||
|
$id = strtok($str, "/");
|
||||||
|
$name = strtok("/");
|
||||||
|
$description = strtok("/");
|
||||||
|
$concount = strtok("/");
|
||||||
|
if(!(array_search($name, $reflectors) > -1)) {
|
||||||
|
array_push($reflectors,$name);
|
||||||
|
array_push($reflectorlist, array($name, $description, $id, $concount, $timestamp));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
array_multisort($reflectorlist);
|
||||||
|
return $reflectorlist;
|
||||||
|
}
|
||||||
|
|
||||||
//Some basic inits
|
//Some basic inits
|
||||||
$mmdvmconfigs = getMMDVMConfig();
|
$mmdvmconfigs = getMMDVMConfig();
|
||||||
$logLines = getLog();
|
$logLinesMMDVM = getMMDVMLog();
|
||||||
$reverseLogLines = $logLines;
|
$reverseLogLinesMMDVM = $logLinesMMDVM;
|
||||||
array_multisort($reverseLogLines,SORT_DESC);
|
array_multisort($reverseLogLinesMMDVM,SORT_DESC);
|
||||||
$lastHeard = getLastHeard($reverseLogLines);
|
$lastHeard = getLastHeard($reverseLogLinesMMDVM);
|
||||||
|
$YSFGatewayconfigs = getYSFGatewayConfig();
|
||||||
|
$logLinesYSFGateway = getYSFGatewayLog();
|
||||||
|
$reverseLogLinesYSFGateway = $logLinesYSFGateway;
|
||||||
|
array_multisort($reverseLogLinesYSFGateway,SORT_DESC);
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in a new issue