/** * Creates the admin user based on the configuration data.<br> * Required keys in $config are * <ul> * <li>[username]</li> * <li>[password]</li> * <li>[email]</li> * </ul> * * @param array $config The array holding the above keys */ protected function createAdminUser(array $config) { $userGroup = $this->app->entityManager->getRepository(EntityNames::USER_GROUP)->findOneBy(array('name' => 'Admin')); $now = new DateTime(); $user = new User(); $user->setFirstName(''); $user->setLastName(''); $user->setUserName($config['username']); $user->setPasswordHash(PasswordHandler::hash($config['password'])); $user->setEmail($config['email']); $user->setIsLocked(false); $user->setUserGroup($userGroup); $user->setRegistrationDate($now); $user->setLastLoginDate($now); $user->setHasEmailValidated(false); $this->app->registrationHandler->registerUser($user); }