- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/file.php
- Класс: CWebDavFile
- Вызов: CWebDavFile::_move_to_trash
function _move_to_trash($options, $arParams)
{
$io = self::GetIo();
if ($arParams['is_dir'])
{
$params = $this->GetFilesAndFolders($arParams["item_id"]);
if (!empty($params))
{
$tmpParams = $this->arParams;
sort($params, SORT_STRING);
foreach ($params as $file)
{
$localpath = str_replace(array($this->real_path_full, "///", "//"), "/", $file);
$arUndeleteOptions = array(
"props" => array(
array(
"ns" => "BX:",
"name" => "UNDELETE",
"val" => $localpath
)
),
"path" => $localpath
);
$this->PROPPATCH($arUndeleteOptions);
}
$this->arParams = $tmpParams;
}
$destName = $arParams['base_name'] . " " . $this->CorrectName(ConvertTimeStamp(time(), "FULL"));
}
else
{
$arTo = $this->arParams;
$arUndeleteOptions = array(
"path" => $arTo["item_id"],
"props" => array(
array(
"ns" => "BX:",
"name" => "UNDELETE",
"val" => $arTo["item_id"]
)
)
);
$this->PROPPATCH($arUndeleteOptions);
$destName = mb_substr($arTo['base_name'], 0, -mb_strlen($arTo['file_extention']))." " . $this->CorrectName(ConvertTimeStamp(time(), "FULL")) . $arTo['file_extention'];
}
$options['dest_url'] = $io->CombinePath("/", $this->meta_names['TRASH']['name'], $destName);
$options['rename'] = true;
$status = $this->MOVE($options);
if (intval($status) == 201)
{
return "204 No Content";
}
else
{
$GLOBALS["APPLICATION"]->ResetException();
$GLOBALS["APPLICATION"]->ThrowException(GetMessage("WD_FILE_ERROR16"), "FILE_OR_FOLDER_TRASH_ERROR");
return $status;
}
}