<?php require_once 'app/autoload.php'; if (IpBlockModel::isBlocked()) { header('location: logout.php'); exit; } if (isset($_POST['id_user']) && $_SESSION['chat_login']['id_user'] == $_POST['id_user'] && strlen(trim($_POST['message'])) >= 1) { // Post data $id_user = (int) $_POST['id_user']; $to_user = (int) $_POST['to_user']; $message = $_POST['message']; $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
$room = $rooms_model->load($id_room); if (count($room)) { // Users online $users_model = new UsersModel(); $users_model->setFieldsSelect(array('user')); $users_model->setCond('id_room = ' . $id_room); $users_model->setOrderBy('chat_users.id'); $users = $users_model->load_all(); $total = $users_model->count(); if ($room['capacity'] > $total) { // Verifica se tem user com o mesmo nome $users_model = new UsersModel(); $users_model->setCond('user = "******"'); $users = $users_model->load_all(); // IP's bloqueados $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);
} ?> <table> <thead> <tr> <th>Actions</th> <th>ID</th> <th>IP</th> <th>Permanent</th> <th>Date</th> <th>Final date</th> </tr> </thead> <tbody> <?php $ip_model = new IpBlockModel(); $ip = $ip_model->load_all(); foreach ($ip as $line) { echo '<tr>'; echo '<td><a href="?delete=' . $line['id'] . '">Delete IP</a></td>'; echo '<td>' . $line['id'] . '</td>'; echo '<td>' . $line['ip'] . '</td>'; echo '<td>' . ($line['permanent'] ? 'Yes' : 'No ') . '</td>'; echo '<td>' . $line['timestamp'] . '</td>'; echo '<td>' . $line['end'] . '</td>'; echo '</tr>'; } ?> </tbody> </table> </div>
} 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; $data->timestamp = date('Y-m-d H:i:s'); $data->end = date('Y-m-d H:i:s', strtotime('+1 day')); $fields = array_keys((array) $data); $ip_block = new IpBlockModel(); $ip_block->setData($data); $ip_block->setFields($fields); $ip_block->insert(); $message = 'Ip blocked'; } else { $message = 'The ip has been blocked'; } } break; } } ?> <div id="content"> <h2>Users</h2>
<?php require 'app/autoload.php'; // Check ip blocked $ip_block_model = new IpBlockModel(); $ip_block_model->setCond('ip = "' . $_SERVER['REMOTE_ADDR'] . '"'); $ip_block = $ip_block_model->load(); if (empty($ip_block)) { header('location: index.php'); exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title><?php echo TITLE; ?> </title> <link href="css/styles.css" rel="stylesheet" media="all" /> <script type="text/javascript" language="javascript" src="<?php echo URL; ?> js/jquery-1.4.2.min.js"></script> <script type="text/javascript" language="javascript" src="<?php echo URL; ?> js/jquery.scrollTo-min.js"></script> <script type="text/javascript" language="javascript" src="<?php echo URL;