• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblockdocument.php
  • Класс: CIBlockDocument
  • Вызов: CIBlockDocument::LockDocument
static function LockDocument($documentId, $workflowId)
{
	global $DB;
	$strSql = "
		SELECT * FROM b_iblock_element_lock
		WHERE IBLOCK_ELEMENT_ID = ".intval($documentId)."
		AND LOCKED_BY = '".$DB->ForSQL($workflowId, 32)."'
	";
	$z = $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__); if($z->Fetch()) { //Success lock because documentId already locked by workflowId return true; } else { $strSql = " INSERT INTO b_iblock_element_lock (IBLOCK_ELEMENT_ID, DATE_LOCK, LOCKED_BY) SELECT E.ID, ".$DB->GetNowFunction().", '".$DB->ForSQL($workflowId, 32)."' FROM b_iblock_element E LEFT JOIN b_iblock_element_lock EL on EL.IBLOCK_ELEMENT_ID = E.ID WHERE ID = ".intval($documentId)." AND EL.IBLOCK_ELEMENT_ID IS NULL "; $z = $DB->Query($strSql, false, "FILE: ".__FILE__."
LINE: ".__LINE__); return $z->AffectedRowsCount() > 0; } }