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(); }
<?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'; }
$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) {
$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> ';
<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');
<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>
</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:
<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>