/**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $user = User::create(['name' => $data['name'], 'nickname' => $data['nickname'], 'email' => $data['email'], 'password' => bcrypt($data['password']), 'avatar' => isset($data['avatar']) ? AvatarController::makeAvatarFromFile($data['avatar']) : null, 'is_verified' => config('login.verification') ? false : true]);
     if (config('login.verification')) {
         $this->mailer->sendEmailVerificationTo($user);
     }
     return $user;
 }
 /**
  * The user has been authenticated.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  mixed  $user
  * @return mixed
  */
 protected function authenticated(Request $request, $user)
 {
     if (config('login.verification') && !$user->is_verified) {
         $this->mailer->sendEmailVerificationTo($user);
     }
     flash()->success(trans('messages.login.title', ['name' => $user->name]), trans('messages.login.content'));
     return isset($request->ref) ? redirect(route($request->ref)) : redirect($this->redirectTo);
 }