• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/dav.php
  • Класс: CDav
  • Вызов: CDav::_isDavHeaders
static function _isDavHeaders($params = "empty")
{
	$aDavHeaders = array(
		"DAV",
		"IF",
		"DEPTH",
		"OVERWRITE",
		"DESTINATION",
		"LOCK_TOKEN",
		"TIMEOUT",
		"STATUS_URI"
	);

	foreach ($aDavHeaders as $header)
	{
		if (array_key_exists("HTTP_".$header, $_SERVER))
		{
			return true;
		}
	}

	$aDavMethods = array(
		"PROPFIND",
		"PROPPATCH",
		"MKCOL",
		"COPY",
		"MOVE",
		"LOCK",
		"UNLOCK"
	);

	if ($params == "check_options"):
		$aDavMethods[] = "OPTIONS";
	elseif ($params == "check_all"):
		$aDavMethods[] = "OPTIONS";
		$aDavMethods[] = "HEAD";
		$aDavMethods[] = "PUT";
	endif;

	foreach ($aDavMethods as $method)
	{
		if ($_SERVER["REQUEST_METHOD"] == $method)
		{
			return true;
		}
	}

	if (mb_strpos($_SERVER["HTTP_USER_AGENT"], "Microsoft Office") !== false &&
		mb_strpos($_SERVER['HTTP_USER_AGENT'], "Outlook") === false)
	{
		return true;
	}

	return false;
}