public static function userDeleteIdle()
 {
     $users_model = new UsersModel();
     $users_model->setCond('timestamp < "' . date('Y-m-d H:i:s', strtotime('-' . TIME_USER_IDLE . ' seconds')) . '"');
     $users_model->setFields(array('active'));
     $users_model->setData(array('active' => 0));
     $users = $users_model->load_all();
     if (count($users)) {
         foreach ($users as $load) {
             if (isset($_SESSION['chat_login']['timestamp']) && $load['timestamp'] >= $_SESSION['chat_login']['timestamp']) {
                 AlertModel::addExit($load['user'], $load['id'], $load['id_room']);
             }
         }
     }
     return $users_model->delete();
 }
Beispiel #2
0
<?php

require_once 'app/autoload.php';
if (isset($_SESSION['chat_login']['id_user'])) {
    // Return
    $return = '';
    // Update dos users
    $users = new UsersModel();
    $users->setFields(array('timestamp'));
    $users->setData(array('timestamp' => date('Y-m-d H:i:s')));
    $users->update($_SESSION['chat_login']['id_user']);
    // Lendo as messages
    $users = new UsersModel();
    $users->setCond('id_room = ' . $_SESSION['chat_login']['id_room']);
    $users->setCond('id != ' . $_SESSION['chat_login']['id_user']);
    $users->setCond('active = 1');
    $users->setOrderBy('user asc');
    $load = $users->load_all();
    $json = array();
    foreach ($load as $line) {
        // Retorno
        $user = Filters::convert(htmlentities($line['user']));
        $return .= '<a href="#" id="user_' . $line['id'] . '" rel="' . $line['id'] . '">' . $user . '</a>';
        $json[] = '["' . $line['id'] . '", "' . $user . '"]';
    }
    echo '[' . implode(',', $json) . ']';
} else {
    echo 'error';
}
Beispiel #3
0
 $message = strip_tags($message);
 $message = substr($message, 0, 255);
 $reserved = $_POST['reserved'] == 'true' ? 1 : 0;
 // Check user active
 $users = new UsersModel();
 $users->setCond('id_room = ' . $_SESSION['chat_login']['id_room']);
 $users->setCond('id = ' . $id_user);
 $users->setCond('active = 1');
 $load = $users->load_all();
 if (empty($load)) {
     header('location: logout.php');
     exit;
 }
 // To user
 $users = new UsersModel();
 $users->setCond('id_room = ' . $_SESSION['chat_login']['id_room']);
 $users->setCond('id = ' . $to_user);
 $load = $users->load_all();
 // Checks if user belongs to the same room
 if (isset($load[0]) && count($load[0])) {
     $data = new StdClass();
     $data->timestamp = date('Y-m-d H:i:s');
     $fields = array_keys((array) $data);
     // Update timestamp of user
     $users = new UsersModel();
     $users->setFields($fields);
     $users->setData($data);
     $users->update($id_user);
     $send = true;
 } else {
     if ($to_user == 0) {
Beispiel #4
0
     $class_box = 'box_msg_' . $line['type'];
     if (MESSAGE_TYPE == 'inline') {
         $class_box .= ' box_msg_inline';
     }
     $return .= '<div class="' . $class_box . '">';
     $return .= '<span class="head_msg">';
     $return .= '<span class="time_msg">' . date('H:i:s', strtotime($line['timestamp'])) . '</span> ';
     $return .= '<span class="user_name" rel="' . $id_user . '">' . $user_name . '</span> ';
     $return .= '</span> ';
     $return .= '<span class="message_user_' . $line['type'] . '">' . $message . '</span>';
     $return .= '</div>';
 } else {
     // Whose behalf he is receiving
     $name_to = Locale::setContent('All users');
     $users = new UsersModel();
     $users->setCond('active = 1');
     $users->setCond('id = ' . $line['to_user']);
     $user = $users->load_all();
     if (isset($user[0]) && count($user[0])) {
         $name_to = Filters::convert(htmlentities($user[0]['user']));
     }
     $class_box .= $line['reserved'] ? ' box_msg_reserved inline_green' : '';
     $class_box .= $line['to_user'] == $_SESSION['chat_login']['id_user'] ? ' to_you_message' : '';
     $class_box .= $line['id_user'] == $_SESSION['chat_login']['id_user'] ? ' for_you_message' : '';
     if (MESSAGE_TYPE == 'inline') {
         $class_box .= ' box_msg_inline';
     }
     $return .= '<div class="' . $class_box . '">';
     $return .= '<span class="head_msg">';
     $return .= '<span class="time_msg">' . date('H:i:s', strtotime($line['timestamp'])) . '</span> ';
     $return .= '<span class="user_name" rel="' . $id_user . '">' . $user_name . '</span> ';
Beispiel #5
0
			<label for="user">Nick</label>
			<input type="text" name="user" id="user" maxlength="20" /> 
		</div>
		<div class="block_field">
			<label for="id_room"><?php 
echo Locale::setContent('Room');
?>
</label>
			<select name="id_room" id="id_room">
			<?php 
$rooms_model = new RoomsModel();
$rooms_model->setOrderBy('room');
$rooms = $rooms_model->load_all();
foreach ($rooms as $room) {
    $users_model = new UsersModel();
    $users_model->setCond('active = 1');
    $users_model->setCond('id_room = ' . $room['id']);
    $users = $users_model->load_all();
    $total = $users_model->count();
    echo '<option value="' . $room['id'] . '">' . $room['room'] . ' (' . $total . ')</option>';
}
?>
			</select>
		</div>
		<div class="block_field">
			<img src="captcha.php" />
			<input type="text" name="captcha" id="captcha" maxlength="4" />
		</div>
		<div class="block_field block_submit">
			<button type="submit" value="<?php 
echo Locale::setContent('Enter');
Beispiel #6
0
		<h4 id="users_online"><?php 
echo Locale::setContent('Users online:');
?>
</h4>
		<a href="#" id="user_0" rel="0" class="active_user_talk"><?php 
echo Locale::setContent('All users');
?>
</a>
		<?php 
echo '<span class="user_me"><a href="#" id="user_' . $_SESSION['chat_login']['id_user'] . '" rel="' . $_SESSION['chat_login']['id_user'] . '">' . Filters::convert($_SESSION['chat_login']['user']) . '</a></span>';
?>
		<div id="box_users">
			<?php 
$filters = array('all' => 'convert');
$users_model = new UsersModel();
$users_model->setCond('id_room = ' . $id_room);
$users_model->setCond('active = 1');
$users_model->setCond('id <> ' . $id_user);
$users_model->setOrderBy('user asc');
$users = $users_model->addFilter($users_model->load_all(), $filters);
foreach ($users as $load) {
    echo '<a href="#" id="user_' . $load['id'] . '" rel="' . $load['id'] . '">' . $load['user'] . '</a>';
}
?>
		</div>
	</div>
	
	<div id="content"></div>
	
	<div id="tools">
		<div id="box_talk"></div>
Beispiel #7
0
</form>

<?php 
            }
        } else {
            header('location: rooms.php');
            exit;
        }
        break;
        // Delete room
    // Delete room
    case 'delete':
        if (isset($_GET['room'])) {
            $id_room = (int) $_GET['room'];
            $users_model = new UsersModel();
            $users_model->setCond('id_room = ' . $id_room);
            $users = $users_model->load_all();
            if (empty($users)) {
                $rooms = new RoomsModel();
                $rooms->delete($id_room);
                header('location: rooms.php');
            } else {
                header('location: rooms.php?message=room_not_delete');
            }
            exit;
        }
        break;
        // List rooms
    // List rooms
    case '':
    default:
Beispiel #8
0
					<th>Room</th>
					<th>Capacity</th>
					<th>Capacity exclusive</th>
				</tr>
			</thead>
			<tbody>
				<?php 
$conditions = null;
if (isset($_GET['room'])) {
    $id_room = (int) $_GET['room'];
    $conditions = 'chat_rooms.id = ' . $id_room;
}
$users_model = new UsersModel();
$users_model->setFieldsSelect(array('chat_users.*', 'chat_rooms.room', 'chat_rooms.description', 'chat_rooms.capacity', 'chat_rooms.capacity_exclusive'));
$users_model->setJoin('INNER JOIN chat_rooms ON (chat_users.id_room = chat_rooms.id)');
$users_model->setCond($conditions);
$users = $users_model->load_all();
foreach ($users as $user) {
    echo '<tr>';
    echo '<td><a href="?delete=' . $user['id'] . '">Delete User</a> | <a href="?block_ip=' . $user['ip'] . '">Block IP</a> | <a href="?block_user='******'id'] . '">Block User</a></td>';
    echo '<td>' . $user['id'] . '</td>';
    echo '<td>' . $user['user'] . '</td>';
    echo '<td>' . $user['ip'] . '</td>';
    echo '<td>' . ($user['active'] ? 'Yes' : 'No	') . '</td>';
    echo '<td>' . $user['room'] . '</td>';
    echo '<td>' . $user['capacity'] . '</td>';
    echo '<td>' . $user['capacity_exclusive'] . '</td>';
    echo '</tr>';
}
?>
			</tbody>