- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/classes/general/stateservice.php
- Класс: CBPStateService
- Вызов: CBPStateService::__ExtractState
static function __ExtractState(&$arStates, $arResult)
{
if (!array_key_exists($arResult["ID"], $arStates))
{
$arStates[$arResult["ID"]] = array(
"ID" => $arResult["ID"],
"TEMPLATE_ID" => $arResult["WORKFLOW_TEMPLATE_ID"],
"TEMPLATE_NAME" => $arResult["NAME"],
"TEMPLATE_DESCRIPTION" => $arResult["DESCRIPTION"],
"STATE_MODIFIED" => $arResult["MODIFIED"],
"STATE_NAME" => $arResult["STATE"],
"STATE_TITLE" => $arResult["STATE_TITLE"],
"STATE_PARAMETERS" => ($arResult["STATE_PARAMETERS"] <> '' ? unserialize($arResult["STATE_PARAMETERS"], ['allowed_classes' => false]) : array()),
"WORKFLOW_STATUS" => $arResult["STATUS"],
"STATE_PERMISSIONS" => array(),
"DOCUMENT_ID" => array($arResult["MODULE_ID"], $arResult["ENTITY"], $arResult["DOCUMENT_ID"]),
"STARTED" => $arResult["STARTED"],
"STARTED_BY" => $arResult["STARTED_BY"],
"STARTED_FORMATTED" => $arResult["STARTED_FORMATTED"],
);
}
if ($arResult["PERMISSION"] <> '' && $arResult["OBJECT_ID"] <> '')
{
$arResult["PERMISSION"] = mb_strtolower($arResult["PERMISSION"]);
if (!array_key_exists($arResult["PERMISSION"], $arStates[$arResult["ID"]]["STATE_PERMISSIONS"]))
$arStates[$arResult["ID"]]["STATE_PERMISSIONS"][$arResult["PERMISSION"]] = array();
$arStates[$arResult["ID"]]["STATE_PERMISSIONS"][$arResult["PERMISSION"]][] = $arResult["OBJECT_ID"];
}
}