diff --git a/include/datum.class.php b/include/datum.class.php index 90ba0066c..6a2bd58d0 100644 --- a/include/datum.class.php +++ b/include/datum.class.php @@ -151,14 +151,51 @@ class datum * Prueft ob das Datum im Format dd.mm.YYYY oder YYYY-mm-dd ist * @return true wenn ok, false wenn falsches Format */ + // public function checkDatum($datum) + // { + // if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum) || mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum)) + // return true; + // else + // return false; + // } + + + + /** + * Prueft ob das Datum im Format dd.mm.YYYY oder YYYY-mm-dd ist UND ob es sich um ein gültiges Datum handelt + * @return true wenn ok, false wenn falsches Format und/oder nicht gültig + */ public function checkDatum($datum) - { - if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum) || mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum)) - return true; - else + { + //Format 12.03.2004 + if(mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum)) + { + + $year=substr($datum,6,4); + $month=substr($datum,3,2); + $day=substr($datum, 0,2); + + } + + //Format 2012-12-04 + elseif(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum)) + { + + $year=substr($datum,0,4); + $month=substr($datum,5,2); + $day=substr($datum,8,2); + } + else + { return false; + } + + return checkdate($month, $day, $year); + } + + /** * Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen) * @param $datum1