} else { Debug::text('Punch In and Out failed, not saving punch control!', __FILE__, __LINE__, __METHOD__, 10); } if ($commit_punch_transaction == TRUE) { Debug::text('Committing Punch Transaction!', __FILE__, __LINE__, __METHOD__, 10); $pf_in->CommitTransaction(); } else { Debug::text('Rolling Back Punch Transaction!', __FILE__, __LINE__, __METHOD__, 10); $pf_in->FailTransaction(); $pf_in->CommitTransaction(); } unset($pf_in, $pf_out, $pcf); } $profiler->stopTimer("Add Punch"); } else { $sf->FailTransaction(); $sf->CommitTransaction(); Debug::text('Bad or conflicting Schedule: ' . TTDate::getDate('DATE+TIME', $recurring_schedule_shift_start_time), __FILE__, __LINE__, __METHOD__, 10); } $profiler->stopTimer("Add Schedule"); } else { Debug::text('Recurring Schedule Shift Start Time DOES NOT fall within Limits: ' . TTDate::getDate('DATE+TIME', $recurring_schedule_shift_start_time), __FILE__, __LINE__, __METHOD__, 10); } } } } else { Debug::text('No Recurring Schedule Days To Add!' . $user_id, __FILE__, __LINE__, __METHOD__, 10); } //Set timezone back to default before we loop to the next user. //Without this the next start/end date will be in the last users timezone //and cause schedules to be included.