aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/AppBundle')
-rw-r--r--src/AppBundle/Controller/AllDataAverageController.php68
-rw-r--r--src/AppBundle/Controller/AllDataController.php7
-rw-r--r--src/AppBundle/Controller/LastWeekDataAverageController.php (renamed from src/AppBundle/Controller/LastWeekData.php)6
-rw-r--r--src/AppBundle/Controller/LastWeekDataController.php43
4 files changed, 117 insertions, 7 deletions
diff --git a/src/AppBundle/Controller/AllDataAverageController.php b/src/AppBundle/Controller/AllDataAverageController.php
new file mode 100644
index 0000000..439058a
--- /dev/null
+++ b/src/AppBundle/Controller/AllDataAverageController.php
@@ -0,0 +1,68 @@
+<?php
+namespace AppBundle\Controller;
+
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+
+
+class AllDataAverageController extends Controller
+{
+ /**
+ * @Route("/AllDataAverage", name="AllDataAverage")
+ */
+
+ public function GetAllDataAverage()
+ {
+ // Get cURL resource
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_URL, "https://pollutometerapi.azurewebsites.net/api/Readings");
+ curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json')); // Assuming you're requesting JSON
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ // Send the request & save response to $resp
+ $resp = curl_exec($curl);
+ // Close request to clear up some resources
+ curl_close($curl);
+
+ $data = json_decode($resp, true);
+
+ $readings = array();
+
+
+ foreach($data as $index => $item)
+ {
+ $data[$index]['TimeStamp'] = gmdate('d F l', $item['TimeStamp']);
+ $readings[$data[$index]['TimeStamp']][] = $data[$index];
+ }
+
+ $gasAverage = array('Co' => 0, 'No' => 0, 'So' => 0);
+ foreach($readings as $key => $item)
+ {
+ foreach($readings[$key] as $index => $values)
+ {
+
+ $gasAverage['Co'] += $readings[$key][$index]['Co'];
+ $gasAverage['No'] += $readings[$key][$index]['No'];
+ $gasAverage['So'] += $readings[$key][$index]['So'];
+
+ if($index === count($readings[$key]) - 1)
+ {
+ $gasAverage['Co'] /= $index + 1;
+ $gasAverage['No'] /= $index + 1;
+ $gasAverage['So'] /= $index + 1;
+ }
+ }
+
+ $readings[$key] = $gasAverage;
+
+ }
+
+
+ $data = json_encode($readings);
+
+
+ $response = new Response($data);
+ $response->headers->set('Content-Type', 'application/json');
+ return $response;
+ }
+} \ No newline at end of file
diff --git a/src/AppBundle/Controller/AllDataController.php b/src/AppBundle/Controller/AllDataController.php
index 86ec7c5..b45d2c9 100644
--- a/src/AppBundle/Controller/AllDataController.php
+++ b/src/AppBundle/Controller/AllDataController.php
@@ -2,21 +2,20 @@
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
-use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class AllDataController extends Controller
{
/**
- * @Route("/AllDataReadings", name="AllData")
+ * @Route("/AllData", name="AllData")
*/
public function GetAllData()
{
// Get cURL resource
$curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, "https://pollutometerapi.azurewebsites.net/api/Readings/lastweek");
+ curl_setopt($curl, CURLOPT_URL, "https://pollutometerapi.azurewebsites.net/api/Readings");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json')); // Assuming you're requesting JSON
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Send the request & save response to $resp
@@ -38,7 +37,7 @@ class AllDataController extends Controller
$parametersToTwig = array("data" => $data);
- return $this->render('default/AllDataPage.html.twig',$parametersToTwig);
+ return $this->render('default/AllData.html.twig',$parametersToTwig);
}
} \ No newline at end of file
diff --git a/src/AppBundle/Controller/LastWeekData.php b/src/AppBundle/Controller/LastWeekDataAverageController.php
index 24086c8..fe30fd4 100644
--- a/src/AppBundle/Controller/LastWeekData.php
+++ b/src/AppBundle/Controller/LastWeekDataAverageController.php
@@ -6,13 +6,13 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
-class LastWeekData extends Controller
+class LastWeekDataAverageController extends Controller
{
/**
- * @Route("/lastweek", name="LastWeek")
+ * @Route("/LastWeekDataAverage", name="LastWeekDataAverage")
*/
- public function GetLastWeekData()
+ public function GetLastWeekAverageData()
{
// Get cURL resource
$curl = curl_init();
diff --git a/src/AppBundle/Controller/LastWeekDataController.php b/src/AppBundle/Controller/LastWeekDataController.php
new file mode 100644
index 0000000..f77a751
--- /dev/null
+++ b/src/AppBundle/Controller/LastWeekDataController.php
@@ -0,0 +1,43 @@
+<?php
+namespace AppBundle\Controller;
+
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
+use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+
+
+class LastWeekDataController extends Controller
+{
+ /**
+ * @Route("/LastWeekData", name="LastWeekData")
+ */
+
+ public function GetAllData()
+ {
+ // Get cURL resource
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_URL, "https://pollutometerapi.azurewebsites.net/api/Readings/lastweek");
+ curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json')); // Assuming you're requesting JSON
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ // Send the request & save response to $resp
+ $resp = curl_exec($curl);
+ // Close request to clear up some resources
+ curl_close($curl);
+
+ $data = json_decode($resp, true);
+
+
+ usort($data, function($a,$b){
+ return $a['TimeStamp'] - $b['TimeStamp'];
+ });
+
+ foreach($data as $index => $item)
+ {
+ $data[$index]['TimeStamp'] = gmdate("l jS \of F Y h:i:s A", $item['TimeStamp']);
+ }
+
+ $parametersToTwig = array("data" => $data);
+
+ return $this->render('default/LastWeekData.html.twig',$parametersToTwig);
+
+ }
+} \ No newline at end of file