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(); return $this->userSession->getSession(); } /** * Method change the GroupName - ADMIN NEED! * * @PublicPage * @NoCSRFRequired * @NoAdminRequired */ public function renameGroup(string $id, string $name){ $this->groupManager->get($id)->setDisplayName($name); return 'OK!'; } /** * @PublicPage * @NoCSRFRequired * * @param: * $id - id of a group * $aid - agencyid * $sk - security-key * @return DataResponse */ public function createAGGroupFolder(string $gid, string $aid, string $sk){ return array('test' => 'hi'); #if($sk == "lkjahstaszd76uhjNJABHM65rftzvb323ADSD567tzu9ztz"){ # echo "groupfolder created"; #$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'); #echo "groupfolder created"; #} #else{ # echo "FAILED"; #} } }