コード例 #1
0
 /**
  * getRandomStringAlwaysReturnsStringsOfGivenLength Test
  *
  * @param int $length
  * @param bool $addUpperCase
  * @param bool $addSpecialCharacters
  * @dataProvider getRandomStringAlwaysReturnsStringsOfGivenLengthDateProvider
  * @return void
  * @test
  */
 public function getRandomStringAlwaysReturnsStringsOfGivenLength($length, $addUpperCase, $addSpecialCharacters)
 {
     for ($i = 0; $i < 100; $i++) {
         $string = StringUtility::getRandomString($length, $addUpperCase, $addSpecialCharacters);
         if ($addUpperCase) {
             $regex = '~[a-zA-Z0-9]{' . $length . '}~';
         } else {
             $regex = '~[a-z0-9]{' . $length . '}~';
         }
         $this->assertSame(1, preg_match($regex, $string));
     }
 }
コード例 #2
0
ファイル: UserUtility.php プロジェクト: olek07/GiGaBonus
 /**
  * Autogenerate username and password if it's empty
  *
  * @param User $user
  * @return User $user
  */
 public static function fallbackUsernameAndPassword(User $user)
 {
     $settings = self::getConfigurationManager()->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS);
     $autogenerateSettings = $settings['new']['misc']['autogenerate'];
     if (!$user->getUsername()) {
         $user->setUsername(StringUtility::getRandomString($autogenerateSettings['username']['length'], $autogenerateSettings['username']['addUpperCase'], $autogenerateSettings['username']['addSpecialCharacters']));
         if ($user->getEmail()) {
             $user->setUsername($user->getEmail());
         }
     }
     if (!$user->getPassword()) {
         $password = StringUtility::getRandomString($autogenerateSettings['password']['length'], $autogenerateSettings['password']['addUpperCase'], $autogenerateSettings['password']['addSpecialCharacters']);
         $user->setPassword($password);
         $user->setPasswordAutoGenerated($password);
     }
     return $user;
 }