Example #1
0
         $dbrep = CTimeManReportFull::GetByID($ID);
         $rep = $dbrep->Fetch();
         if (is_array($rep) && $USER_ID == $rep['USER_ID']) {
             $arFields = array("MARK" => in_array($_POST["mark"], array("G", "B", "N")) !== false ? $_POST["mark"] : "X");
             if ($arFields["MARK"] != "X") {
                 $arFields["APPROVER"] = $USER->GetID();
                 $arFields["APPROVE"] = "Y";
                 $arFields["APPROVE_DATE"] = ConvertTimeStamp(time(), "FULL");
             } else {
                 $arFields["APPROVE"] = "N";
                 $arFields["APPROVER"] = 0;
                 $arFields["APPROVE_DATE"] = "";
             }
             CTimeManReportFull::Update($ID, $arFields);
             $CACHE_MANAGER->Clean(CUserReportFull::getInfoCacheId($USER_ID), 'timeman_report_info');
             CReportNotifications::MessageUpdate($ID, $rep, $arFields);
         }
     }
 } elseif ($_POST["mode"] && $OBJID > 0) {
     $arFields = array("UF_REPORT_PERIOD" => $_POST["mode"], "UF_TM_TIME" => IsAmPmMode() ? convertTimeToMilitary($_POST["time"], 'H:MI T', 'HH:MI') : $_POST["time"], "UF_TM_REPORT_DATE" => $_POST["date"], "UF_TM_DAY" => $_POST["day"], "ID" => $OBJID);
     if ($_POST["object"] == "user") {
         $bCanEdit = in_array($OBJID, $arAccessUsers["WRITE"]) && $OBJID != $USER->GetID() || $bCanEditAll || CTimeMan::IsAdmin();
         if ($bCanEdit) {
             $arReportUser = new CUserReportFull($OBJID);
             $res = $arReportUser->SetPeriod($arFields);
             $CACHE_MANAGER->Clean(CReportSettings::getSettingsCacheId($OBJID), 'timeman_report_settings');
             $CACHE_MANAGER->Clean(CUserReportFull::getInfoCacheId($OBJID), 'timeman_report_info');
         }
     } elseif ($_POST["object"] == "dep") {
         $arSubordination = CIntranetUtils::GetSubordinateDepartments($USER->GetID(), true);
         $bCanEdit = in_array($OBJID, $arSubordination) || CTimeMan::IsAdmin();