function perform(&$request, &$response) { $chat_room_data =& fetch_requested_object(); session::destroy('last_message_ids'); setcookie('chat_room_id', $chat_room_data['object_id'], time() + 365 * 24 * 3600); if ($chat_user_data = chat_user::get_chat_user_data()) { if ($chat_user_data['chat_room_id'] != $chat_room_data['object_id']) { chat_system::leave_chat_room($chat_user_data['id'], $chat_user_data['nickname'], $chat_user_data['chat_room_id']); chat_system::enter_chat_room($chat_user_data['id'], $chat_user_data['nickname'], $chat_room_data['object_id']); } $this->view->set('nickname', $chat_user_data['nickname']); } parent::perform(&$request, &$response); }
function enter_chat_room($chat_room_id) { if (!($chat_user_data = chat_user::get_chat_user_data()) || $chat_user_data['chat_room_id'] == $chat_room_id) { return; } if ($chat_user_data['chat_room_id'] != 0) { chat_user::leave_chat_room(); } chat_system::enter_chat_room($chat_user_data['id'], $chat_user_data['nickname'], $chat_room_id); $chat_user_data['chat_room_id'] = $chat_room_id; chat_user::_set_session_chat_user_data($chat_user_data); }