= 60 ) { // in minutes $minutes = intval( $uptime / 60 ); $seconds = $uptime % 60; if( $minutes >= 60 ) { $hours = intval( $minutes / 60 ); $minutes = $minutes % 60; if( $hours >= 24 ) { $days = intval( $hours / 24 ); $hours = $hours % 24; $out = "$days days $hours hours $minutes minutes and $seconds seconds"; } else { // no days, only hours minutes and seconds $out = "$hours hours $minutes minutes and $seconds seconds"; } } else { // mintes < 60 only minuts, hours $out = "$minutes minutes and $seconds seconds"; } } else { // only seconds $out = "$uptime seconds"; } return $out; } function linkCallsign( $callsign ) { $tmp = explode( "-", $callsign ); $call = $tmp[0]; $suffix = $tmp[1]; if( !empty( $suffix )) { $suffix="-$suffix"; } if( !is_numeric( $call )) { $call = "$call" . "$suffix"; } elseif( strlen( $call ) == 7 ) { $call = "$call"; } return $call; } function rssiCalc( $val ) { if( $val > -53 ) $rssi = "S9+40dB"; else if( $val > -63 ) $rssi = "S9+30dB"; else if( $val > -73 ) $rssi = "S9+20dB"; else if( $val > -83 ) $rssi = "S9+10dB"; else if( $val > -93 ) $rssi = "S9"; else if( $val > -99 ) $rssi = "S8"; else if( $val > -105 ) $rssi = "S7"; else if( $val > -111 ) $rssi = "S6"; else if( $val > -117 ) $rssi = "S5"; else if( $val > -123 ) $rssi = "S4"; else if( $val > -129 ) $rssi = "S3"; else if( $val > -135 ) $rssi = "S2"; else if( $val > -141 ) $rssi = "S1"; return "$rssi ($val dBm)"; } function printTable( $time, $callsign, $dgid, $duration, $repeater, $loss = "---", $ber = "---" ) { if( $duration >= 60 ) { $min = str_pad( intval( $duration / 60 ), 2, "0", STR_PAD_LEFT ); $sec = str_pad( $duration % 60, 2, "0", STR_PAD_LEFT ); $duration = "$min:$sec"; } else { $duration = "00:" . str_pad( $duration, 2, "0", STR_PAD_LEFT ); } echo "
\$callsign: $callsign at \$dgid: $dgid\n\$old_time: ".date("Y-m-d H:i:s", $old_time ).
// "\n\$new_time: ".date("Y-m-d H:i:s", $new_time )."
\n";
// $duration = intval(( $new_time - $old_time )) . ".0";
$duration = intval(( $new_time - $old_time ));
$repeater = substr( $oldline, strpos( $oldline, "at " ) + 3, strpos( $oldline, " ", strpos( $oldline, "at " ) + 3) - strpos( $oldline, "at " ) + 3 );
$loss = substr( $line, 75, strpos( $line, "%", 75 ) - 74 );
if( $loss == "0%" ) {
$loss = "-x-";
}
$ber = substr( $line, 96, strpos( $line, "%", 96 ) - 95 );
if( $ber == "0.0%" ) $ber = "-x-";
} else {
continue;
}
// echo "\$callsign: $callsign at \$dgid: $dgid\n\$old_time: ".date("Y-m-d H:i:s", $old_time ).
// "\n\$new_time: ".date("Y-m-d H:i:s", $new_time )."
\n";
// echo "OLD LINE: $oldline\nLINE: $line\n
\n";
$tmp = [];
$tmp['time'] = $time;
$tmp['callsign'] = $callsign;
$tmp['dgid'] = $dgid;
$tmp['duration'] = $duration;
$tmp['repeater'] = $repeater;
$tmp['loss'] = $loss;
$tmp['ber'] = $ber;
array_unshift( $printLines, $tmp );
unset( $tmp );
// Lastly we set $oldline as the actual line
$oldline = $line;
}
$c = 0;
foreach( $printLines as $key=>$line ) {
printTable(
$line['time'],
$line['callsign'],
$line['dgid'],
$line['duration'],
$line['repeater'],
$line['loss'],
$line['ber']
);
if( ++$c >= MAXENTRIES ) break;
} // end foreach $printLines
} // end function
function printLogs($limit = MAXLOGENTRIES) {
$logPath = LOGPATH."/*-".gmdate("Y-m-d").".log";
$logLines = explode("\n", `tail -n $limit $logPath`);
echo "\n\n\n";
foreach( $logLines as $line ) {
if ( substr( $line, 0, 4) == "==> " ) {
echo "$line\n";
} else {
echo "$line\n";
}
}
echo "\n