commit | author | age
|
8bd4d9
|
1 |
<?php |
JK |
2 |
class kurs implements module { |
|
3 |
static $name2iso = array( |
|
4 |
'dolar' => 'USD', |
|
5 |
'dolara' => 'USD', |
|
6 |
'euro' => 'EUR', |
|
7 |
'rubel' => 'RUB', |
|
8 |
'rubla' => 'RUB', |
|
9 |
'GPB' => 'GBP', |
|
10 |
'funt' => 'GBP', |
|
11 |
'funta' => 'GBP', |
|
12 |
'funt szterling' => 'GBP', |
|
13 |
'funta szterlinga' => 'GBP', |
|
14 |
'frank' => 'CHF', |
|
15 |
'franka' => 'CHF', |
|
16 |
'frank szwajcarski' => 'CHF', |
|
17 |
'franka szwajcarskiego' => 'CHF', |
|
18 |
'jen' => 'JPY', |
|
19 |
'jena' => 'JPY', |
|
20 |
'forint' => 'HUF', |
|
21 |
'forinta' => 'HUF', |
|
22 |
'hrywna' => 'UAH', |
|
23 |
'hrywny' => 'UAH', |
|
24 |
'hrywien' => 'UAH', |
|
25 |
'kuna' => 'HRK', |
|
26 |
'kuny' => 'HRK', |
|
27 |
'kun' => 'HRK', |
|
28 |
'lej' => 'RON', |
|
29 |
'lei' => 'RON', |
|
30 |
'lejow' => 'RON', |
|
31 |
'lew' => 'BGN', |
|
32 |
'lewy' => 'BGN', |
|
33 |
'lewow' => 'BGN', |
|
34 |
'peso' => 'MXN', |
|
35 |
'rupia' => 'IDR', |
|
36 |
'rupii' => 'IDR', |
|
37 |
'SDR' => 'XDR', |
|
38 |
); |
|
39 |
|
|
40 |
static function register_cmd() { |
|
41 |
return array( |
|
42 |
'kursy' => 'cmd_kurs', |
|
43 |
'kurs' => 'cmd_kurs', |
|
44 |
'k' => 'cmd_kurs', |
|
45 |
'waluta' => 'cmd_kurs', |
|
46 |
'waluty' => 'cmd_kurs', |
|
47 |
'euro' => 'cmd_rewrite', |
|
48 |
'dolar' => 'cmd_rewrite', |
|
49 |
'dolara' => 'cmd_rewrite', |
|
50 |
); |
|
51 |
} |
|
52 |
|
|
53 |
static function help($cmd = NULL) { |
|
54 |
if($cmd === NULL) { |
|
55 |
GGapi::putRichText('kurs ', TRUE); |
|
56 |
GGapi::putRichText('waluta', FALSE, TRUE); |
|
57 |
GGapi::putRichText("\n".' Kurs danej waluty wg. NBP'."\n\n"); |
|
58 |
} |
|
59 |
else |
|
60 |
{ |
|
61 |
GGapi::putRichText('kurs ', TRUE); |
|
62 |
GGapi::putRichText('[waluta]', FALSE, TRUE); |
|
63 |
GGapi::putRichText(' (aliasy: '); |
|
64 |
GGapi::putRichText('kursy, k, waluta', TRUE); |
|
65 |
GGapi::putRichText(')'."\n".' Zwraca aktualne kursy (średnie, a także kupna i sprzedaży - jeśli są dostępne) waluty '); |
|
66 |
GGapi::putRichText('[waluta]', FALSE, TRUE); |
|
67 |
GGapi::putRichText('.'."\n".' Argument powinien być kodem waluty zgodnym z ISO 4217 lub jedną z popularnych nazw (np. dolar, euro).'."\n\n".' Tabela A jest aktualizowana codziennie po godzinie 12:00, tabela B w środy po 12:00, tabela C codziennie po 8:00'."\n\n"); |
|
68 |
GGapi::putRichText('Przykłady', FALSE, FALSE, TRUE); |
|
69 |
GGapi::putRichText("\n".'kurs USD'."\n".'kurs EUR'); |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
static function cmd_rewrite($nazwa, $argument) { |
|
74 |
self::cmd_kurs('rewrite', self::$name2iso[$nazwa].' '.$argument); |
|
75 |
} |
|
76 |
|
|
77 |
static function cmd_kurs($nazwa, $argument) { |
|
78 |
$argument = funcs::utfToAscii(trim($argument)); |
|
79 |
|
|
80 |
if(isset(self::$name2iso[$argument])) { |
|
81 |
$argument = self::$name2iso[$argument]; |
|
82 |
} |
|
83 |
else |
|
84 |
{ |
|
85 |
$argument = strtoupper($argument); |
|
86 |
} |
|
87 |
|
|
88 |
$waluty_A = unserialize(file_get_contents('./data/kurs/A_kursy.txt')); |
|
89 |
|
|
90 |
if(empty($argument)) { |
|
91 |
$waluty_C = unserialize(file_get_contents('./data/kurs/C_kursy.txt')); |
|
92 |
|
|
93 |
$txt = 'Kursy średnie walut obcych z dnia '.$waluty_A['i_n_f_o']['data'].' (tabela NBP nr '.$waluty_A['i_n_f_o']['tabela'].') oraz kursy kupna i sprzedaży z dnia '.$waluty_C['i_n_f_o']['data'].' (tabela NBP nr '.$waluty_C['i_n_f_o']['tabela'].')'."\n"; |
|
94 |
foreach($waluty_C as $kod => $dane) { |
|
95 |
if($kod == 'i_n_f_o') continue; |
|
96 |
$txt .= "\n".$dane['ilosc'].' '.$kod.' => '.$waluty_A[$kod]['kurs'].' PLN'; |
|
97 |
$txt .= ' (kupno: '.$dane['kupno'].' PLN, sprzedaż: '.$dane['sprzedaz'].' PLN)'; |
|
98 |
} |
|
99 |
|
|
100 |
GGapi::putText($txt); |
|
101 |
return TRUE; |
|
102 |
} |
|
103 |
|
|
104 |
if(isset($waluty_A[$argument])) { |
|
105 |
$txt = 'Kursy średnie walut obcych z dnia '.$waluty_A['i_n_f_o']['data'].' (tabela NBP nr '.$waluty_A['i_n_f_o']['tabela'].')'; |
|
106 |
$waluty_C = unserialize(file_get_contents('./data/kurs/C_kursy.txt')); |
|
107 |
if(isset($waluty_C[$argument])) { |
|
108 |
$txt .= ' oraz kursy kupna i sprzedaży z dnia '.$waluty_C['i_n_f_o']['data'].' (tabela NBP nr '.$waluty_C['i_n_f_o']['tabela'].')'; |
|
109 |
} |
|
110 |
|
|
111 |
$txt .= "\n\n".$waluty_A[$argument]['ilosc'].' '.$argument.' => '.$waluty_A[$argument]['kurs'].' PLN'; |
|
112 |
if(isset($waluty_C[$argument])) { |
|
113 |
$txt .= ' (kupno: '.$waluty_C[$argument]['kupno'].' PLN, sprzedaż: '.$waluty_C[$argument]['sprzedaz'].' PLN)'; |
|
114 |
} |
|
115 |
|
|
116 |
GGapi::putText($txt); |
|
117 |
return TRUE; |
|
118 |
} |
|
119 |
else |
|
120 |
{ |
|
121 |
$waluty_B = unserialize(file_get_contents('./data/kurs/B_kursy.txt')); |
|
122 |
if(!isset($waluty_B[$argument])) { |
|
123 |
GGapi::putText('Nie znaleziono żądanej waluty. Sprawdź, czy kod waluty jest zgodny z ISO 4217.'."\n\n"); |
|
124 |
GGapi::putRichText('Przykłady', FALSE, FALSE, TRUE); |
|
125 |
GGapi::putRichText("\n".'kurs USD'."\n".'kurs EUR'); |
|
126 |
|
|
127 |
return FALSE; |
|
128 |
} |
|
129 |
|
|
130 |
GGapi::putText('Kursy średnie walut obcych z dnia '.$waluty_B['i_n_f_o']['data'].' (tabela NBP nr '.$waluty_B['i_n_f_o']['tabela'].')'."\n\n".$waluty_B[$argument]['ilosc'].' '.$argument.' => '.$waluty_B[$argument]['kurs'].' PLN'); |
|
131 |
|
|
132 |
return TRUE; |
|
133 |
} |
|
134 |
} |
|
135 |
} |
|
136 |
?> |