diff options
| author | marcinzelent <zelent.marcin@gmail.com> | 2017-12-07 12:38:55 +0100 | 
|---|---|---|
| committer | marcinzelent <zelent.marcin@gmail.com> | 2017-12-07 12:38:55 +0100 | 
| commit | 322b79babf45b1bff0d219cfbf10524b975075fd (patch) | |
| tree | 8c446d180439567f628ee55e635daa54503d3702 /src/AppBundle | |
| parent | 8ca07955ad080f97713bdd6304cea6117be1bc52 (diff) | |
Split all data and data from last week, moved chart to the right side of the page.
Diffstat (limited to 'src/AppBundle')
| -rw-r--r-- | src/AppBundle/Controller/AllDataAverageController.php | 68 | ||||
| -rw-r--r-- | src/AppBundle/Controller/AllDataController.php | 7 | ||||
| -rw-r--r-- | src/AppBundle/Controller/LastWeekDataAverageController.php (renamed from src/AppBundle/Controller/LastWeekData.php) | 6 | ||||
| -rw-r--r-- | src/AppBundle/Controller/LastWeekDataController.php | 43 | 
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 |