5 files modified
66 ■■■■ changed files
class/BotPull.php 2 ●●● patch | view | raw | blame | history
modules/10_data/handler.php 20 ●●●● patch | view | raw | blame | history
modules/30_pogoda/api_yrno.php 20 ●●●● patch | view | raw | blame | history
modules/30_pogoda/handler.php 6 ●●●●● patch | view | raw | blame | history
modules/70_kino/handler.php 18 ●●●●● patch | view | raw | blame | history
class/BotPull.php
@@ -130,7 +130,7 @@
            foreach($data as $func) {
                if(!is_file(BOT_TOPDIR.$func['dir'].$func['file'])) {
                    $st = $this->PDO->prepare('DELETE FROM functions WHERE dir=? AND file=?');
                    $st->excecute(array($func['dir'], $func['file']));
                    $st->execute(array($func['dir'], $func['file']));
                    continue;
                }
                
modules/10_data/handler.php
@@ -1,4 +1,6 @@
<?php
@date_default_timezone_set('Europe/Warsaw');
class bot_data_module implements BotModule {
    static $dni = array(
        'niedziela',
@@ -29,9 +31,7 @@
        
        if(empty($arg)) {
            $data = time();
        }
        else
        {
        } else {
            $data = calendar::parse_date($arg);
            if(!$data) {
                return new BotMsg('Podana data nie została rozpoznana<br />'."\n"
@@ -45,23 +45,21 @@
        
        if(date('d.m.Y') == date('d.m.Y', $data)) {
            $txt = 'Dziś jest ';
        }
        else
        {
        } else {
            $txt = 'Wybrany dzień to ';
        }
        
        include('./data/data/data.php');
        
        $txt .= self::$dni[date('w', $data)].', '.date('j', $data).' '.self::$miesiace[date('n', $data)].' '.date('Y').' r., '.(date('z', $data)+1).' dzień roku.<br />'."\n"
        $txt .= self::$dni[date('w', $data)].', '.date('j', $data).' '
            . self::$miesiace[date('n', $data)].' '.date('Y').' r., '
            . (date('z', $data)+1).' dzień roku.<br />'."\n"
            . '<br />'."\n";
        
        $msg->session->setClass('pogoda');
        if(!isset($msg->session->geo)) {
            $geo = array('lon' => '52.25', 'lat' => '21.0');
        }
        else
        {
        } else {
            $geo = $msg->session->geo;
        }
        
@@ -93,6 +91,8 @@
                . 'imieniny Ewy');
        }
        
        $txt = array();
        foreach($imiona[$arg] as $dzien) {
            $dzien = explode('.', $dzien);
            
modules/30_pogoda/api_yrno.php
@@ -3,7 +3,7 @@
    protected $xml;
    protected $dane;
    
    static $symbols = array(
    public static $symbols = array(
        1 => 'Słonecznie',
        2 => 'Lekkie zachmurzenie',
        3 => 'Częściowe zachmurzenie',
@@ -29,7 +29,7 @@
        23 => 'Deszcz ze śniegiem, burze'
    );
    
    static $wind = array(
    public static $wind = array(
        'N' => 'północny',
        'NW' => 'północno-zachodni',
        'W' => 'zachodni',
@@ -40,7 +40,7 @@
        'NE' => 'północno-wschodni',
    );
    
    static function wind($dir) {
    public static function wind($dir) {
        if(isset(self::$wind[$dir])) {
            return self::$wind[$dir];
        }
@@ -50,7 +50,7 @@
        }
    }
    
    function __construct($xml) {
    public function __construct($xml) {
        libxml_use_internal_errors();
        $this->xml = simplexml_load_string($xml);
        libxml_clear_errors();
@@ -60,11 +60,11 @@
        }
    }
    
    function mktime($time) {
    public function mktime($time) {
        return strtotime(substr($time, 0, -1));
    }
    
    function parseForecast() {
    public function parseForecast() {
        $this->dane = array(
            '0h' => array(),
            '3h' => array(),
@@ -109,7 +109,7 @@
        }
    }
    
    function getCurrentIcon() {
    public function getCurrentIcon() {
        $now = time();
        foreach($this->dane['3h'] as $value) {
            if($value['from'] <= $now && $now < $value['to']) {
@@ -120,7 +120,7 @@
        return NULL;
    }
    
    function getCurrentWeather() {
    public function getCurrentWeather() {
        $dist = PHP_INT_MAX;
        $current = NULL;
        foreach($this->dane['0h'] as $time => $value) {
@@ -137,7 +137,7 @@
        return $current;
    }
    
    function getDaypartWeather($timestamp) {
    public function getDaypartWeather($timestamp) {
        $start = strtotime('6:00', $timestamp);
        $dayend = strtotime('19:30', $timestamp);
        $end = $start + 22*3600;
@@ -184,7 +184,7 @@
        return array('temp' => $temp, 'wind' => $wind);
    }
    
    function getDaypartIcon($timestamp) {
    public function getDaypartIcon($timestamp) {
        $start = strtotime('6:00', $timestamp);
        $end = strtotime('24:00', $timestamp);
        
modules/30_pogoda/handler.php
@@ -139,8 +139,10 @@
            $arg = trim($msg->args);
        }
        
        $out = new BotMsg();
        if(empty($arg)) {
            if(isset($this->session->miasto)) {
            if(isset($msg->session->miasto)) {
                return new BotMsg('Aktualnie ustawione miejsce to: '.htmlspecialchars($this->session->miasto).', '.htmlspecialchars($this->session->countryName));
            }
            
@@ -161,7 +163,7 @@
        }
        else
        {
            $out = new BotMsg();
        }
        
        $api = new api_geonames();
modules/70_kino/handler.php
@@ -135,7 +135,6 @@
            MIASTO
        */
        $miasta = self::getMiasta();
        $found = FALSE;
        $miasto_num = $miasto_nazw = '';
        
        if(!$miasta) {
@@ -145,7 +144,6 @@
        foreach($miasta as $miasto => $numer) {
            $szukaj = funcs::utfToAscii($miasto);
            if(($pos = strpos($arg, $szukaj)) !== FALSE) {
                $found = TRUE;
                $miasto_nazw = htmlspecialchars($miasto);
                $miasto_num = $numer;
                
@@ -154,11 +152,10 @@
            }
        }
        
        if($found===FALSE && !empty($arg2)) {
        if($miasto_num === '' && !empty($arg2)) {
            foreach($miasta as $miasto => $numer) {
                $szukaj = funcs::utfToAscii($miasto);
                if(($pos = strpos($arg2, $szukaj)) !== FALSE) {
                    $found = TRUE;
                    $miasto_nazw = htmlspecialchars($miasto);
                    $miasto_num = $numer;
                    
@@ -168,8 +165,9 @@
            }
        }
        
        if($found === FALSE) {
        if($miasto_num === '') {
            $txt = 'Wybrane miasto nie został odnalezione. Obsługiwane miejscowości:';
            $miasto = 'Warszawa';
            foreach($miasta as $miasto => $num) {
                $txt .= '<br />'."\n".htmlspecialchars($miasto);
            }
@@ -210,7 +208,6 @@
            KINO
        */
        $kina = self::getKina($miasto_num, $czas);
        $found = FALSE;
        $kino_num = $kino_nazw = '';
        
        if(!$kina) {
@@ -228,7 +225,6 @@
        if(!empty($arg)) {
            foreach($kina as $kino => $kino_id) {
                if(levenshtein(funcs::utfToAscii($kino), $arg, 1, 1, 0) < 2) {
                    $found = TRUE;
                    $kino_num = $kino_id;
                    $kino_nazw = htmlspecialchars($kino);
                    break;
@@ -236,10 +232,9 @@
            }
        }
        
        if($found===FALSE && !empty($arg2)) {
        if($kino_num === '' && !empty($arg2)) {
            foreach($kina as $kino => $kino_id) {
                if(levenshtein(funcs::utfToAscii($kino), $arg2, 1, 1, 0) < 2) {
                    $found = TRUE;
                    $kino_num = $kino_id;
                    $kino_nazw = htmlspecialchars($kino);
                    break;
@@ -247,8 +242,9 @@
            }
        }
        
        if($found === FALSE) {
        if($kino_num === '') {
            $txt = (!empty($arg) ? 'Podany obiekt nie został znaleziony. ' : '').'Dostępne kina w pasujących miastach:';
            $kino = '';
            foreach($kina as $kino => $num) {
                $txt .= '<br />'."\n".$miasto_nazw.' '.htmlspecialchars($kino);
            }
@@ -262,7 +258,7 @@
        /*
            REPERTUAR
        */
        $filmy = self::getKino($miasto_num, $kino_id, $czas);
        $filmy = self::getKino($miasto_num, $kino_num, $czas);
        
        if(!$filmy) {
            return new BotMsg('Przepraszamy, wystąpił bład przy pobieraniu listy wyświelanych filmów.');