mirror of
https://github.com/nostar/urfd.git
synced 2026-11-08 12:26:46 +00:00
Found an issue where timezone could be incorrect in api if server admin changes server timezeone to localtime instead of UTC.
70 lines
2.2 KiB
PHP
70 lines
2.2 KiB
PHP
<?php
|
|
|
|
$Status = (file_exists($Service['PIDFile'])) ? 'up' : 'down';
|
|
|
|
$payload = array(
|
|
'lastupdatechecktime' => date('Y-m-d\TH:i:sp', time()),
|
|
'status' => $Status,
|
|
'uptime' => $Reflector->GetServiceUptime()
|
|
);
|
|
|
|
|
|
/*** add data to payload ***/
|
|
$payload['data'] = array(
|
|
'filetime' => date('Y-m-d\TH:i:sp', filemtime($Service['XMLFile'])),
|
|
'callsign' => str_replace("XLX", "URF", $Reflector->GetReflectorName()),
|
|
'version' => $Reflector->GetVersion()
|
|
);
|
|
|
|
|
|
/*** Add peers to payload ***/
|
|
for ($i=0;$i<$Reflector->PeerCount();$i++) {
|
|
|
|
$payload['data']['peers'][] = array(
|
|
'callsign' => $Reflector->Peers[$i]->GetCallSign(),
|
|
'ip' => $Reflector->Peers[$i]->GetIP(),
|
|
'linkedmodule' => $Reflector->Peers[$i]->GetLinkedModule(),
|
|
'connecttime' => date('Y-m-d\TH:i:sp', $Reflector->Peers[$i]->GetConnectTime()),
|
|
'lastheardtime' => date('Y-m-d\TH:i:sp', $Reflector->Peers[$i]->GetLastHeardTime())
|
|
);
|
|
|
|
}
|
|
|
|
|
|
/*** Add nodes to payload ***/
|
|
for ($i=0;$i<$Reflector->NodeCount();$i++) {
|
|
|
|
// craft payload array
|
|
$payload['data']['nodes'][] = array(
|
|
'callsign' => $Reflector->Nodes[$i]->GetCallSign() . ' ' . $Reflector->Nodes[$i]->GetSuffix(),
|
|
'ip' => $Reflector->Nodes[$i]->GetIP(),
|
|
'linkedmodule' => $Reflector->Nodes[$i]->GetLinkedModule(),
|
|
'protocol' => $Reflector->Nodes[$i]->GetProtocol(),
|
|
'connecttime' => gmdate('Y-m-d\TH:i:sp', $Reflector->Nodes[$i]->GetConnectTime()),
|
|
'lastheardtime' => gmdate('Y-m-d\TH:i:sp', $Reflector->Nodes[$i]->GetLastHeardTime())
|
|
);
|
|
|
|
}
|
|
|
|
|
|
/*** Add stations to payload ***/
|
|
for ($i=0;$i<$Reflector->StationCount();$i++) {
|
|
|
|
// craft payload array
|
|
$payload['data']['stations'][] = array(
|
|
'callsign' => $Reflector->Stations[$i]->GetCallSign(),
|
|
'vianode' => $Reflector->Stations[$i]->GetVia(),
|
|
'onmodule' => $Reflector->Stations[$i]->GetModule(),
|
|
'viapeer' => $Reflector->Stations[$i]->GetPeer(),
|
|
'lastheardtime' => gmdate('Y-m-d\TH:i:sp', $Reflector->Stations[$i]->GetLastHeardTime())
|
|
);
|
|
|
|
}
|
|
|
|
|
|
// json encode payload array
|
|
$records = json_encode($payload);
|
|
|
|
echo $records;
|
|
|
|
?>
|