• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/mysql/iblockelement.php
  • Класс: CIBlockElement
  • Вызов: CIBlockElement::WF_GetLockStatus
static function WF_GetLockStatus($ID, &$locked_by, &$date_lock)
{
	global $DB, $USER;
	$connection = BitrixMainApplication::getConnection();
	$helper = $connection->getSqlHelper();

	$err_mess = "FILE: ".__FILE__."
LINE:"; $ID = (int)$ID; $MAX_LOCK = (int)COption::GetOptionString("workflow","MAX_LOCK_TIME","60"); $uid = is_object($USER)? (int)$USER->GetID(): 0; $strSql = " SELECT WF_LOCKED_BY, ".$DB->DateToCharFunction("WF_DATE_LOCK")." WF_DATE_LOCK, case when WF_DATE_LOCK is null then 'green' when " . $helper->addSecondsToDateTime($MAX_LOCK * 60, 'WF_DATE_LOCK') . " < " . $helper->getCurrentDateTimeFunction() . " then 'green' when WF_LOCKED_BY = " . $uid . " then 'yellow' else 'red' end LOCK_STATUS FROM b_iblock_element WHERE ID = ".$ID." "; $z = $DB->Query($strSql, false, $err_mess.__LINE__); $zr = $z->Fetch(); $locked_by = $zr["WF_LOCKED_BY"]; $date_lock = $zr["WF_DATE_LOCK"]; return $zr["LOCK_STATUS"]; }