- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/general.php
- Класс: CWebDavBase
- Вызов: CWebDavBase::_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;
}