- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/diskstorage.php
- Класс: CDiskStorage
- Вызов: CDiskStorage::addDirectory
public function addDirectory($name, $parentDirectoryId)
{
if(!$parentDirectoryId)
{
$folder = $this->storage->getRootObject();
}
else
{
$folder = Folder::loadById($parentDirectoryId);
}
if(!$folder)
{
$this->errorCollection->add(array(new Error("Could not find folder " . __METHOD__ . " by {$name}, {$parentDirectoryId}", 189146)));
return array();
}
if(!$folder->canAdd($this->storage->getCurrentUserSecurityContext()))
{
throw new CWebDavAccessDeniedException;
}
$sub = $folder->addSubFolder(array(
'NAME' => $name,
'CREATED_BY' => $this->getUser()->getId(),
));
if($sub)
{
$this->loadFormattedFolderTreeAndBreadcrumbs();
return $this->formatFolderToResponse($sub);
}
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " , addSubFolder by name {$name}, parentId {$folder->getId()}", 199147)));
$this->errorCollection->add($folder->getErrors());
/** @var Folder $folder */
$parentId = $folder->getRealObject()->getId();
$folder = Folder::load(array('NAME' => $name, 'PARENT_ID' => $parentId));
if($folder)
{
$this->loadFormattedFolderTreeAndBreadcrumbs();
return $this->formatFolderToResponse($folder);
}
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " , load Folder by name {$name}, parentId {$parentId}", 11147)));
return array();
}