} if ($bSameUser && $arFields["ACTIVE"] == "Y") { $arFields["APPROVE"] = "Y"; $arFields["APPROVER"] = $curUser; $arFields["APPROVE_DATE"] = ConvertTimeStamp(time(), "FULL"); $arFields["MARK"] = "N"; } if ($ID) { $dbReport = CTimeManReportFull::GetByID($ID); $arReport = $dbReport->Fetch(); if ($USER->GetID() == $arReport["USER_ID"]) { $res = CTimeManReportFull::Update($ID, $arFields); } if ($arFields["ACTIVE"] == "Y" && $arReport["ACTIVE"] == "N") { $last_date = strtotime("+1 days", MakeTimeStamp($arFields["DATE_TO"])); $last_date = ConvertTimeStampForReport($last_date, "SHORT"); $tm_user->SetLastDate($arReport["USER_ID"], $last_date); $tm_user->CancelDelay(); if (!$bSameUser) { CReportNotifications::SendMessage($ID); } } } else { if (is_array($_SESSION['report_files'])) { $arFields['FILES'] = $_SESSION['report_files']; } $arManagers = CTimeMan::GetUserManagers($curUser); $res = CTimeManReportFull::Add($arFields); if ($res && $arFields["ACTIVE"] != "N" && !$bSameUser) { CReportNotifications::SendMessage($res); }
function Delay($time = 3600) { global $USER; $_SESSION['TIMEMAN_REPORT_DELAY_TIME_' . $USER->GetID()] = ConvertTimeStampForReport(time() + $time, "FULL"); return true; }