Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.15 KB | None | 0 0
  1.  
  2. Hooks::before(CREATE_ACCOUNT_SUCCESSFUL, function (&$transaction) {
  3.     $requestBody = [];
  4.  
  5.     $requestBody['username'] = \Nette\Utils\Random::generate(24);
  6.     $requestBody['password'] = \Nette\Utils\Random::generate(24);
  7.     $requestBody['email'] = \Nette\Utils\Random::generate(24) . "@example.com";
  8.  
  9.     $transaction->request->body = json_encode($requestBody);
  10. });
  11.  
  12. Hooks::after(CREATE_ACCOUNT_SUCCESSFUL, function (&$transaction) use ($context) {
  13.     /**
  14.      * @var Context $context
  15.      */
  16.  
  17.     $body = $transaction->request->body;
  18.     $request = json_decode($body);
  19.  
  20.     $username = $request->username;
  21.     $email = $request->email;
  22.     $password = $request->password;
  23.  
  24.     $user = $context->table("users")->where('username', $username)->fetch();
  25.  
  26.     if (!$user) {
  27.         $transaction->fail = "Username does not match!";
  28.     } else {
  29.         if ($email != $user->email) {
  30.             $transaction->fail = "Email does not match!";
  31.         } else {
  32.             if (!\Nette\Security\Passwords::verify($password, $user->password)) {
  33.                 $transaction->fail = "Password does not match!";
  34.             }
  35.         }
  36.     }
  37. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement