userSession = $userSession; $this->request = $request; $this->connection = $connection; $this->groupManager = $groupManager; $this->userManager = $userManager; } // Return an random Id-Ele for generating single IDs public function generateRandomPassword($length = 50) { $characters = '_=()?!-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } /** * @NoCSRFRequired */ public function startMigration(string $agencyid, string $mainurl) { $json = file_get_contents($mainurl.$agencyid); // Hier werden die Nutzer erstellt, anhand eines JSON-Arrays von der API (migrateAgency) $ag_data = json_decode($json, true); $feedbackstring = "Erstelle Nutzer: "; foreach($ag_data as $ele){ $feedbackstring .= $ele['displayname'].", "; if($this->userManager->userExists($ele['userid']) == false){ $tempuser = $this->userManager->createUser($ele['userid'], $this->generateRandomPassword()); $tempuser->setEmailAddress($ele['userid']); $tempuser->setDisplayName($ele['displayname']); } } return $feedbackstring; } /** * @PublicPage * @NoCSRFRequired * @NoAdminRequired */ public function getcurrentuser(){ return $this->userSession->getUser()->getUID(); } /** * Method change the GroupName - ADMIN NEED! * * @PublicPage * @NoCSRFRequired * @NoAdminRequired */ public function renameGroup(string $id, string $name){ $this->groupManager->get($id)->setDisplayName($name); return 'OK!'; } /** * @NoAdminRequired */ public function createAGGroupFolder(string $gid, string $aid){ //if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){ #$folderManager = new FolderManager($this->connection, $this->groupManager); #$newFolderIdAG = $folderManager->createFolderss('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'); return new JSONResponse([ 'status' => 'error', 'data' => [ 'message' => 'Folder not found' ], ]); // } //else{ // return var_dump("FAIL GF CREATING"); #} } }