Jacek Kowalski
2012-08-29 befc460353c67201fd1322b5421edd3349ee730e
modules/30_pogoda/handler.php
@@ -2,7 +2,7 @@
require_once(dirname(__FILE__).'/api_geonames.php');
require_once(dirname(__FILE__).'/api_yrno.php');
class bot_pogoda_module extends BotModule {
class bot_pogoda_module implements BotModule {
   function pogoda($msg, $params) {
      $arg = trim($msg->args);
      
@@ -71,15 +71,16 @@
         return new BotMsg('Nie udało się pobrać danych o pogodzie - spróbuj ponownie za około 10 minut.');
      }
      
      $out->a('<p>Pogoda dla '.htmlspecialchars($loc->name).', '.htmlspecialchars($loc->countryName).'.</p>'."\n\n");
      $out->a('<p>Pogoda dla '.htmlspecialchars($loc['name']).', '.htmlspecialchars($loc['countryName']).'.</p>'."\n\n");
      
      $icon = $api->symbols[$api->getCurrentIcon()];
      $icon = (int)$api->getCurrentIcon();
      $weather = $api->getCurrentWeather();
      
      $out->a('<p><b>Teraz</b><br />'."\n"
         . $icon.'<br />'."\n"
         . '<img src="./data/pogoda/'.$icon.'.png" /><br />'."\n"
         . api_yrno_parse::$symbols[$icon].'<br />'."\n"
         . 'Temp.: '.htmlspecialchars($weather['temp']).'°C<br />'."\n"
         . 'Wiatr: '.htmlspecialchars($weather['wind']).' km/h, '.$api->wind($weather['wind']).'<br />'."\n"
         . 'Wiatr: '.htmlspecialchars($weather['wind_speed']).' km/h, '.api_yrno_parse::wind($weather['wind_dir']).'<br />'."\n"
         . 'Ciśnienie: '.htmlspecialchars($weather['pressure']).' hPa</p>'."\n\n");
      
      $when = time();
@@ -98,16 +99,28 @@
      return $out;
   }
   
   function getHTMLforRange($data) {
      return htmlspecialchars($data['from'].($data['from'] != $data['to'] ? '-'.$data['to'] : ''));
   }
   function getHTMLforWeather($name, $icons, $weather) {
      $html = '<p><b>'.$name.'</b><br />'."\n";
      $desc = array();
      $curr = 0;
      foreach($icons as $icon) {
         if(is_file('./data/pogoda/'.htmlspecialchars($icon).'.png')) {
            $html .= '<img src="./data/pogoda/'.htmlspecialchars($icon).'.png" alt="" /> ';
         $icon = (int)$icon;
         if(is_file('./data/pogoda/'.$icon.'.png')) {
            $html .= '<img src="./data/pogoda/'.$icon.'.png" alt="" /> ';
            if($icon != $curr) {
               $desc[] = api_yrno_parse::$symbols[$icon];
               $curr = $icon;
            }
         }
      }
      $html .= '<br />'."\n"
         . 'Temp.: '.$weather['temp']['from'].($weather['temp']['from'] != $weather['temp']['to'] ? '-'.$weather['temp']['to'] : '').'°C<br />'."\n"
         . 'Wiatr: '.$weather['wind']['from'].($weather['wind']['from'] != $weather['wind']['to'] ? '-'.$weather['wind']['to'] : '').' km/h</p>'."\n\n";
         . implode(' / ', $desc).'<br />'."\n"
         . 'Temp.: '.$this->getHTMLforRange($weather['temp']['day']).'°C (w nocy: '.$this->getHTMLforRange($weather['temp']['night']).'°C)<br />'."\n"
         . 'Wiatr: '.$this->getHTMLforRange($weather['wind']['day']).' km/h (w nocy: '.$this->getHTMLforRange($weather['wind']['night']).' km/h)</p>'."\n\n";
      
      return $html;
   }