- Модуль: workflow
- Путь к файлу: ~/bitrix/modules/workflow/classes/general/workflow.php
- Класс: CAllWorkflow
- Вызов: CAllWorkflow::OnChangeFile
static function OnChangeFile($path, $site)
{
global $BX_WORKFLOW_PUBLISHED_PATH, $BX_WORKFLOW_PUBLISHED_SITE;
if($BX_WORKFLOW_PUBLISHED_PATH == $path && $BX_WORKFLOW_PUBLISHED_SITE == $site)
return ;
global $DB, $USER, $APPLICATION;
$HISTORY_SIMPLE_EDITING = COption::GetOptionString("workflow","HISTORY_SIMPLE_EDITING","N");
if ($HISTORY_SIMPLE_EDITING=="Y")
{
$HISTORY_COPIES = intval(COption::GetOptionString("workflow","HISTORY_COPIES","10"));
CWorkflow::CleanUpHistoryCopies_SE($path,$HISTORY_COPIES-1);
if ($HISTORY_COPIES>0)
{
$DOC_ROOT = CSite::GetSiteDocRoot($site);
$filesrc = $APPLICATION->GetFileContent($DOC_ROOT.$path);
$arContent = ParseFileContent($filesrc);
$TITLE = $arContent["TITLE"];
$BODY = $arContent["CONTENT"];
$arFields = array(
"DOCUMENT_ID" => 0,
"MODIFIED_BY" => $USER? $USER->GetID(): 1,
"TITLE" => $TITLE,
"FILENAME" => $path,
"SITE_ID" => $site,
"BODY" => $BODY,
"BODY_TYPE" => "html",
"STATUS_ID" => 1,
"~TIMESTAMP_X" => $DB->CurrentTimeFunction(),
);
$DB->Add("b_workflow_log", $arFields, array("BODY"), "workflow");
}
}
}