• Модуль: 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();
	}
}