public function login($email, $password) { if ($this->loggedIn) { return true; } $user = new UserModel(); $user->filter('email', $email); $user->filter('password', $this->hashPassword($email, $password)); if ($user->count() < 1) { return false; } $user = $user->current(); $secret = sha1(uniqid() . microtime(true)); /* Valid user; create a session. */ $sess = new SessionModel(); $in = $sess->create(); $in->user = $user->id; $in->remote_ip = ip2long($_SERVER['REMOTE_ADDR']); $in->created_unix = time(); $in->secret = $secret; $in->push(); setcookie('dn_uid', $user->id, time() + 315576000); setcookie('dn_secret', $secret, time() + 315576000); return true; }