@@ -38,7 +38,6 @@ class listform {
3838 private $ pagingValues ;
3939 private $ searchChanged = 0 ;
4040 private $ module ;
41- private $ dateformat = 'Y-m-d H:i ' ;
4241 public $ wordbook ;
4342
4443 public function loadListDef ($ file , $ module = '' )
@@ -280,7 +279,25 @@ public function decode($record)
280279 break ;
281280
282281 case 'DATE ' :
283- $ record [$ key ] = ($ record [$ key ] > 0 ) ? date ($ this ->dateformat ,$ record [$ key ]) : '' ;
282+ if ($ record [$ key ] > 0 ) {
283+ // is value int?
284+ if (ereg ("^[0-9]+[.]?[0-9]*$ " , $ record [$ key ], $ p )) {
285+ $ record [$ key ] = date ($ this ->lng ('conf_format_dateshort ' ), $ record [$ key ]);
286+ } else {
287+ $ record [$ key ] = date ($ this ->lng ('conf_format_dateshort ' ), strtotime ($ record [$ key ]));
288+ }
289+ }
290+ break ;
291+
292+ case 'DATETIME ' :
293+ if ($ record [$ key ] > 0 ) {
294+ // is value int?
295+ if (ereg ("^[0-9]+[.]?[0-9]*$ " , $ record [$ key ], $ p )) {
296+ $ record [$ key ] = date ($ this ->lng ('conf_format_datetime ' ), $ record [$ key ]);
297+ } else {
298+ $ record [$ key ] = date ($ this ->lng ('conf_format_datetime ' ), strtotime ($ record [$ key ]));
299+ }
300+ }
284301 break ;
285302
286303 case 'INTEGER ' :
@@ -322,8 +339,13 @@ public function encode($record)
322339
323340 case 'DATE ' :
324341 if ($ record [$ key ] > 0 ) {
325- list ($ tag ,$ monat ,$ jahr ) = explode ('. ' ,$ record [$ key ]);
326- $ record [$ key ] = mktime (0 ,0 ,0 ,$ monat ,$ tag ,$ jahr );
342+ $ record [$ key ] = date ('Y-m-d ' ,strtotime ($ record [$ key ]));
343+ }
344+ break ;
345+
346+ case 'DATETIME ' :
347+ if ($ record [$ key ] > 0 ) {
348+ $ record [$ key ] = date ('Y-m-d H:i:s ' ,strtotime ($ record [$ key ]));
327349 }
328350 break ;
329351
0 commit comments