瀏覽代碼

Results can now be fetched in json format instead of just an image (results/json.php

dosse91 4 年之前
父節點
當前提交
3937b940e8
共有 1 個文件被更改,包括 59 次插入0 次删除
  1. 59 0
      results/json.php

+ 59 - 0
results/json.php

@@ -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']));