<?php/** * Created by PhpStorm. * User: marcin * Date: 01/12/17 * Time: 10:47 */namespaceAppBundle\Utils;useSensio\Bundle\FrameworkExtraBundle\Configuration\Route;useSymfony\Bundle\FrameworkBundle\Controller\Controller;useAppBundle\Utils\Aqi;useSwift_SmtpTransport;useSwift_Mailer;useSwift_Message;classEmailSenderextendsController{publicfunctionmain(){$data=$this->getData();if(160>=151)$this->sendEmail($data);sleep(3600);}publicfunctiongetData(){$table=array('Co'=>array('breakpoints'=>[0,4.4,4.5,9.4,9.5,12.4,12.5,15.4,15.5,30.4,30.5,40.4,40.5,50.4],'aq'=>[0,50,51,100,101,150,151,200,201,300,301,400,401,500]),'So'=>array('breakpoints'=>[0.000,0.034,0.035,0.144,0.145,0.224,0.225,0.304,0.305,0.604,0.605,0.804,0.805,1.004],'aq'=>[0,50,51,100,101,150,151,200,201,300,301,400,401,500]),'No'=>array('breakpoints'=>[0,0.05,0.08,0.10,0.15,0.20,0.25,0.31,0.65,1.24,1.25,1.64,1.65,2.04],'aq'=>[0,50,51,100,101,150,151,200,201,300,301,400,401,500]));$tableObj=json_decode(json_encode($table));// Get cURL resource$curl=curl_init();curl_setopt($curl,CURLOPT_URL,"https://pollutometerapi.azurewebsites.net/api/Readings/latest");curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-type: application/json'));// Assuming you're requesting JSONcurl_setopt($curl,CURLOPT_RETURNTRANSFER,1);// Send the request & save response to $resp$resp=curl_exec($curl);// Close request to clear up some resourcescurl_close($curl);$data=json_decode($resp,true);$data['TimeStamp']=gmdate("l jS \of F Y h:i:s A",$data['TimeStamp']);$aqi=newAqi();$arr=[];$CO=is_nan($aqi->calculateAQI("Co",$data['Co'],$tableObj))?0:$aqi->calculateAQI("Co",$data['Co'],$tableObj);$SO=is_nan($aqi->calculateAQI("So",$data['So'],$tableObj))?0:$aqi->calculateAQI("So",$data['So'],$tableObj);$NO=is_nan($aqi->calculateAQI("No",$data['No'],$tableObj))?0:$aqi->calculateAQI("No",$data['No'],$tableObj);array_push($arr,$CO,$SO,$NO);$max=max($arr);$data['Aqi']=$max;return$data;}publicfunctionsendEmail(array$data){// Create the Transport$transport=(newSwift_SmtpTransport('mail.cock.li',465,'ssl'))->setUsername('***REMOVED***')->setPassword('***REMOVED***');// Create the Mailer using your created Transport$mailer=newSwift_Mailer($transport);// Create a message$message=(newSwift_Message('Pollutometer warning '.date('d/m/Y h:i:s')))->setFrom(['***REMOVED***'=>'Pollutometer'])->setTo(['***REMOVED***@edu.easj.dk'=>'A name'])->setBody($this->renderView('emails/warning.html.twig',$data),'text/html');// Send the message$result=$mailer->send($message);}}