X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttTimeHelper.class.php;h=a2dade9a3454731a1d45d6f47824d3e977d5ac2e;hb=cd5e077ecb497431decde4835138b877d63b261c;hp=e574dc8e5fca5584c57c390fdae5f686df9a73a8;hpb=1bd874bb8ba5cbc7c68f326d2c72e18725222e74;p=timetracker.git diff --git a/WEB-INF/lib/ttTimeHelper.class.php b/WEB-INF/lib/ttTimeHelper.class.php index e574dc8e..a2dade9a 100644 --- a/WEB-INF/lib/ttTimeHelper.class.php +++ b/WEB-INF/lib/ttTimeHelper.class.php @@ -31,6 +31,24 @@ import('DateAndTime'); // The ttTimeHelper is a class to help with time-related values. class ttTimeHelper { + // isWeekend determines if $date falls on weekend. + static function isWeekend($date) { + $weekDay = date('w', strtotime($date)); + return ($weekDay == WEEKEND_START_DAY || $weekDay == (WEEKEND_START_DAY + 1) % 7); + } + + // isHoliday determines if $date falls on a holiday. + static function isHoliday($date) { + global $i18n; + // $date is expected as string in DB_DATEFORMAT. + $month = date('m', strtotime($date)); + $day = date('d', strtotime($date)); + if (in_array($month.'/'.$day, $i18n->holidays)) + return true; + + return false; + } + // isValidTime validates a value as a time string. static function isValidTime($value) { if (strlen($value)==0 || !isset($value)) return false; @@ -69,18 +87,12 @@ class ttTimeHelper { if ($value == '24:00' || $value == '2400') return true; if (preg_match('/^([0-1]{0,1}[0-9]|2[0-3]):?[0-5][0-9]$/', $value )) { // 0:00 - 23:59, 000 - 2359 - if ('00:00' == ttTimeHelper::normalizeDuration($value)) - return false; return true; } if (preg_match('/^([0-1]{0,1}[0-9]|2[0-4])h?$/', $value )) { // 0, 1 ... 24 - if ('00:00' == ttTimeHelper::normalizeDuration($value)) - return false; return true; } if (preg_match('/^([0-1]{0,1}[0-9]|2[0-3])?[.][0-9]{1,4}h?$/', $value )) { // decimal values like 0.5, 1.25h, ... .. 23.9999h - if ('00:00' == ttTimeHelper::normalizeDuration($value)) - return false; return true; }