/** * Return name of storage. * @return string */ public function getTitle() { $entityId = $this->storage->getEntityId(); if ($entityId == 'shared_files_s1' || $entityId == 'shared_files' || $entityId == 'shared') { return Loc::getMessage('DISK_PROXY_TYPE_COMMON_TITLE_S1'); } return parent::getTitle(); }
/** * Get name of entity (ex. user last name + first name, group name, etc) * By default: get title * @return string */ public function getEntityTitle() { $group = $this->getGroup(); return isset($group['~NAME']) ? $group['~NAME'] : parent::getEntityTitle(); }
/** * Return name of storage. * May be concrete by current user context. * Should not use in notification, email to another person. * @return string */ public function getTitleForCurrentUser() { global $USER; if (is_object($USER) && $USER->getId() == $this->entityId) { return Loc::getMessage('DISK_PROXY_TYPE_USER_TITLE_CURRENT_USER'); } return parent::getTitle(); }
public static function add(array $data, ErrorCollection $errorCollection) { if (!is_subclass_of($data['ENTITY_TYPE'], ProxyType\Base::className())) { throw new SystemException('Invalid class for ProxyType. Must be subclass of ProxyType\\Base'); } $rootObjectData = array(); if (!empty($data['ROOT_OBJECT'])) { $rootObjectData = $data['ROOT_OBJECT']; unset($data['ROOT_OBJECT']); } $storage = parent::add($data, $errorCollection); if (!$storage) { return null; } $folderData = array_merge(array_intersect_key($rootObjectData, array('CREATE_TIME' => true, 'UPDATE_TIME' => true, 'XML_ID' => true)), array('NAME' => Ui\Text::correctFilename($storage->getName()), 'STORAGE_ID' => $storage->getId())); $folder = Folder::add($folderData, $errorCollection); if (!$folder) { return null; } $success = $storage->update(array('ROOT_OBJECT_ID' => $folder->getId())); if (!$success) { return null; } $storage->rootObject = $folder; $event = new Event(Driver::INTERNAL_MODULE_ID, "onAfterAddStorage", array($storage)); $event->send(); $storage->clearByTagCommonStorages(); return $storage; }