function perform() { $chat_room_data =& fetch_mapped_by_url(); session::destroy('last_message_ids'); setcookie('chat_room_id', $chat_room_data['object_id'], time() + 365 * 24 * 3600); chat_user::enter_chat_room($chat_room_data['object_id']); return parent::perform(); }
function _valid_perform() { $chat_user_data = chat_user::get_chat_user_data(); $form_data = $this->dataspace->export(); $chat_user_data['color'] = $form_data['color']; $chat_user_data['status'] = $chat_user_data['status'] & ~3 ^ $form_data['sex']; chat_user::update_chat_user($chat_user_data); return new close_popup_response(RESPONSE_STATUS_FORM_SUBMITTED); }
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); }
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://www.0x00.ru, mailto: bit@0x00.ru * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once LIMB_DIR . 'core/lib/session/session.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_system.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_user.class.php'; start_user_session(); $chat_user_data = chat_user::get_chat_user_data(); if ($_REQUEST['ignorant_id'] && $chat_user_data) { chat_system::toggle_ignore_user($chat_user_data['id'], $chat_user_data['nickname'], $_REQUEST['ignorant_id'], $chat_user_data['chat_room_id']); } //$_COOKIE['chat_room_id'] $chat_room_id = $chat_user_data['chat_room_id']; $chat_users = chat_system::get_users_for_room($chat_room_id, $chat_user_data['id']); if (sizeof($chat_users)) { $users = ''; foreach ($chat_users as $chat_user) { $users[] = "['{$chat_user['id']}','{$chat_user['nickname']}','{$chat_user['status']}', '{$chat_user['ignored']}']"; } $users = '[' . implode(',', $users) . ']'; $header = sprintf(strings::get('users_header', 'chat'), count($chat_users)); echo "<script>\n"; echo "top.set_active_users({$users});\n";
function update_chat_user($data) { $nickname = $data['nickname']; $status = ${$data}['status']; $color = $data['color']; $time = time(); $db =& db_factory::instance(); $sql = "UPDATE chat_user \n\t\t\t\t\t\tSET time={$time}, status = {$status},\n\t\t\t\t\t\t\tcolor = {$color}, nickname = {$nickname},\n\t\t\t\t\t\tWHERE id='{$chat_user_id}'"; $db->sql_exec($sql); chat_user::_set_session_chat_user_data($row); }
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://www.0x00.ru, mailto: bit@0x00.ru * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once LIMB_DIR . 'core/lib/session/session.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_user.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_system.class.php'; start_user_session(); if (!isset($_POST['recipient_id']) || !isset($_POST['message'])) { exit; } if (!($chat_user_data = chat_user::get_chat_user_data())) { exit; } $file = $_FILES['file'] ? $_FILES['file'] : null; chat_system::send_message($_POST['message'], $chat_user_data['chat_room_id'], $chat_user_data['id'], $_POST['recipient_id'], $file); ?> <script> top.send_message_finished(); </script>
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://www.0x00.ru, mailto: bit@0x00.ru * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once(LIMB_DIR . 'core/lib/session/session.class.php'); require_once(LIMB_DIR . 'core/model/chat/chat_user.class.php'); require_once(LIMB_DIR . 'core/request/response.class.php'); require_once(LIMB_DIR . 'core/lib/system/message_box.class.php'); start_user_session(); if($_POST['nickname'] && !chat_user :: login($_POST['nickname'])) message_box :: write_notice('such name already exists'); $response =& response :: instance(); $response->redirect($_SERVER['HTTP_REFERER']); $response->commit(); ?>
<?php /********************************************************************************** * Copyright 2004 BIT, Ltd. http://www.0x00.ru, mailto: bit@0x00.ru * * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ require_once LIMB_DIR . 'core/lib/session/session.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_user.class.php'; require_once LIMB_DIR . 'core/model/chat/chat_system.class.php'; start_user_session(); chat_user::leave_chat_room();
function get_user_attribute($attribute) { $chat_user_data = chat_user::get_chat_user_data(); if ($attribute == 'status') { return chat_user::decode_status($chat_user_data[$attribute]); } return $chat_user_data[$attribute]; }