Jacek Kowalski
2016-02-12 664fe7e953423790f556a0e9093a3d9667848567
commit | author | age
57117d 1 <?php
6b36e7 2 @date_default_timezone_set('Europe/Warsaw');
JK 3
57117d 4 class bot_data_module implements BotModule {
JK 5     static $dni = array(
6         'niedziela',
afa613 7         'poniedziałek',
57117d 8         'wtorek',
afa613 9         'środa',
57117d 10         'czwartek',
afa613 11         'piątek',
57117d 12         'sobota',
JK 13     );
14     static $miesiace = array(
15         1 => 'stycznia',
16         'lutego',
17         'marca',
18         'kwietnia',
19         'maja',
20         'czerwca',
21         'lipca',
22         'sierpnia',
afa613 23         'września',
JK 24         'października',
57117d 25         'listopada',
JK 26         'grudnia',
27     );
28     
29     function data($msg, $params) {
30         $arg = funcs::utfToAscii($msg->args);
31         
32         if(empty($arg)) {
33             $data = time();
6b36e7 34         } else {
57117d 35             $data = calendar::parse_date($arg);
JK 36             if(!$data) {
afa613 37                 return new BotMsg('Podana data nie została rozpoznana<br />'."\n"
57117d 38                     . '<br />'."\n"
afa613 39                     . '<u>Przykłady:</u><br />'."\n"
57117d 40                     . 'data<br />'."\n"
JK 41                     . 'data pojutrze<br />'."\n"
42                     . 'data 1.01.2009');
43             }
44         }
45         
46         if(date('d.m.Y') == date('d.m.Y', $data)) {
afa613 47             $txt = 'Dziś jest ';
6b36e7 48         } else {
afa613 49             $txt = 'Wybrany dzień to ';
57117d 50         }
JK 51         
52         include('./data/data/data.php');
53         
6b36e7 54         $txt .= self::$dni[date('w', $data)].', '.date('j', $data).' '
1020bf 55             . self::$miesiace[date('n', $data)].' '.date('Y', $data).' r., '
6b36e7 56             . (date('z', $data)+1).' dzień roku.<br />'."\n"
57117d 57             . '<br />'."\n";
JK 58         
59         $msg->session->setClass('pogoda');
60         if(!isset($msg->session->geo)) {
61             $geo = array('lon' => '52.25', 'lat' => '21.0');
6b36e7 62         } else {
57117d 63             $geo = $msg->session->geo;
JK 64         }
65         
66         $txt .= 'Imieniny: '.$imieniny[date('n', $data)][date('j', $data)].'<br />'."\n"
afa613 67             . 'Wschód Słońca: '.date_sunrise($data, SUNFUNCS_RET_STRING, $geo['lat'], $geo['lon'], 90.58, 1+date('I')).'<br />'."\n"
JK 68             . 'Zachód Słońca: '.date_sunset($data, SUNFUNCS_RET_STRING, $geo['lat'], $geo['lon'], 90.58, 1+date('I'));
57117d 69         
JK 70         return new BotMsg($txt);
71     }
72     
73     function imieniny($msg, $params) {
9c93cf 74         $arg = funcs::utfToAscii($msg->args);
57117d 75         
JK 76         if(empty($arg)) {
77             return new BotMsg('Nie podano imienia!<br />'."\n"
78                 . '<br />'."\n"
afa613 79                 . '<u>Przykłady:</u><br />'."\n"
57117d 80                 . 'imieniny Adama<br />'."\n"
JK 81                 . 'imieniny Ewy');
82         }
83         
84         include('./data/data/imieniny.php');
85         
86         if(!isset($imiona[$arg])) {
afa613 87             return new BotMsg('Nie znaleziono imienia w bazie. Pamiętaj, by podać imię w dopełniaczu liczby pojedynczej!<br />'."\n"
57117d 88                 . '<br />'."\n"
afa613 89                 . '<u>Przykłady:</u><br />'."\n"
57117d 90                 . 'imieniny Adama<br />'."\n"
JK 91                 . 'imieniny Ewy');
92         }
93         
6b36e7 94         $txt = array();
JK 95         
57117d 96         foreach($imiona[$arg] as $dzien) {
JK 97             $dzien = explode('.', $dzien);
98             
99             $txt[] = $dzien[0].' '.self::$miesiace[$dzien[1]];
100         }
101         
afa613 102         return new BotMsg('Imieniny '.ucfirst($arg).' są '.implode(', ', $txt));
57117d 103     }
JK 104 }
105 ?>