public function handleInitSession($event) { $global = Ibos::app()->setting->toArray(); Ibos::app()->session->load($global["cookie"]["sid"], $global["clientip"], Ibos::app()->user->isGuest ? 0 : Ibos::app()->user->uid); $global["sid"] = Ibos::app()->session->sid; $global["session"] = Ibos::app()->session->var; if (!empty($global["sid"]) && $global["sid"] != $global["cookie"]["sid"]) { MainUtil::setCookie("sid", $global["sid"], 86400); } Ibos::app()->setting->copyFrom($global); $isNewSession = Ibos::app()->session->isNew; if ($isNewSession) { if (EnvUtil::ipBanned($global["clientip"])) { Ibos::error(Ibos::lang("User banned", "message")); } } if (!Ibos::app()->user->isGuest && ($isNewSession || Ibos::app()->session->getKey("lastactivity") + 600 < TIMESTAMP)) { Ibos::app()->session->setKey("lastactivity", TIMESTAMP); if ($isNewSession) { UserStatus::model()->updateByPk(Ibos::app()->user->uid, array("lastip" => $global["clientip"], "lastvisit" => TIMESTAMP)); } } }