- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblockdocument.php
- Класс: CIBlockDocument
- Вызов: CIBlockDocument::UnlockDocument
static function UnlockDocument($documentId, $workflowId)
{
global $DB;
$strSql = "
SELECT * FROM b_iblock_element_lock
WHERE IBLOCK_ELEMENT_ID = ".intval($documentId)."
";
$z = $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__);
if($z->Fetch())
{
$strSql = "
DELETE FROM b_iblock_element_lock
WHERE IBLOCK_ELEMENT_ID = ".intval($documentId)."
AND (LOCKED_BY = '".$DB->ForSQL($workflowId, 32)."' OR '".$DB->ForSQL($workflowId, 32)."' = '')
";
$z = $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__);
$result = $z->AffectedRowsCount();
}
else
{//Success unlock when there is no locks at all
$result = 1;
}
if ($result > 0)
{
foreach (GetModuleEvents("iblock", "CIBlockDocument_OnUnlockDocument", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array(array("iblock", "CIBlockDocument", $documentId)));
}
}
return $result > 0;
}