public function findByUser(UserModelInterface $user, $ipAddress = null) { $model = $this->createModel(); $query = $model->where('user_id', '=', $userId = $user->getId()); if ($ipAddress) { $query->where(function ($query) use($ipAddress) { $query->where('ip_address', '=', $ipAddress); $query->orWhere('ip_address', '=', NULL); }); } if (!($throttle = $query->first())) { $throttle = $this->createModel(); $throttle->user_id = $userId; if ($ipAddress) { $throttle->ip_address = $ipAddress; } $throttle->save(); } return $throttle; }
public function login(UserModelInterface $user, $remember = false) { if (!$user->isActivated()) { $login = $user->getLogin(); throw new \Exception("Cannot login user [{$login}] as they are not activated."); } $this->user = $user; $toPersist = array($user->getId(), $user->getPersistCode()); $this->session->put('user', $toPersist); if ($remember) { $this->cookie->forever('user', $toPersist); } $user->recordLogin(); }