app\main\controllers\AuthController::storeRegistrationForm PHP Метод

storeRegistrationForm() публичный Метод

POST | This handles the registration with validation.
public storeRegistrationForm ( ) : mixed
Результат mixed
    public function storeRegistrationForm()
    {
        $inputs = request()->get();
        $validator = new RegistrationValidator();
        $validation = $validator->validate($inputs);
        if (count($validation)) {
            session()->set('input', $inputs);
            return redirect()->to(url()->previous())->withError(RegistrationValidator::toHtml($validation));
        }
        $token = bin2hex(random_bytes(100));
        $connection = db()->connection();
        try {
            $connection->begin();
            $user = new User();
            $success = $user->create(['email' => $inputs['email'], 'password' => security()->hash($inputs['password']), 'token' => $token]);
            if ($success === false) {
                throw new Exception('It seems we can\'t create an account, ' . 'please check your access credentials!');
            }
            queue(\Components\Queue\Email::class, ['function' => 'registeredSender', 'template' => 'emails.registered-inlined', 'to' => $inputs['email'], 'url' => route('activateUser', ['token' => $token]), 'subject' => 'You are now registered, activation is required.']);
            $connection->commit();
        } catch (TransactionFailed $e) {
            $connection->rollback();
            throw $e;
        } catch (Exception $e) {
            $connection->rollback();
            throw $e;
        }
        return redirect()->to(route('showLoginForm'))->withSuccess(lang()->get('responses/register.creation_success'));
    }