$EPILOG = GetDefaultEpilog(); } } $arFields["ENTERED_BY"] = $USER->GetID(); $arFields["PROLOG"] = $PROLOG; $arFields["EPILOG"] = $EPILOG; $ID = CWorkflow::Insert($arFields); } CWorkflow::LinkFiles2Document($arUploadedFiles, $ID); if (is_array($del_files)) { foreach ($del_files as $del_id) { CWorkflow::CleanUpFiles($ID, $del_id); } } $strError = ""; CWorkflow::SetStatus($ID, $STATUS_ID, intval($OLD_STATUS_ID), false); $strError = ""; if (!$message) { if ($STATUS_ID == 1) { $strNote .= GetMessage("FLOW_PUBLISHED_SUCCESS"); } if (strlen($save) > 0 || $STATUS_ID == 1) { if (strlen($return_url) > 0) { LocalRedirect($return_url); } else { LocalRedirect("/bitrix/admin/workflow_list.php?lang=" . LANGUAGE_ID . "&set_default=Y&strError=" . urlencode($strError) . "&strNote=" . urlencode($strNote)); } } elseif (strlen($apply) > 0) { LocalRedirect("/bitrix/admin/workflow_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $ID . "&strError=" . urlencode($strError) . "&strNote=" . urlencode($strNote) . "&" . $tabControl->ActiveTabParam() . (strlen($return_url) ? "&return_url=" . urlencode($return_url) : "")); } }
$filter = new CAdminFilter($sTableID . "_filter_id", array(GetMessage('FLOW_F_ID'), GetMessage('FLOW_F_LOCK_STATUS'), GetMessage("FLOW_F_DATE_MODIFY"), GetMessage('FLOW_F_MODIFIED_BY'), GetMessage('FLOW_F_SITE'), GetMessage('FLOW_F_FILENAME'), GetMessage('FLOW_F_TITLE'), GetMessage('FLOW_F_BODY'), GetMessage('FLOW_F_STATUS'), GetMessage('FLOW_F_LOGIC'))); InitBVar($find_id_exact_match); InitBVar($find_modified_user_id_exact_match); InitBVar($find_filename_exact_match); InitBVar($find_title_exact_match); InitBVar($find_body_exact_match); InitBVar($find_status_exact_match); $arFilter = array("ID" => $find_id, "DATE_MODIFY_1" => $find_modify_1, "DATE_MODIFY_2" => $find_modify_2, "MODIFIED_USER_ID" => $find_type == "modified_by" && strlen($find) > 0 ? $find : $find_modified_user_id, "LOCK_STATUS" => $find_lock_status, "STATUS" => $find_status, "STATUS_ID" => $find_status_id, "FILENAME" => $find_filename, "SITE_ID" => $find_site_id, "TITLE" => $find_type == "title" && strlen($find) > 0 ? $find : $find_title, "BODY" => $find_type == "body" && strlen($find) > 0 ? $find : $find_body, "ID_EXACT_MATCH" => $find_id_exact_match, "MODIFIED_USER_ID_EXACT_MATCH" => $find_modified_user_id_exact_match, "FILENAME_EXACT_MATCH" => $find_filename_exact_match, "TITLE_EXACT_MATCH" => $find_title_exact_match, "BODY_EXACT_MATCH" => $find_body_exact_match, "STATUS_EXACT_MATCH" => $find_status_exact_match); if ($WORKFLOW_RIGHT > "R" && $lAdmin->EditAction()) { foreach ($FIELDS as $ID => $arFields) { $ID = intval($ID); if (!$lAdmin->IsUpdated($ID)) { continue; } if (CWorkflow::IsAllowEdit($ID, $locked_by, $date_lock)) { CWorkflow::SetStatus($ID, $arFields["STATUS_ID"], $FIELDS_OLD[$ID]["STATUS_ID"]); CWorkflow::UnLock($ID); } else { if (intval($locked_by) > 0) { $str = str_replace("#DID#", $ID, GetMessage("FLOW_DOCUMENT_LOCKED")); $str = str_replace("#ID#", $locked_by, $str); $str = str_replace("#DATE#", $date_lock, $str); $lAdmin->AddUpdateError($str, $ID); //$strError .= $str."<br>"; } else { $str = str_replace("#ID#", $ID, GetMessage("FLOW_DOCUMENT_IS_NOT_AVAILABLE")); $lAdmin->AddUpdateError($str, $ID); //$strError .= $str."<br>"; } } }