// isWeekend determines if $date falls on weekend.
static function isWeekend($date) {
+ // NOTE: this does not work for subgroups with different WEEKEND_START_DAY
+ // as the setting is per server. Example: a parent group in USA, with a subgroup
+ // in Saudi Arabia. Their weekends are the same.
+ // Decided NOT to introduce a configurable WEEKEND_START_DAY for groups in UI
+ // to keep UI simple, for now. See also Calendar class with the same issue.
$weekDay = date('w', strtotime($date));
return ($weekDay == WEEKEND_START_DAY || $weekDay == (WEEKEND_START_DAY + 1) % 7);
}
$holiDateSpecArray = explode('-', $holiDateSpec);
// Check year.
- if ($dateArray[0] != $holiDateSpecArray[0] && $holiDateSpecArray[0] != '****') // **** means all years.
- return false;
+ for($i = 0; $i < 4; $i++) {
+ if ($dateArray[0][$i] != $holiDateSpecArray[0][$i] && $holiDateSpecArray[0][$i] != '*') // * means any digit matches
+ return false;
+ }
// Check month.
if ($dateArray[1] != $holiDateSpecArray[1])
return false;
static function getUncompleted($user_id) {
$mdb2 = getConnection();
- $sql = "select id, start from tt_log
- where user_id = $user_id and start is not null and time_to_sec(duration) = 0 and status = 1";
+ $sql = "select id, start, date from tt_log".
+ " where user_id = $user_id and start is not null and time_to_sec(duration) = 0 and status = 1";
$res = $mdb2->query($sql);
if (!is_a($res, 'PEAR_Error')) {
if (!$res->numRows()) {