Может ли кто-нибудь помочь мне, как программно добавить групповые разрешения в Диспетчер файлов, что эквивалентно добавлению групповых разрешений в Панель управления -> Система и настройки -> Файлы -> Разрешения файлового менеджера -> Добавить файл?
Я могу добавить групповые разрешения в папку:
$group = Group::getByName('Group Name');
if (is_object($group)) {
$file_system = $this->app->make(Filesystem::class);
$root_folder = $file_system->getRootFolder();
$folder_name = t('My Folder');
$folder = FileFolder::getNodeByName($folder_name);
if (!is_object($folder) || !$folder instanceof FileFolder) {
$folder->assignPermissions($group, ['add_file']);
}
}
Но как мне сделать это глобально не только для папки, но так, чтобы она была установлена в Dashboard? Я пробовал это, но это не работает:
$pk = PermissionKey::getByHandle('add_file');
$pk->setPermissionObject($folder);
$pa = $pk->getPermissionAccessObject();
$pe = GroupEntity::getOrCreate($group);
$pa->addListItem($pe, false, PermissionKey::ACCESS_TYPE_INCLUDE);
А как мне удалить его при удалении пакета?
Спасибо.