• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/general.php
  • Класс: CWebDavBase
  • Вызов: CWebDavBase::CheckIfHeader
function CheckIfHeader()
{
	if (isset($_SERVER['HTTP_IF']))
	{
		$arUris = $this->_if_header_parser($_SERVER['HTTP_IF']);

		foreach ($arUris as $uri => $conditions)
		{
			if ($uri == '')
			{
				$uri = $this->uri;
			}

			$state = true;
			foreach ($conditions as $condition)
			{
				if (!strncmp($condition, '$/' . BX_UTF_PCRE_MODIFIER, $condition))
					{
						$this->ThrowError('423 Locked', 'WEBDAV_HEADER_TOCKEN', '', __FILE__.' '.__LINE__);
						return false;
					}
				}
				if (!$this->_check_uri_condition($uri, $condition))
				{
					$this->ThrowError('412 Precondition failed', 'WEBDAV_HEADER_URI', '', __FILE__.' '.__LINE__);
					$state = false;
					break;
				}
			}

			if ($state == true)
			{
				return true;
			}
		}
		return false;
	}
	return true;
}