diff --git a/include/functions.php b/include/functions.php index f718680..711829b 100644 --- a/include/functions.php +++ b/include/functions.php @@ -15,20 +15,32 @@ function getMMDVMHostFileVersion() { // returns creation-time of MMDVMHost as version-number $filename = MMDVMHOSTPATH."/MMDVMHost"; if (file_exists($filename)) { - return date("d M y", filectime($filename)); + return date("d M y", filectime($filename)); } } function getMMDVMConfig() { // loads MMDVM.ini into array for further use - $mmdvmconfigs = array(); + $conf = array(); if ($configs = fopen(MMDVMINIPATH."/".MMDVMINIFILENAME, 'r')) { 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); } - 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) { @@ -76,13 +88,13 @@ function showMode($mode, $mmdvmconfigs) { } } } else { - echo "label-default"; + echo "label-default"; } ?>"> 0 ) { $source = "Net"; } - + switch ($mode) { case "D-Star": $duration = $dstarduration; @@ -225,9 +252,7 @@ function getHeardList($logLines) { $ber = $ysfber; break; } - if ($ber>=10){ - $ber = "" .$ber. ""; - } + // Callsign or ID should be less than 11 chars long, otherwise it could be errorneous if ( strlen($callsign) < 11 ) { array_push($heardList, array($timestamp, $mode, $callsign, $id, $target, $source, $duration, $loss, $ber)); @@ -262,9 +287,6 @@ function getLastHeard($logLines) { function getActualMode($metaLastHeard, $mmdvmconfigs) { // returns mode of repeater actual working in - //$lastHeard = $metaLastHeard; - //array_multisort($lastHeard,SORT_DESC); - //$listElem = $lastHeard[0]; $listElem = $metaLastHeard[0]; $timestamp = new DateTime($listElem[0]); $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-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 - //array_multisort($logLines,SORT_DESC); switch ($mode) { case "D-Star": if (isProcessRunning(IRCDDBGATEWAY)) { @@ -356,7 +377,7 @@ function getActualLink($logLines, $mode) { case "DMR Slot 1": foreach ($logLines as $logLine) { if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 1") { - $to = ""; + $to = ""; if (strpos($logLine,"to")) { $to = trim(substr($logLine, strpos($logLine,"to") + 3)); } @@ -370,7 +391,7 @@ function getActualLink($logLines, $mode) { case "DMR Slot 2": foreach ($logLines as $logLine) { if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") { - $to = ""; + $to = ""; if (strpos($logLine,"to")) { $to = trim(substr($logLine, strpos($logLine,"to") + 3)); } @@ -393,8 +414,8 @@ function getActualReflector($logLines, $mode) { //array_multisort($logLines,SORT_DESC); foreach ($logLines as $logLine) { - if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") { - $from = substr($logLine, strpos($logLine,"from") + 5, strpos($logLine,"to") - strpos($logLine,"from") - 6); + if(substr($logLine, 27, strpos($logLine,",") - 27) == "DMR Slot 2") { + $from = substr($logLine, strpos($logLine,"from") + 5, strpos($logLine,"to") - strpos($logLine,"from") - 6); if (strlen($from) == 4 && startsWith($from,"4")) { if ($from == "4000") { @@ -403,15 +424,49 @@ function getActualReflector($logLines, $mode) { return "Reflector ".$from; } } - } + } } 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 $mmdvmconfigs = getMMDVMConfig(); -$logLines = getLog(); -$reverseLogLines = $logLines; -array_multisort($reverseLogLines,SORT_DESC); -$lastHeard = getLastHeard($reverseLogLines); +$logLinesMMDVM = getMMDVMLog(); +$reverseLogLinesMMDVM = $logLinesMMDVM; +array_multisort($reverseLogLinesMMDVM,SORT_DESC); +$lastHeard = getLastHeard($reverseLogLinesMMDVM); +$YSFGatewayconfigs = getYSFGatewayConfig(); +$logLinesYSFGateway = getYSFGatewayLog(); +$reverseLogLinesYSFGateway = $logLinesYSFGateway; +array_multisort($reverseLogLinesYSFGateway,SORT_DESC); ?>