• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/folder.php
  • Класс: BitrixDiskFolder
  • Вызов: Folder::deleteNonRecursive
protected function deleteNonRecursive($deletedBy)
{
	foreach($this->getSharingsAsReal() as $sharing)
	{
		$sharing->delete($deletedBy);
	}

	//with status unreplied, declined (not approved)
	$success = SharingTable::deleteByFilter(array(
		'REAL_OBJECT_ID' => $this->id,
	));

	if(!$success)
	{
		return false;
	}

	SimpleRightTable::deleteBatch(array('OBJECT_ID' => $this->id));

	$success = RightTable::deleteByFilter(array(
		'OBJECT_ID' => $this->id,
	));

	if(!$success)
	{
		return false;
	}
	Driver::getInstance()->getIndexManager()->dropIndex($this);
	Driver::getInstance()->getDeletedLogManager()->mark($this, $deletedBy);

	$resultDelete = FolderTable::delete($this->id);
	if(!$resultDelete->isSuccess())
	{
		return false;
	}

	if(!$this->isLink())
	{
		//todo potential - very hard operation.
		foreach(Folder::getModelList(array('filter' => array('REAL_OBJECT_ID' => $this->id))) as $link)
		{
			$link->deleteTree($deletedBy);
		}
	}

	$event = new Event(Driver::INTERNAL_MODULE_ID, "onAfterDeleteFolder", array($this->getId(), $deletedBy));
	$event->send();

	return true;
}