]> git.mxchange.org Git - friendica-addons.git/blob - dav/common/wdcal_configuration.php
Update t() calls
[friendica-addons.git] / dav / common / wdcal_configuration.php
1 <?php
2
3 use Friendica\Core\L10n;
4 use Friendica\Core\PConfig;
5
6 abstract class wdcal_local
7 {
8
9         const LOCAL_US = 0;
10         const LOCAL_DE = 1;
11
12         /**
13          * @static
14          * @return array|wdcal_local[]
15          */
16         static function getInstanceClasses() {
17                 return array(
18                         self::LOCAL_US => "wdcal_local_us",
19                         self::LOCAL_DE => "wdcal_local_de",
20                 );
21         }
22
23         /**
24          * @static
25          * @param int $config
26          * @return null|wdcal_local
27          */
28         static function getInstance($config = 0) {
29                 $classes = self::getInstanceClasses();
30                 if (isset($classes[$config])) return new $classes[$config];
31                 return null;
32         }
33
34         /**
35          * @static
36          * @param int $uid
37          * @return wdcal_local
38          */
39         static function getInstanceByUser($uid = 0) {
40                 $dateformat = PConfig::get($uid, "dav", "dateformat");
41                 $format = self::getInstance($dateformat);
42                 if ($format == null) $format = self::getInstance(self::LOCAL_US);
43                 return $format;
44         }
45
46         /**
47          * @static
48          * @abstract
49          * @return string
50          */
51         abstract static function getLanguageCode();
52
53         /**
54          * @abstract
55          * @static
56          * @return string
57          */
58         abstract static function getName();
59
60         /**
61          * @static
62          * @abstract
63          * @return int
64          */
65         abstract static function getID();
66
67         /**
68          * @param string $str
69          * @return int
70          */
71         function date_local2timestamp($str) {
72                 $x = $this->date_parseLocal($str);
73                 return mktime($x["hour"], $x["minute"], $x["second"], $x["month"], $x["day"], $x["year"]);
74         }
75
76         /**
77          * @abstract
78          * @param string $str
79          * @return array
80          */
81         abstract function date_parseLocal($str);
82
83         /**
84          * @abstract
85          * @param int $ts
86          * @return string
87          */
88         abstract function date_timestamp2local($ts);
89
90         /**
91          * @abstract
92          * @param int $ts
93          * @return string
94          */
95         abstract function date_timestamp2localDate($ts);
96
97         /**
98          * @abstract
99          * @return int
100          */
101         abstract function getFirstDayOfWeek();
102
103         /**
104          * @abstract
105          * @return string
106          */
107         abstract function dateformat_js_dm1();
108         /**
109          * @abstract
110          * @return string
111          */
112         abstract function dateformat_js_dm2();
113
114         /**
115          * @abstract
116          * @return string
117          */
118         abstract function dateformat_js_dm3();
119
120         /**
121          * @abstract
122          * @return string
123          */
124         abstract function dateformat_datepicker_js();
125
126         /**
127          * @abstract
128          * @param int $ts
129          * @return string
130          */
131         abstract function dateformat_datepicker_php($ts = 0);
132
133 }
134
135
136
137 class wdcal_local_us extends wdcal_local {
138
139         /**
140          * @static
141          * @return string
142          */
143         static function getLanguageCode() {
144                 return "en";
145         }
146
147         /**
148          * @return string
149          */
150         static function getName() {
151                 return L10n::t("U.S. Time Format (mm/dd/YYYY)");
152         }
153
154         /**
155          * @static
156          * @return int
157          */
158         static function getID() {
159                 return wdcal_local::LOCAL_US;
160         }
161
162         /**
163          * @param string $str
164          * @return array
165          */
166         function date_parseLocal($str) {
167                 return date_parse_from_format("m/d/Y H:i", $str);
168         }
169
170
171         /**
172          * @param int $ts
173          * @return string
174          */
175         function date_timestamp2local($ts)
176         {
177                 return date("m/d/Y H:i", $ts);
178         }
179
180         /**
181          * @param int $ts
182          * @return string
183          */
184         function date_timestamp2localDate($ts) {
185                 return date("l, F jS Y", $ts);
186         }
187
188         /**
189          * @return int
190          */
191         function getFirstDayOfWeek() {
192                 return 0;
193         }
194
195         /**
196          * @return string
197          */
198         function dateformat_js_dm1() {
199                 return "W, M/d";
200         }
201
202         /**
203          * @return string
204          */
205         function dateformat_js_dm2() {
206                 return "d. L";
207         }
208
209         /**
210          * @return string
211          */
212         function dateformat_js_dm3() {
213                 return "d L yyyy";
214         }
215
216         /**
217          * @return string
218          */
219         function dateformat_datepicker_js() {
220                 return "mm/dd/yy";
221         }
222
223         /**
224          * @param int $ts
225          * @return string
226          */
227         function dateformat_datepicker_php($ts = 0) {
228                 return date("m/d/Y", $ts);
229         }
230 }
231
232 class wdcal_local_de extends  wdcal_local {
233
234         /**
235          * @static
236          * @return string
237          */
238         static function getLanguageCode() {
239                 return "de";
240         }
241
242         /**
243          * @return string
244          */
245         static function getName() {
246                 return L10n::t("German Time Format (dd.mm.YYYY)");
247         }
248
249         /**
250          * @static
251          * @return int
252          */
253         static function getID() {
254                 return wdcal_local::LOCAL_DE;
255         }
256
257         /**
258          * @param string $str
259          * @return array
260          */
261         function date_parseLocal($str)
262         {
263                 return date_parse_from_format("d.m.Y H:i", $str);
264         }
265
266         /**
267          * @param int $ts
268          * @return string
269          */
270         function date_timestamp2local($ts)
271         {
272                 return date("d.m.Y H:i", $ts);
273         }
274
275         /**
276          * @param int $ts
277          * @return string
278          */
279         function date_timestamp2localDate($ts) {
280                 return date("l, j. F Y", $ts);
281         }
282
283         /**
284          * @return int
285          */
286         function getFirstDayOfWeek() {
287                 return 1;
288         }
289
290         /**
291          * @return string
292          */
293         function dateformat_js_dm1() {
294                 return "W, d.M";
295         }
296
297         /**
298          * @return string
299          */
300         function dateformat_js_dm2() {
301                 return "d. L";
302         }
303
304         /**
305          * @return string
306          */
307         function dateformat_js_dm3() {
308                 return "d L yyyy";
309         }
310
311         /**
312          * @return string
313          */
314         function dateformat_datepicker_js() {
315                 return "dd.mm.yy";
316         }
317
318         /**
319          * @param int $ts
320          * @return string
321          */
322         function dateformat_datepicker_php($ts = 0) {
323                 return date("d.m.Y", $ts);
324         }
325 }
326