/**
  * @param String $fileName
  * @param \Translate\Translate $translation
  */
 public function __construct($fileName, $translation = null)
 {
     $this->fileName = dirname(__FILE__) . '/../../templates/' . $fileName;
     $this->load();
     $this->translation = $translation;
     if (empty($this->translation)) {
         $this->translation = TranslateController::getDefault();
     }
     return true;
 }
 /**
  * render average temperature chart head for google charts
  * @return string
  */
 public function chartHead()
 {
     $t = \Translate\Controller::getDefault();
     $oTemplate = new Templater('chartHead.html');
     /**
      * Data from OpenWeatherMap.org
      */
     $oOpenWeatherMap = new \Model\OpenWeatherMap();
     $aHistory = $oOpenWeatherMap->getHourAggregate(168, "ASC");
     $oChartHourPressure = new \General\GoogleChart();
     $oChartHourPressure->setTitle($t->get('Pressure') . " [hPa]");
     $oChartHourPressure->setDomID('chartHourPressure');
     $oChartHourPressure->add('Hour', array());
     $oChartHourPressure->add('Min', array());
     foreach ($aHistory as $oReadout) {
         $oChartHourPressure->push('Hour', Formater::formatTime($oReadout['Date']));
         $oChartHourPressure->push('Min', number_format($oReadout['MinPressure'], 2, '.', ''));
     }
     $oTemplate->add('chartHourPressure', $oChartHourPressure->getHead());
     $oChartHourWindSpeed = new \General\GoogleChart();
     $oChartHourWindSpeed->setTitle($t->get('Wind speed') . " [m/s]");
     $oChartHourWindSpeed->setDomID('chartHourWindSpeed');
     $oChartHourWindSpeed->add('Hour', array());
     $oChartHourWindSpeed->add('Min', array());
     foreach ($aHistory as $oReadout) {
         $oChartHourWindSpeed->push('Hour', Formater::formatTime($oReadout['Date']));
         $oChartHourWindSpeed->push('Min', number_format($oReadout['WindSpeed'], 2, '.', ''));
     }
     $oTemplate->add('chartHourWindSpeed', $oChartHourWindSpeed->getHead());
     /*
      * Hour Aggregate charts
      */
     $aHistory = $this->model->getHourAggregate(168, "ASC");
     $oChartHourTemperature = new \General\GoogleChart();
     $oChartHourTemperature->setTitle($t->get('Temperature') . " [C]");
     $oChartHourTemperature->setDomID('chartHourTemperature');
     $oChartHourTemperature->add('Hour', array());
     $oChartHourTemperature->add('Avg', array());
     $oChartHourHumidity = new \General\GoogleChart();
     $oChartHourHumidity->setTitle($t->get('Humidity') . " [%]");
     $oChartHourHumidity->setDomID('chartHourHumidity');
     $oChartHourHumidity->add('Hour', array());
     $oChartHourHumidity->add('Avg', array());
     foreach ($aHistory as $oReadout) {
         $oChartHourTemperature->push('Hour', Formater::formatTime($oReadout['Date']));
         $oChartHourTemperature->push('Avg', number_format($oReadout['Temperature'], 2));
         $oChartHourHumidity->push('Hour', Formater::formatTime($oReadout['Date']));
         $oChartHourHumidity->push('Avg', number_format($oReadout['Humidity'], 2));
     }
     $oTemplate->add('chartHourTemperature', $oChartHourTemperature->getHead());
     $oTemplate->add('chartHourHumidity', $oChartHourHumidity->getHead());
     return (string) $oTemplate;
 }
 /**
  * Zamiana bool na ciąg Tak/Nie
  * @param boolean $in
  * @return string
  */
 public static function parseYesNo($in)
 {
     if (empty($in)) {
         return \Translate\Controller::getDefault()->get('Nie');
     } else {
         return \Translate\Controller::getDefault()->get('Tak');
     }
 }
Example #4
0
 /**
  * render average temperature chart head for google charts
  * @return string
  */
 public function chartHead()
 {
     $t = \Translate\Controller::getDefault();
     $oTemplate = new Templater('history-chartHead.html');
     $oChartDailyPressure = new \General\GoogleChart();
     $oChartDailyPressure->setTitle($t->get('Pressure'));
     $oChartDailyPressure->setDomID('chartDailyPressure');
     $oChartDailyPressure->add('Hour', array());
     $oChartDailyPressure->add('Avg', array());
     $oChartDailyPressure->add('Max', array());
     $oChartDailyPressure->add('Min', array());
     foreach ($this->externalData as $oReadout) {
         $oChartDailyPressure->push('Hour', Formater::formatDate($oReadout['Date']));
         $oChartDailyPressure->push('Avg', number_format($oReadout['Pressure'], 2, '.', ''));
         $oChartDailyPressure->push('Max', number_format($oReadout['MaxPressure'], 2, '.', ''));
         $oChartDailyPressure->push('Min', number_format($oReadout['MinPressure'], 2, '.', ''));
     }
     $oTemplate->add('chartDailyPressure', $oChartDailyPressure->getHead());
     /*
      * Day aggregate charts
      */
     $oChartDailyTemperature = new \General\GoogleChart();
     $oChartDailyTemperature->setTitle($t->get('Temperature'));
     $oChartDailyTemperature->setDomID('chartDailyTemperature');
     $oChartDailyTemperature->add('Day', array());
     $oChartDailyTemperature->add('Avg', array());
     $oChartDailyTemperature->add('Max', array());
     $oChartDailyTemperature->add('Min', array());
     $oChartDailyHumidity = new \General\GoogleChart();
     $oChartDailyHumidity->setTitle($t->get('Humidity'));
     $oChartDailyHumidity->setDomID('chartDailyHumidity');
     $oChartDailyHumidity->add('Day', array());
     $oChartDailyHumidity->add('Avg', array());
     $oChartDailyHumidity->add('Min', array());
     foreach ($this->internalData as $oReadout) {
         $oChartDailyTemperature->push('Day', Formater::formatDate($oReadout['Date']));
         $oChartDailyTemperature->push('Avg', number_format($oReadout['Temperature'], 2));
         $oChartDailyTemperature->push('Max', number_format($oReadout['MaxTemperature'], 2));
         $oChartDailyTemperature->push('Min', number_format($oReadout['MinTemperature'], 2));
         $oChartDailyHumidity->push('Day', Formater::formatDate($oReadout['Date']));
         $oChartDailyHumidity->push('Avg', number_format($oReadout['Humidity'], 2));
         $oChartDailyHumidity->push('Min', number_format($oReadout['MinHumidity'], 2));
     }
     $oTemplate->add('chartDailyTemperature', $oChartDailyTemperature->getHead());
     $oTemplate->add('chartDailyHumidity', $oChartDailyHumidity->getHead());
     return (string) $oTemplate;
 }