diff options
| author | marwolaethblack <a.unal677@gmail.com> | 2017-12-04 12:29:01 +0100 | 
|---|---|---|
| committer | marwolaethblack <a.unal677@gmail.com> | 2017-12-04 12:29:01 +0100 | 
| commit | 28f9bff968d0147eb9406a468e232a5e4cc06467 (patch) | |
| tree | e79289fbd7ee4fa6d5280b9328101a1954885c58 /src/AppBundle/Controller | |
| parent | 074799d1471df407663931d6654847fa38484a3e (diff) | |
sort data by day, add lien chart with data from last week
Diffstat (limited to 'src/AppBundle/Controller')
| -rw-r--r-- | src/AppBundle/Controller/LastWeekData.php | 72 | 
1 files changed, 72 insertions, 0 deletions
| diff --git a/src/AppBundle/Controller/LastWeekData.php b/src/AppBundle/Controller/LastWeekData.php new file mode 100644 index 0000000..24086c8 --- /dev/null +++ b/src/AppBundle/Controller/LastWeekData.php @@ -0,0 +1,72 @@ +<?php +namespace AppBundle\Controller; + +use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Bundle\FrameworkBundle\Controller\Controller; + + +class LastWeekData extends Controller +{ +    /** +     * @Route("/lastweek", name="LastWeek") +     */ + +    public function GetLastWeekData() +    { +        // 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); + +        $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 |