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 getLanguageCode();
55 abstract static function getName();
62 abstract static function getID();
68 function date_local2timestamp($str) {
69 $x = $this->date_parseLocal($str);
70 return mktime($x["hour"], $x["minute"], $x["second"], $x["month"], $x["day"], $x["year"]);
78 abstract function date_parseLocal($str);
85 abstract function date_timestamp2local($ts);
92 abstract function date_timestamp2localDate($ts);
98 abstract function getFirstDayOfWeek();
104 abstract function dateformat_js_dm1();
109 abstract function dateformat_js_dm2();
115 abstract function dateformat_js_dm3();
121 abstract function dateformat_datepicker_js();
128 abstract function dateformat_datepicker_php($ts = 0);
134 class wdcal_local_us extends wdcal_local {
140 static function getLanguageCode() {
147 static function getName() {
148 return t("U.S. Time Format (mm/dd/YYYY)");
155 static function getID() {
156 return wdcal_local::LOCAL_US;
163 function date_parseLocal($str) {
164 return date_parse_from_format("m/d/Y H:i", $str);
172 function date_timestamp2local($ts)
174 return date("m/d/Y H:i", $ts);
181 function date_timestamp2localDate($ts) {
182 return date("l, F jS Y", $ts);
188 function getFirstDayOfWeek() {
195 function dateformat_js_dm1() {
202 function dateformat_js_dm2() {
209 function dateformat_js_dm3() {
216 function dateformat_datepicker_js() {
224 function dateformat_datepicker_php($ts = 0) {
225 return date("m/d/Y", $ts);
229 class wdcal_local_de extends wdcal_local {
235 static function getLanguageCode() {
242 static function getName() {
243 return t("German Time Format (dd.mm.YYYY)");
250 static function getID() {
251 return wdcal_local::LOCAL_DE;
258 function date_parseLocal($str)
260 return date_parse_from_format("d.m.Y H:i", $str);
267 function date_timestamp2local($ts)
269 return date("d.m.Y H:i", $ts);
276 function date_timestamp2localDate($ts) {
277 return date("l, j. F Y", $ts);
283 function getFirstDayOfWeek() {
290 function dateformat_js_dm1() {
297 function dateformat_js_dm2() {
304 function dateformat_js_dm3() {
311 function dateformat_datepicker_js() {
319 function dateformat_datepicker_php($ts = 0) {
320 return date("d.m.Y", $ts);