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);
 }
Example #4
0
<?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>
Example #7
0
<?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();
?>
Example #8
0
<?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];
 }