$pf_out->setUser($user_id); $pf_out->setType(10); //Normal $pf_out->setStatus(20); //Out $pf_out->setTimeStamp($recurring_schedule_shift_end_time, TRUE); $pf_out->setPunchControlID($pf_in->findPunchControlID()); //Use the In punch object to find the punch_control_id. $pf_out->setActualTimeStamp($pf_out->getTimeStamp()); $pf_out->setOriginalTimeStamp($pf_out->getTimeStamp()); if ($pf_out->isValid()) { Debug::text('Punch Out: Valid!', __FILE__, __LINE__, __METHOD__, 10); $pf_out->setEnableCalcTotalTime(TRUE); $pf_out->setEnableCalcSystemTotalTime(TRUE); $pf_out->setEnableCalcUserDateTotal(TRUE); $pf_out->setEnableCalcException(TRUE); $pf_out->Save(FALSE); } else { Debug::text('Punch Out: InValid!', __FILE__, __LINE__, __METHOD__, 10); } if ($pf_in->isValid() == TRUE or $pf_out->isValid() == TRUE) { Debug::text('Punch In and Out succeeded, saving punch control!', __FILE__, __LINE__, __METHOD__, 10); $pcf = new PunchControlFactory(); $pcf->setId($pf_in->getPunchControlID()); if ($pf_in->isValid() == TRUE) { $pcf->setPunchObject($pf_in); } elseif ($pf_out->isValid() == TRUE) { $pcf->setPunchObject($pf_out); } if ($recurring_schedule_shift['branch_id'] == -1) { $pcf->setBranch($user_obj->getDefaultBranch());
//Reverse boolean. if (isset($disable_rounding) and $disable_rounding == TRUE) { $enable_rounding = FALSE; } else { $enable_rounding = TRUE; } //echo "First Punch: ". TTDate::getDate('DATE+TIME', $time_stamp_epoch) ."\n"; $pf->setTimeStamp($time_stamp_epoch, $enable_rounding); $pf->setPunchControlID($pf->findPunchControlID()); $pf->setActualTimeStamp($time_stamp_epoch); $pf->setOriginalTimeStamp($time_stamp_epoch); if ($pf->isValid()) { $pf->setEnableCalcTotalTime(TRUE); $pf->setEnableCalcSystemTotalTime(TRUE); $pf->setEnableCalcUserDateTotal(TRUE); $pf->setEnableCalcException(TRUE); if ($pf->Save(FALSE) == TRUE) { $punch_control_id = $pf->getPunchControlID(); echo " \t\t\t1. Success!"; } else { echo " \t\t\t1. Failed!"; $commit_trans = FALSE; $e++; $errors = $pf->Validator->getErrorsArray(); if (is_array($errors)) { foreach ($errors as $error_arr) { echo " ERROR: " . $error_arr[0] . "\n"; } } } } else {