- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/general.php
- Класс: CWebDavBase
- Вызов: CWebDavBase::base_PROPPATCH
function base_PROPPATCH()
{
if ($this->_check_lock_status($this->_path))
{
global $APPLICATION;
$options = array(
'path' => $this->_udecode($this->_path));
$propinfo = new __CParseProppatch();
$propinfo->LoadFromPhpInput();
if (!$propinfo->success)
{
$this->ThrowError('400 Error', 'WEBDAV_PROPPATCH_PARSE', '', __FILE__.' '.__LINE__);
return;
}
$options['props'] = $propinfo->props;
$responsedescr = $this->PROPPATCH($options);
$this->SetStatus("207 Multi-Status");
header('Content-Type: text/xml; charset="utf-8"');
echo "n";
echo "n";
echo " n";
echo " " . $APPLICATION->ConvertCharset($this->base_url . $options['path'], SITE_CHARSET, 'UTF-8'). "n";
foreach ($options["props"] as $prop)
{
echo " n";
echo " <".$prop['name']." xmlns="".$prop['ns'].""/>n";
echo " HTTP/1.1 ".$prop['status']."n";
echo " n";
}
if ($responsedescr)
{
echo " ".
$APPLICATION->ConvertCharset(htmlspecialcharsbx($responsedescr), SITE_CHARSET, 'UTF-8').
"n";
}
echo " n";
echo "n";
}
else
{
$this->ThrowError("423 Locked", 'WEBDAV_PROPPATCH_LOCKED', '', __FILE__.' '.__LINE__);
}
}