kernel = $kernel; $this->ldap = $ldapservice; $this->output = new ConsoleOutput(); } public function load(ObjectManager $manager): void { $this->manager = $manager; // Reset autoincrement // app:Init $this->writeln('app:Init'); $application = new Application($this->kernel); $application->setAutoExit(false); $input = new ArrayInput(['command' => 'app:Init']); $boutput = new BufferedOutput(); $application->run($input, $boutput); $manager->flush(); $this->writeln('LDAP'); $baseorganisation = $this->ldap->getParameter('basedn'); // Purge de la strucutre annuaire $this->ldap->deleteByDN('ou=crous01,'.$baseorganisation, true); $this->ldap->deleteByDN('ou=crous02,'.$baseorganisation, true); // Création de la structure $this->ldap->addOrganisation('ou=crous01,'.$baseorganisation); $this->ldap->addOrganisation('ou=users,ou=crous01,'.$baseorganisation); $this->ldap->addOrganisation('ou=crous02,'.$baseorganisation); $this->ldap->addOrganisation('ou=users,ou=crous02,'.$baseorganisation); // Création user $this->submitUser('admin','NUO SSO','Administrateur','uid=admin,ou=users,ou=crous01,'.$baseorganisation); $this->submitUser('user001','001','User','uid=user001,ou=users,ou=crous01,'.$baseorganisation); $this->submitUser('user002','002','User','uid=user002,ou=users,ou=crous02,'.$baseorganisation); } private function submituser($username,$firstname,$lastname,$dn) { $user = new User(); $user->setUsername($username); $user->setPassword($username); $user->setRoles(['ROLE_USER']); $user->setFirstname($firstname); $user->setLastname($lastname); $user->setEmail($username.'@noreply.fr'); $this->ldap->fixtureUser($user,$dn); } private function writeln($string) { $this->output->writeln(' > '.$string.''); } private function csv_to_array($csv, $delimiter = ';', $enclosure = '', $escape = '\\', $terminator = "\n") { $r = []; $rows = explode($terminator, trim($csv)); $names = array_shift($rows); $names = str_getcsv($names, $delimiter, $enclosure, $escape); $nc = count($names); foreach ($rows as $row) { if (trim($row)) { $values = str_getcsv($row, $delimiter, $enclosure, $escape); if (!$values) { $values = array_fill(0, $nc, null); } @$r[] = array_combine($names, $values); } } return $r; } }