/** * Process the token * * @param $token * * @return bool|null|{} */ public function activateUser($token) { $activation = $this->repository->findByToken($token); if (is_null($activation)) { return null; } if ($this->activationService->shouldResend($activation)) { $this->activationService->recreateActivation($activation); return false; } $user = $this->model->find($activation->user_id); if (is_null($user)) { return null; } $user->active = true; $user->save(); $this->repository->destroyActivation($token); $this->activationService->sendActivationEmail($user); return $user; }