3 use Friendica\Core\PConfig;
5 abstract class wdcal_local
13 * @return array|wdcal_local[]
15 static function getInstanceClasses() {
17 self::LOCAL_US => "wdcal_local_us",
18 self::LOCAL_DE => "wdcal_local_de",
25 * @return null|wdcal_local
27 static function getInstance($config = 0) {
28 $classes = self::getInstanceClasses();
29 if (isset($classes[$config])) return new $classes[$config];
38 static function getInstanceByUser($uid = 0) {
39 $dateformat = PConfig::get($uid, "dav", "dateformat");
40 $format = self::getInstance($dateformat);
41 if ($format == null) $format = self::getInstance(self::LOCAL_US);
50 abstract static function getLanguageCode();
57 abstract static function getName();
64 abstract static function getID();
70 function date_local2timestamp($str) {
71 $x = $this->date_parseLocal($str);
72 return mktime($x["hour"], $x["minute"], $x["second"], $x["month"], $x["day"], $x["year"]);
80 abstract function date_parseLocal($str);
87 abstract function date_timestamp2local($ts);
94 abstract function date_timestamp2localDate($ts);
100 abstract function getFirstDayOfWeek();
106 abstract function dateformat_js_dm1();
111 abstract function dateformat_js_dm2();
117 abstract function dateformat_js_dm3();
123 abstract function dateformat_datepicker_js();
130 abstract function dateformat_datepicker_php($ts = 0);
136 class wdcal_local_us extends wdcal_local {
142 static function getLanguageCode() {
149 static function getName() {
150 return t("U.S. Time Format (mm/dd/YYYY)");
157 static function getID() {
158 return wdcal_local::LOCAL_US;
165 function date_parseLocal($str) {
166 return date_parse_from_format("m/d/Y H:i", $str);
174 function date_timestamp2local($ts)
176 return date("m/d/Y H:i", $ts);
183 function date_timestamp2localDate($ts) {
184 return date("l, F jS Y", $ts);
190 function getFirstDayOfWeek() {
197 function dateformat_js_dm1() {
204 function dateformat_js_dm2() {
211 function dateformat_js_dm3() {
218 function dateformat_datepicker_js() {
226 function dateformat_datepicker_php($ts = 0) {
227 return date("m/d/Y", $ts);
231 class wdcal_local_de extends wdcal_local {
237 static function getLanguageCode() {
244 static function getName() {
245 return t("German Time Format (dd.mm.YYYY)");
252 static function getID() {
253 return wdcal_local::LOCAL_DE;
260 function date_parseLocal($str)
262 return date_parse_from_format("d.m.Y H:i", $str);
269 function date_timestamp2local($ts)
271 return date("d.m.Y H:i", $ts);
278 function date_timestamp2localDate($ts) {
279 return date("l, j. F Y", $ts);
285 function getFirstDayOfWeek() {
292 function dateformat_js_dm1() {
299 function dateformat_js_dm2() {
306 function dateformat_js_dm3() {
313 function dateformat_datepicker_js() {
321 function dateformat_datepicker_php($ts = 0) {
322 return date("d.m.Y", $ts);