/**
  * 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;
     }
 }