userSession = $userSession; $this->request = $request; $this->connection = $connection; $this->groupManager = $groupManager; $this->userManager = $userManager; } /** * * @NoCSRFRequired * @NoAdminRequired */ public function createGroupFolder(string $gid, string $aid, bool $newagency=false): DataResponse{ if($newagency == false){ $folderManager = new FolderManager($this->connection, $this->groupManager); $newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid); ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur $folderManager->addApplicableGroup($newFolderIdAG, $gid); $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); ## Hinzufügen der Admingruppe, damit die weitere Dateien und Ordneraktionen bei der #Migration klappen $folderManager->addApplicableGroup($newFolderIdAG, "admin"); $folderManager->setGroupPermissions($newFolderIdAG, "admin", '31'); # Set 2 GB Quota $folderManager->setFolderQuota($newFolderIdAG, 2147483648); } // Groupfolder, when a new Agency is registered else{ $folderManager = new FolderManager($this->connection, $this->groupManager); $newFolderIdAG = $folderManager->createFolder('Agenturdaten'); ## Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur $folderManager->addApplicableGroup($newFolderIdAG, $gid); $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); } return new DataResponse(array("status" => $aid)); } /** * Updating the GroupQuota! * * * @NoCSRFRequired * @NoAdminRequired */ public function updateAgencyGroupQuota(string $quota, string $user): DataResponse{ //Updating the UserQuota $responsemessage = ""; $folderManager = new FolderManager($this->connection, $this->groupManager); //Find GroupFolder for this User $groupfolders = $folderManager->getFoldersForUser($this->userManager->get($user)); for($i = 0; $i < sizeof($groupfolders); $i++){ // Groupfolder search if($groupfolders[$i]['mount_point'] == "Agenturdaten"){ // Groupfolder for Agency found, set Quota $folderManager->setFolderQuota($groupfolders[$i]['folder_id'], intval($quota)); $responsemessage = "new quota set"; } break; } return new DataResponse(array("responsemessage" => $responsemessage)); } /** * * @NoCSRFRequired * @NoAdminRequired * @PublicPage * */ public function renameAgencyGroup(string $name, string $id): DataResponse{ $this->groupManager->get($id)->setDisplayName($name); return new DataResponse(array("data" => $name." ".$id)); } }