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'; }
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) { $send = true; } else { $to_user = 0; $send = true; } } // Send message if (isset($send) && (!isset($_SESSION['chat_login']['last_send']) || isset($_SESSION['chat_login']['last_send']) && time() >= $_SESSION['chat_login']['last_send'])) { // Last message sent $_SESSION['chat_login']['last_send'] = $_SERVER['REQUEST_TIME']; // Delete old messages
$ip_model = new IpBlockModel(); $ip_model->setCond('ip = "' . $_SERVER['REMOTE_ADDR'] . '"'); $ip = $ip_model->load_all(); if (count($ip)) { $message = 'You are blocked from accessing chat.'; } else { if (count($users) == 0) { $data = new StdClass(); $data->user = $user; $data->id_room = $id_room; $data->ip = $_SERVER['REMOTE_ADDR']; $data->timestamp = date('Y-m-d H:i:s', time()); $fields = array_keys((array) $data); $users_model = new UsersModel(); $users_model->setFields($fields); $users_model->setData($data); if ($users_model->insert()) { $id_user = $users_model->getId(); $_SESSION['chat_login']['id_user'] = $id_user; $_SESSION['chat_login']['user'] = $user; $_SESSION['chat_login']['id_room'] = $id_room; $_SESSION['chat_login']['room'] = $room['room']; $_SESSION['chat_login']['timestamp'] = $data->timestamp; $_SESSION['chat_login']['id_alert'] = array(); $_SESSION['chat_login']['last'] = time(); // Aviso da entry do user AlertModel::addEntry($user, $id_user, $id_room); } } else { $message = 'The chosen username is already in use, choose another to enter.'; }
if (!empty($get)) { $keys = array_keys($get); switch ($keys[0]) { case 'delete': $id = (int) $_GET['delete']; if ($id) { $users = new UsersModel(); $users->delete($id); $message = 'User deleted'; } break; case 'block_user': $id = (int) $_GET['block_user']; if ($id) { $users = new UsersModel(); $users->setData(array('active' => 0)); $users->setFields(array('active')); $users->update($id); $message = 'User blocked'; } break; case 'block_ip': $ip = $_GET['block_ip']; if ($ip) { $ip_block = new IpBlockModel(); $ip_block->setCond('ip = "' . $ip . '"'); $data = $ip_block->load_all(); if (empty($data)) { $data = new StdClass(); $data->ip = $ip; $data->permanent = 0;