3 abstract class wdcal_local
11 * @return array|wdcal_local[]
13 static function getInstanceClasses() {
15 self::LOCAL_US => "wdcal_local_us",
16 self::LOCAL_DE => "wdcal_local_de",
23 * @return null|wdcal_local
25 static function getInstance($config = 0) {
26 $classes = self::getInstanceClasses();
27 if (isset($classes[$config])) return new $classes[$config];
36 static function getInstanceByUser($uid = 0) {
37 $dateformat = get_pconfig($uid, "dav", "dateformat");
38 $format = self::getInstance($dateformat);
39 if ($format == null) $format = self::getInstance(self::LOCAL_US);
48 abstract static function getName();
55 abstract static function getID();
61 function date_local2timestamp($str) {
62 $x = $this->date_parseLocal($str);
63 return mktime($x["hour"], $x["minute"], $x["second"], $x["month"], $x["day"], $x["year"]);
71 abstract function date_parseLocal($str);
78 abstract function date_timestamp2local($ts);
84 abstract function getFirstDayOfWeek();
90 abstract function dateformat_js_dm1();
95 abstract function dateformat_js_dm2();
101 abstract function dateformat_js_dm3();
107 abstract function dateformat_datepicker_js();
114 abstract function dateformat_datepicker_php($ts = 0);
120 class wdcal_local_us extends wdcal_local {
125 static function getName() {
126 return t("U.S. Time Format (mm/dd/YYYY)");
133 static function getID() {
134 return wdcal_local::LOCAL_US;
141 function date_parseLocal($str) {
142 return date_parse_from_format("m/d/Y H:i", $str);
150 function date_timestamp2local($ts)
152 return date("m/d/Y H:i", $ts);
158 function getFirstDayOfWeek() {
165 function dateformat_js_dm1() {
172 function dateformat_js_dm2() {
179 function dateformat_js_dm3() {
186 function dateformat_datepicker_js() {
194 function dateformat_datepicker_php($ts = 0) {
195 return date("m/d/Y", $ts);
199 class wdcal_local_de extends wdcal_local {
204 static function getName() {
205 return t("German Time Format (dd.mm.YYYY)");
212 static function getID() {
213 return wdcal_local::LOCAL_DE;
220 function date_parseLocal($str)
222 return date_parse_from_format("d.m.Y H:i", $str);
229 function date_timestamp2local($ts)
231 return date("d.m.Y H:i", $ts);
237 function getFirstDayOfWeek() {
244 function dateformat_js_dm1() {
251 function dateformat_js_dm2() {
258 function dateformat_js_dm3() {
265 function dateformat_datepicker_js() {
273 function dateformat_datepicker_php($ts = 0) {
274 return date("d.m.Y", $ts);