/**
  * Generate the module
  */
 protected function compile()
 {
     $parameters = deserialize($this->airquality_parameters);
     $size = deserialize($this->chartSize);
     $this->Template->width = $size[0];
     $this->Template->height = $size[1];
     $objAirQualityCity = \AirQualityCityModel::findByAlias(\Input::get('items'));
     $this->Template->city = $objAirQualityCity->title;
     $this->Template->date = \Date::parse('l j F Y');
     $this->Template->source = $objAirQualityCity->source;
     $objAirQualityStaions = \AirQualityStationModel::findByPid($objAirQualityCity->id);
     // No stations found
     if ($objAirQualityStaions === null) {
         $this->Template = new \FrontendTemplate('mod_airquality_empty');
         $this->Template->empty = $GLOBALS['TL_LANG']['MSC']['emptyAirQuality'];
     } else {
         $arrAirQuality = array();
         $arrCityMaxAQI = array(parameter => '', value => 0, color => '', level => '');
         foreach ($objAirQualityStaions as $objStation) {
             $objAirQualityData = \AirQualityDataModel::findByPidAndToday($objStation->id);
             if ($objAirQualityData !== null) {
                 $aqi = new \AirQuality($objAirQualityData);
                 $aqis = $aqi->AirQualityIndexes;
                 $maxaqi = $aqi->AirQualityIndex;
                 $arrAirQuality = array('station' => $objStation->title, 'date' => \Date::parse('l j F', $objAirQualityData->date), 'aqi' => $aqis, 'maxaqi' => $maxaqi);
                 $objTemplate = new \FrontendTemplate($this->chartTemplate);
                 $size = deserialize($this->chartSize);
                 $objTemplate->width = $size[0];
                 $objTemplate->height = $size[1];
                 $objTemplate->title = $objStation->title;
                 $objTemplate->alias = $objStation->alias;
                 $objTemplate->id = uniqid('chart_');
                 $objTemplate->labels = '"PM2.5","PM10","CO","NO2","SO2","O3"';
                 $objTemplate->data = $arrAirQuality;
                 $arrAirQualityCharts[] = $objTemplate->parse();
                 if ($arrCityMaxAQI[value] < $maxaqi[value]) {
                     $arrCityMaxAQI = $maxaqi;
                 }
             }
         }
         $this->Template->citymaxaqi = $arrCityMaxAQI;
         if ($arrAirQualityCharts) {
             $this->Template->airqualitycharts = $arrAirQualityCharts;
         } else {
             $this->Template = new \FrontendTemplate('mod_airquality_empty');
             $this->Template->empty = $GLOBALS['TL_LANG']['MSC']['emptyAirQuality'];
         }
         $arrAirQualityAll = array();
         foreach ($objAirQualityStaions as $objStation) {
             $objAirQualityData = \AirQualityDataModel::findByPid($objStation->id, 30, 1);
             while ($objAirQualityData->next()) {
                 $aqi = new \AirQuality($objAirQualityData);
                 $arrAirQualityAll[$objStation->title][\Date::parse('m/d', $objAirQualityData->date)] = $aqi->AirQualityIndexes;
             }
         }
         $this->Template->allaqi = $arrAirQualityAll;
     }
 }
 /**
  * Generate the module
  */
 protected function compile()
 {
     $this->Template->emptyAirQuality = $GLOBALS['TL_LANG']['MSC']['emptyAirQuality'];
     // Generate a jumpTo link
     if ($this->jumpTo > 0) {
         $objJump = \PageModel::findByPk($this->jumpTo);
         if ($objJump !== null) {
             $strLink = $this->generateFrontendUrl($objJump->row(), $GLOBALS['TL_CONFIG']['useAutoItem'] ? '/%s' : '/items/%s');
         }
     }
     $parameters = deserialize($this->airquality_parameters);
     $objAirQualityCity = \AirQualityCityModel::findById($this->airquality_city);
     $this->Template->city = $objAirQualityCity->title;
     $this->Template->source = $objAirQualityCity->source;
     $this->Template->date = \Date::parse('l j F');
     $this->Template->link = strlen($strLink) ? sprintf($strLink, $objAirQualityCity->alias) : '';
     $objAirQualityStaions = \AirQualityStationModel::findByPid($this->airquality_city);
     // No stations found
     if ($objAirQualityStaions === null) {
         retuen;
     }
     $arrAirQuality = array();
     $arrCityMaxAQI = array(parameter => '', value => 0, color => '', level => '');
     foreach ($objAirQualityStaions as $objStation) {
         $objAirQualityData = \AirQualityDataModel::findByPidAndToday($objStation->id);
         if ($objAirQualityData !== null) {
             $aqis = deserialize($objAirQualityData->AQI_ALL);
             $maxaqi = deserialize($objAirQualityData->AQI_MAX);
             $arrAirQuality = array('station' => $objStation->title, 'date' => \Date::parse('l j F', $objAirQualityData->date), 'aqi' => $aqis, 'maxaqi' => $maxaqi);
             $objTemplate = new \FrontendTemplate($this->chartTemplate);
             $size = deserialize($this->chartSize);
             $objTemplate->width = $size[0];
             $objTemplate->height = $size[1];
             $objTemplate->title = $objStation->title;
             $objTemplate->alias = $objStation->alias;
             $objTemplate->id = uniqid('chart_');
             $objTemplate->labels = '"PM2.5","PM10","CO","NO2","SO2","O3"';
             $objTemplate->data = $arrAirQuality;
             $arrAirQualityCharts[] = $objTemplate->parse();
             if ($arrCityMaxAQI[value] < $maxaqi[value]) {
                 $arrCityMaxAQI = $maxaqi;
             }
         }
         $this->Template->citymaxaqi = $arrCityMaxAQI;
         $this->Template->airqualitycharts = $arrAirQualityCharts;
     }
 }