Results can now be fetched in json format instead of just an image (results/json.php
This commit is contained in:
parent
8be8aba5ed
commit
3937b940e8
59
results/json.php
Executable file
59
results/json.php
Executable file
|
@ -0,0 +1,59 @@
|
|||
<?php
|
||||
|
||||
require_once 'telemetry_db.php';
|
||||
|
||||
/**
|
||||
* @param int|float $d
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function format($d)
|
||||
{
|
||||
if ($d < 10) {
|
||||
return number_format($d, 2, '.', '');
|
||||
}
|
||||
if ($d < 100) {
|
||||
return number_format($d, 1, '.', '');
|
||||
}
|
||||
|
||||
return number_format($d, 0, '.', '');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $speedtest
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function formatSpeedtestData($speedtest)
|
||||
{
|
||||
// format values for the image
|
||||
$speedtest['dl'] = format($speedtest['dl']);
|
||||
$speedtest['ul'] = format($speedtest['ul']);
|
||||
$speedtest['ping'] = format($speedtest['ping']);
|
||||
$speedtest['jitter'] = format($speedtest['jitter']);
|
||||
$speedtest['timestamp'] = $speedtest['timestamp'];
|
||||
|
||||
$ispinfo = json_decode($speedtest['ispinfo'], true)['processedString'];
|
||||
$dash = strpos($ispinfo, '-');
|
||||
if ($dash !== false) {
|
||||
$ispinfo = substr($ispinfo, $dash + 2);
|
||||
$par = strrpos($ispinfo, '(');
|
||||
if ($par !== false) {
|
||||
$ispinfo = substr($ispinfo, 0, $par);
|
||||
}
|
||||
} else {
|
||||
$ispinfo = '';
|
||||
}
|
||||
|
||||
$speedtest['ispinfo'] = $ispinfo;
|
||||
|
||||
return $speedtest;
|
||||
}
|
||||
|
||||
$speedtest = getSpeedtestUserById($_GET['id']);
|
||||
if (!is_array($speedtest)) {
|
||||
echo '{}';
|
||||
}
|
||||
$speedtest = formatSpeedtestData($speedtest);
|
||||
|
||||
echo json_encode(array('timestamp'=>$speedtest['timestamp'],'download'=>$speedtest['dl'],'upload'=>$speedtest['ul'],'ping'=>$speedtest['ping'],'jitter'=>$speedtest['jitter'],'ispinfo'=>$speedtest['ispinfo']));
|
Loading…
Reference in a new issue