Jacek Kowalski
2012-08-24 332344cff07e9fc89bfcde3717888128cf1edd5e
commit | author | age
8bd4d9 1 <?php
JK 2 class data implements module {
3     static $dni = array(
4         'niedziela',
5         'poniedziałek',
6         'wtorek',
7         'środa',
8         'czwartek',
9         'piątek',
10         'sobota',
11     );
12     static $miesiace = array(
13         1 => 'stycznia',
14         'lutego',
15         'marca',
16         'kwietnia',
17         'maja',
18         'czerwca',
19         'lipca',
20         'sierpnia',
21         'września',
22         'października',
23         'listopada',
24         'grudnia',
25     );
26     
27     static function register_cmd() {
28         return array(
29             'data' => 'cmd_data',
30             'dzien' => 'cmd_data',
31             'd' => 'cmd_data',
32             'imieniny' => 'cmd_imieniny',
33             'im' => 'cmd_imieniny',
34             'i' => 'cmd_imieniny',
35         );
36     }
37     
38     static function help($cmd = NULL) {
39         switch($cmd) {
40             case 'data':
41             case 'd':
42                 GGapi::putRichText('data', TRUE);
43                 GGapi::putRichText(' [dzień]', FALSE, TRUE);
44                 GGapi::putRichText(' (alias: ');
45                 GGapi::putRichText('d', TRUE);
46                 GGapi::putRichText(')'."\n".'   Zwraca informacje (wschód/zachód słońca, imieniny) o dniu dzisiejszym lub podanym dniu ');
47                 GGapi::putRichText('[dzień]', FALSE, TRUE);
48                 GGapi::putRichText("\n\n".'Przykłady:', FALSE, FALSE, TRUE);
49                 GGapi::putRichText("\n".'   data'."\n".'   data pojutrze'."\n".'   data 1.01.2009');
50             break;
51             case 'imieniny':
52             case 'im':
53             case 'i':
54                 GGapi::putRichText('imieniny', TRUE);
55                 GGapi::putRichText(' imie', FALSE, TRUE);
56                 GGapi::putRichText(' (alias: ');
57                 GGapi::putRichText('i', TRUE);
58                 GGapi::putRichText(')'."\n".'   Podaje dni, w których imieniny obchodzi osoba o imieniu ');
59                 GGapi::putRichText('imie', FALSE, TRUE);
60                 GGapi::putRichText("\n\n".'Przykłady:', FALSE, FALSE, TRUE);
61                 GGapi::putRichText("\n".'   imieniny Adama'."\n".'   imieniny Ewy');
62             break;
63             default:
64                 GGapi::putRichText('data', TRUE);
65                 GGapi::putRichText(' [dzien]', FALSE, TRUE);
66                 GGapi::putRichText("\n".'   Informacje o danym dniu'."\n");
67                 
68                 GGapi::putRichText('imieniny ', TRUE);
69                 GGapi::putRichText(' imie', FALSE, TRUE);
70                 GGapi::putRichText("\n".'   Kiedy ');
71                 GGapi::putRichText('imie', FALSE, TRUE);
72                 GGapi::putRichText(' obchodzi imieniny'."\n\n");
73             break;
74         }
75     }
76     
77     static function cmd_data($name, $arg) {
78         if(empty($arg)) {
79             $data = time();
80         }
81         else
82         {
83             $data = calendar::parse_date($arg);
84             if(!$data) {
85                 GGapi::putText('Podana data nie została rozpoznana'."\n\n");
86                 GGapi::putRichText('Przykłady:', FALSE, FALSE, TRUE);
87                 GGapi::putRichText("\n".'   data'."\n".'   data pojutrze'."\n".'   data 1.01.2009');
88                 
89                 return;
90             }
91         }
92         
93         if(date('d.m.Y') == date('d.m.Y', $data)) {
94             $txt = 'Dziś jest ';
95         }
96         else
97         {
98             $txt = 'Wybrany dzień to ';
99         }
100         
101         include('./data/data/data.php');
102         
103         $txt .= self::$dni[date('w', $data)].', '.date('j', $data).' '.self::$miesiace[date('n', $data)].' '.date('Y').' r., '.(date('z', $data)+1).' dzień roku.';
104         
105         $geo = database::get($_GET['from'], 'pogoda', 'geo');
106         if(!$geo) {
107             $geo = array('lon' => '52.25', 'lat' => '21.0');
108         }
109         
110         $txt .= "\n\n".'Imieniny: '.$imieniny[date('n', $data)][date('j', $data)]."\n".'Wschód Słońca: '.date_sunrise($data, SUNFUNCS_RET_STRING, $geo['lat'], $geo['lon'], 90.58, 1+date('I'))."\n".'Zachód Słońca: '.date_sunset($data, SUNFUNCS_RET_STRING, $geo['lat'], $geo['lon'], 90.58, 1+date('I'));
111         
112         GGapi::putText($txt);
113     }
114     
115     static function cmd_imieniny($name, $arg) {
116         $arg = funcs::utfToAscii($arg);
117         
118         if(empty($arg)) {
119             GGapi::putText('Nie podano imienia!'."\n\n");
120             GGapi::putRichText('Przykłady:', FALSE, FALSE, TRUE);
121             GGapi::putRichText("\n".'   imieniny Adama'."\n".'   imieniny Ewy');
122             
123             return;
124         }
125         
126         include('./data/data/imieniny.php');
127         
128         if(!isset($imiona[$arg])) {
129             GGapi::putText('Nie znaleziono imienia w bazie. Pamiętaj, by podać imię w dopełniaczu liczby pojedynczej!'."\n\n");
130             GGapi::putRichText('Przykłady:', FALSE, FALSE, TRUE);
131             GGapi::putRichText("\n".'   imieniny Adama'."\n".'   imieniny Ewy');
132             
133             return;
134         }
135         
136         foreach($imiona[$arg] as $dzien) {
137             $dzien = explode('.', $dzien);
138             
139             $txt[] = $dzien[0].' '.self::$miesiace[$dzien[1]];
140         }
141         
142         GGapi::putText('Imieniny '.ucfirst($arg).' są '.implode(', ', $txt));
143     }
144 }
145 ?>