- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/mysql/iblockelement.php
- Класс: CIBlockElement
- Вызов: CIBlockElement::WF_UnLock
static function WF_UnLock($LAST_ID, $bWorkFlow=true)
{
global $DB, $USER;
$LAST_ID = (int)$LAST_ID;
$USER_ID = is_object($USER)? (int)$USER->GetID(): 0;
if ($bWorkFlow === true)
{
$strSql = "
SELECT
WF_PARENT_ELEMENT_ID,
WF_LOCKED_BY
FROM
b_iblock_element
WHERE
ID = ".$LAST_ID."
";
$z = $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__);
$zr = $z->Fetch();
if(
$zr
&& (
$zr["WF_LOCKED_BY"]==$USER_ID
|| (Loader::includeModule('workflow') && CWorkflow::IsAdmin())
)
)
{
$PARENT_ID = intval($zr["WF_PARENT_ELEMENT_ID"]);
$DB->Query("
UPDATE b_iblock_element
SET
WF_DATE_LOCK = null,
WF_LOCKED_BY = null
WHERE
ID in (".$LAST_ID.", ".$PARENT_ID.")
OR WF_PARENT_ELEMENT_ID = ".$PARENT_ID."
", false, "FILE: ".__FILE__."
LINE: ".__LINE__);
}
}
else
{
$DB->Query("
UPDATE b_iblock_element
SET
WF_DATE_LOCK = null,
WF_LOCKED_BY = null
WHERE
ID = ".$LAST_ID,
false, "FILE: ".__FILE__."
LINE: ".__LINE__);
}
}