- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/usertypewebdav.php
- Класс: CUserTypeWebdavElement
- Вызов: CUserTypeWebdavElement::_deleteDroppedFiles
static function _deleteDroppedFiles($arFiles)
{
if (!is_array($arFiles) || sizeof($arFiles) <= 0)
return false;
static $arRootID = array();
$ibe = new CIBlockElement();
$dbWDFile = $ibe->GetList(array(), array('ID' => $arFiles), false, false, array('ID', 'NAME', 'IBLOCK_SECTION_ID', 'IBLOCK_ID'));
if ($dbWDFile)
{
while ($arWDFile = $dbWDFile->Fetch())
{
$id = $arWDFile['ID'];
if (!isset($arRootID[$arWDFile['IBLOCK_ID']]))
{
$dbChain = CIBlockSection::GetNavChain($arWDFile['IBLOCK_ID'], $arWDFile['IBLOCK_SECTION_ID']);
if ($dbChain && $arChain = $dbChain->Fetch())
$arRootID[$arWDFile['IBLOCK_ID']] = $arChain['ID'];
}
if (isset($arRootID[$arWDFile['IBLOCK_ID']]))
{
$rootID = $arRootID[$arWDFile['IBLOCK_ID']];
$ob = new CWebDavIblock($arWDFile['IBLOCK_ID'], '', array("ROOT_SECTION_ID" => $rootID)); // for user .dropped files
$ob->DeleteDroppedFile($id);
}
}
}
foreach($arRootID as $iblockID=>$rootID)
{
$ob = new CWebDavIblock($iblockID, '', array("ROOT_SECTION_ID" => $rootID));
$ob->CleanUpDropped();
}
}