diff options
author | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
---|---|---|
committer | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
commit | cf14306c2b3f82a81f8d56669a71633b4d4b5fce (patch) | |
tree | 86700651aa180026e89a66064b0364b1e4346f3f /main/app/sprinkles/account/src/Util | |
parent | 619b01b3615458c4ed78bfaeabb6b1a47cc8ad8b (diff) |
Main merge to user management system - files are now at /main/public/
Diffstat (limited to 'main/app/sprinkles/account/src/Util')
-rwxr-xr-x | main/app/sprinkles/account/src/Util/HashFailedException.php | 21 | ||||
-rwxr-xr-x | main/app/sprinkles/account/src/Util/Util.php | 39 |
2 files changed, 60 insertions, 0 deletions
diff --git a/main/app/sprinkles/account/src/Util/HashFailedException.php b/main/app/sprinkles/account/src/Util/HashFailedException.php new file mode 100755 index 0000000..a0b37d1 --- /dev/null +++ b/main/app/sprinkles/account/src/Util/HashFailedException.php @@ -0,0 +1,21 @@ +<?php +/** + * UserFrosting (http://www.userfrosting.com) + * + * @link https://github.com/userfrosting/UserFrosting + * @license https://github.com/userfrosting/UserFrosting/blob/master/licenses/UserFrosting.md (MIT License) + */ +namespace UserFrosting\Sprinkle\Account\Util; + +use UserFrosting\Support\Exception\HttpException; + +/** + * Password hash failure exception. Used when the supplied password could not be hashed for some reason. + * + * @author Alex Weissman (https://alexanderweissman.com) + */ +class HashFailedException extends HttpException +{ + protected $defaultMessage = 'PASSWORD.HASH_FAILED'; + protected $httpErrorCode = 500; +} diff --git a/main/app/sprinkles/account/src/Util/Util.php b/main/app/sprinkles/account/src/Util/Util.php new file mode 100755 index 0000000..6452990 --- /dev/null +++ b/main/app/sprinkles/account/src/Util/Util.php @@ -0,0 +1,39 @@ +<?php +/** + * UserFrosting (http://www.userfrosting.com) + * + * @link https://github.com/userfrosting/UserFrosting + * @license https://github.com/userfrosting/UserFrosting/blob/master/licenses/UserFrosting.md (MIT License) + */ +namespace UserFrosting\Sprinkle\Account\Util; + +use UserFrosting\Sprinkle\Core\Util\Util as CoreUtil; + +/** + * Util Class + * + * Static utility functions for the account Sprinkle. + * + * @author Alex Weissman (https://alexanderweissman.com) + */ +class Util +{ + /** + * Generate a random, unique username from a list of adjectives and nouns. + */ + static public function randomUniqueUsername($classMapper, $maxLength, $maxTries = 10) + { + for ($n = 1; $n <= 3; $n++) { + for ($m = 0; $m < 10; $m++) { + // Generate a random phrase with $n adjectives + $suggestion = CoreUtil::randomPhrase($n, $maxLength, $maxTries, '.'); + if (!$classMapper->staticMethod('user', 'where', 'user_name', $suggestion)->first()) { + return $suggestion; + } + } + } + + return ''; + } + +} |