![]() |
Chat script chat.by i chat.everyday.by
Zdrastvuyte esli ktoto xocet polucit script doljen i pomoch mne :) u menya problem ustanovki chata kto pomojet i to polucit script ;)
scripti platniy www.chat.by ,chat.everyday.by svyaz samnoy ICQ 242602182 |
Помогу, при условии последующего выкладывания скрипта в паблик
|
<?php
include('../include/template.php'); include('../include/lib1.php'); define("MD5_HASH", "318bd63a06f232aede11ab54730ae65b"); //хэш логина с паролем $a = explode('_', get_http_var('COOKIE', 'id')); if (count($a) < 2) { $id = get_http_var('POST', 'id'); $tmp_id = get_http_var('POST', 'tmp_id'); } else { $id = $a[0]; $tmp_id = $a[1]; } $mode = get_http_var('GET', 'mode'); if (!is_string($mode)) $mode = get_http_var('POST', 'mode'); if (!$id && !$tmp_id) go_index(); if (md5($id . $tmp_id) != MD5_HASH) print_error('Вы не имеете права администрировать чат'); setcookie("id", $id . '_' . $tmp_id); switch ($mode) { case 'main' : go_main_page(); break; case 'chat_list' : go_chat_list(); break; case 'add_chat' : add_chatroom(); break; case 'rm_chat' : rm_chatroom(); break; case 'install' : install_chat(); break; case 'uninstall' : uninstall_chat(); break; case 'query' : do_query(); break; case 'show_users' : show_users(); break; case 'rm_user' : rm_user(); break; default : go_main_page(); break; } exit(); /************************************************** ***/ function show_users() { $chat_id = get_http_var('GET', 'chat_id'); if (!$chat_id || preg_match('/\D/', $chat_id)) print_error('Идентификатор чата должен состоять только из цифр'); $db = db_connect(); $sth = mysql_query("SELECT title FROM chatrooms WHERE id = '${chat_id}'") or print_error(sql_error()); if (mysql_num_rows($sth) == 0) print_error("В системе отсутствует чат с идентификатором [${chat_id}]"); list($title) = mysql_fetch_row($sth); $tpl = new Template(TPL_PATH . '/admin/user_list.tpl'); init_tpl($tpl); $tpl->set_var('CHAT_NAME', html_escape($title)); $sth = mysql_query("SELECT id, name, color, sex FROM chat_users_${chat_id}") or print_error(sql_error()); $tpl1 = new Template(TPL_PATH . '/admin/user_list_line.tpl'); $tpl1->set_var('CHAT_ID', $chat_id); $text = ''; $i = 0; while (list($id, $name, $color, $sex) = mysql_fetch_row($sth)) { $i++; $tpl1->set_var('TR_CLASS', ($i & 1) ? "first" : "second"); $tpl1->set_var('NAME', html_escape($name)); $tpl1->set_var('COLOR', $color); $tpl1->set_var('ID', $id); $tpl1->set_var('SEX', $sex); $text .= $tpl1->get_doc(); } $tpl->set_var('TBODY', $text); print($tpl->get_doc()); mysql_close($db); exit(); } function rm_user() { $chat_id = get_http_var('GET', 'chat_id'); $user_id = get_http_var('GET', 'user_id'); if (!$chat_id || preg_match('/\D/', $chat_id)) print_error('Идентификатор чата должен состоять только из цифр'); if (!$user_id || preg_match('/\D/', $user_id)) print_error('Идентификатор пользователя должен состоять только из цифр'); $dbh = db_connect(); $sth = mysql_query("SELECT title FROM chatrooms WHERE id = '${chat_id}'") or print_error(sql_error()); if (mysql_num_rows($sth) == 0) print_error("В системе отсутствует чат с идентификатором [${chat_id}]"); list($title) = mysql_fetch_row($sth); $sth = mysql_query("SELECT name, ip FROM chat_users_${chat_id} WHERE id = '${user_id}'") or print_error(sql_error()); if (mysql_num_rows($sth) == 0) print_error("Пользователь с идентификатором [${user_id}] отсутствует в чате [${title}]"); list($name, $user_ip) = mysql_fetch_row($sth); mysql_query("DELETE FROM chat_users_${chat_id} WHERE id = '${user_id}'") or print_error(sql_error()); $time = time(); $end_time = $time + BAN_TIME; mysql_query("INSERT INTO chat_ban_list SET chat_id = '${chat_id}', user_id = '${user_id}', ip = '${user_ip}', time = '${end_time}'") or print_error(sql_error()); $name = mysql_escape_string($name); $ip = get_user_ip(); mysql_query("INSERT INTO chat_${chat_id} SET msg = 'Пользователь [${name}] удален из чата администратором', time = '${time}', ip = '${ip}'") or print_error(sql_error()); mysql_query("UPDATE chatrooms SET users_count = users_count - 1 WHERE id = '${chat_id}'") or print_error(sql_error()); $tpl = new Template(TPL_PATH . '/admin/user_del_ok.tpl'); init_tpl($tpl); $tpl->set_var('CHAT_NAME', html_escape($title)); $tpl->set_var('CHAT_ID', $chat_id); $tpl->set_var('NAME', html_escape($name)); print($tpl->get_doc()); mysql_close($dbh); exit(); } function do_query() { $query = get_http_var('POST', 'query'); $query = stripslashes($query); $tpl = new Template(TPL_PATH . '/admin/query.tpl'); init_tpl($tpl); $dbh = db_connect(); //а теперь выполняется очень опасная часть программы!!! $result = mysql_query($query) or print_error(sql_error()); if ($result === TRUE) $text = ''; else { $col = new Template(); $col->prepare("<td><%NAME%></td>"); $text = "<tr class=\"thead1\">"; $n = 0; while ($meta = mysql_fetch_field($result)) { $n++; $col->set_var('NAME', html_escape($meta->name)); $text .= $col->get_doc(); } $text .= "</tr>\n"; $j = 0; while ($res = mysql_fetch_row($result)) { $j++; $text .= "<tr class=\"" . (($j & 1) ? "first" : "second") . "\">"; for ($i = 0; $i < $n; $i++) { $col->set_var('NAME', html_escape($res[$i])); $text .= $col->get_doc(); } $text .= "</tr>\n"; } } mysql_close($dbh); $tpl->set_var('TBODY', $text); $tpl->set_var('QUERY', html_escape($query)); print($tpl->get_doc()); exit(); } function go_main_page() { $tpl = new Template(TPL_PATH . '/admin/main.tpl'); init_tpl($tpl); print($tpl->get_doc()); exit(); } function go_index() { setcookie('id', ''); $tpl = new Template(TPL_PATH . '/admin/index.tpl'); init_tpl($tpl); print($tpl->get_doc()); exit(); } function go_chat_list() { $tpl = new Template(TPL_PATH . '/admin/chat_list.tpl'); init_tpl($tpl); $dbh = db_connect(); $chat_list = ''; $line = new Template(TPL_PATH . '/admin/chat_list_line.tpl'); $sth = mysql_query("SELECT id, title, users_count, last_visit FROM chatrooms ORDER BY id") or print_error(sql_error()); $i = 0; while (list($chat_id, $title, $users_count, $time) = mysql_fetch_row($sth)) { $i++; $line->set_var('TR_CLASS', ($i & 1) ? "first" : "second"); $line->set_var('NUM', $i); $line->set_var('CHAT_ID', $chat_id); $line->set_var('TITLE', html_escape($title)); $line->set_var('USERS_COUNT', $users_count); $line->set_var('TIME', date('d M Y H:i:s', $time)); $chat_list .= $line->get_doc(); } mysql_close($dbh); $tpl->set_var('CHAT_LIST', $chat_list); print($tpl->get_doc()); exit(); } function add_chatroom() { $chat_name = get_http_var('POST', 'chat_name'); $chat_name = clear_str($chat_name); if (strlen($chat_name) < 3) print_error('Название чата должно состоять минимум из трех символов'); $chat_name = mysql_escape_string($chat_name); $dbh = db_connect(); $sth = mysql_query("SELECT COUNT(*) FROM chatrooms WHERE title = '${chat_name}'") or print_error(sql_error()); list($count) = mysql_fetch_row($sth); if ($count > 0) print_error('Чат с названием [' . html_escape($chat_name) . '] уже существует'); //добавляем запись в таблицу [chatrooms] о новой комнате mysql_query("INSERT INTO chatrooms SET title = '${chat_name}'") or print_error(sql_error()); $sth = mysql_query("SELECT id FROM chatrooms WHERE title = '${chat_name}'") or print_error(sql_error()); list($chat_id) = mysql_fetch_row($sth); //создаём таблицу [chat_users_*] (тут хранится список оналйн-пользователей) $query = "CREATE TABLE chat_users_${chat_id} (" . "id INT UNSIGNED NOT NULL," . "name CHAR(16) NOT NULL," . "ip INT UNSIGNED NOT NULL," . "tmp_id INT UNSIGNED NOT NULL," . "last_visit INT UNSIGNED NOT NULL," . "is_moderator TINYINT UNSIGNED NOT NULL, " . "color CHAR(6) NOT NULL DEFAULT '" . DEFAULT_USER_COLOR . "'," . "sex CHAR(1) NOT NULL" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); //создаем таблицу [chat_*] (тут хранятся все сообщения для данной комнаты) $query = "CREATE TABLE chat_${chat_id} (" . "id INT UNSIGNED NOT NULL AUTO_INCREMENT," . "from_id INT UNSIGNED NOT NULL," . "to_id INT UNSIGNED NOT NULL," . "is_private TINYINT UNSIGNED NOT NULL," . "msg CHAR(255) NOT NULL," . "time INT UNSIGNED NOT NULL," . "ip INT UNSIGNED NOT NULL," . "PRIMARY KEY (id)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); mysql_close($dbh); print_ok('Чат с названием [' . html_escape($chat_name) . '] успешно создан'); exit(); } function rm_chatroom() { $chat_id = get_http_var('GET', 'chat_id'); if (!$chat_id || preg_match('/\D/', $chat_id)) print_error('Идентификатор чата должен состоять только из цифр'); $dbh = db_connect(); $sth = mysql_query("SELECT title FROM chatrooms WHERE id = '${chat_id}'") or print_error(sql_error()); if (mysql_num_rows($sth) == 0) print_error("Комната с идентификатором [${chat_id}] отсутствует в чате"); list($title) = mysql_fetch_row($sth); mysql_query("DELETE FROM chatrooms WHERE id = '${chat_id}'") or print_error(sql_error()); mysql_query("DELETE FROM chat_ban_list WHERE chat_id = '${chat_id}'") or print_error(sql_error()); mysql_query("DELETE FROM chat_moderators WHERE chat_id = '${chat_id}'") or print_error(sql_error()); mysql_query("DROP TABLE chat_users_${chat_id}") or print_error(sql_error()); mysql_query("DROP TABLE chat_${chat_id}") or print_error(sql_error()); mysql_close($dbh); print_ok('Комната [' . html_escape($title) . '] успешно удалена из чата'); exit(); } function install_chat() { $dbh = db_connect(''); //создаём базу данных [chat] mysql_query("CREATE DATABASE " . MYSQL_DB_NAME) or print_error(sql_error()); mysql_select_db(MYSQL_DB_NAME) or print_error(sql_error()); //создаём таблицу [chat_users] $query = "CREATE TABLE chat_users (" . "id INT UNSIGNED NOT NULL AUTO_INCREMENT," . "name CHAR(16) NOT NULL," . "password CHAR(16) BINARY NOT NULL," . "sex CHAR(1) NOT NULL," . // пол "ip INT UNSIGNED NOT NULL," . "tmp_id INT UNSIGNED NOT NULL," . "last_visit INT UNSIGNED NOT NULL," . "first_visit INT UNSIGNED NOT NULL," . "color CHAR(6) NOT NULL DEFAULT '" . DEFAULT_USER_COLOR . "'," . // цвет ника "msg_order TINYINT NOT NULL," . // порядок вывода сообщений (0 - сверху вниз, 1 - снизу вверх) "font_size TINYINT NOT NULL DEFAULT " . DEFAULT_FONT_SIZE . "," . // размер шрифта "visits_count INT UNSIGNED NOT NULL," . // количество посещений чата "PRIMARY KEY (id)," . "UNIQUE INDEX (name)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); //создаём таблицу [chatrooms] $query = "CREATE TABLE chatrooms (" . "id INT UNSIGNED NOT NULL AUTO_INCREMENT," . "title CHAR(255) NOT NULL," . "last_visit INT UNSIGNED NOT NULL," . "users_count INT UNSIGNED NOT NULL," . "PRIMARY KEY (id)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); //создаём таблицу [chat_messages] $query = "CREATE TABLE chat_messages (" . "id INT UNSIGNED NOT NULL AUTO_INCREMENT," . "ip INT UNSIGNED NOT NULL," . "from_id INT UNSIGNED NOT NULL," . "to_id INT UNSIGNED NOT NULL," . "time INT UNSIGNED NOT NULL," . "title VARCHAR(255) NOT NULL," . "msg TEXT NOT NULL," . "is_new TINYINT UNSIGNED NOT NULL," . "is_del_from TINYINT UNSIGNED NOT NULL," . "is_del_to TINYINT UNSIGNED NOT NULL," . "PRIMARY KEY (id)," . "INDEX (from_id)," . "INDEX (to_id)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); //создаем таблицу [chat_ban_list] $query = "CREATE TABLE chat_ban_list (" . "user_id INT UNSIGNED NOT NULL, " . "chat_id INT UNSIGNED NOT NULL, " . "ip INT UNSIGNED NOT NULL, " . "time INT UNSIGNED NOT NULL, " . "PRIMARY KEY (chat_id, user_id)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); //создаем таблицу [chat_moderators] $query = "CREATE TABLE chat_moderators (" . "user_id INT UNSIGNED NOT NULL, " . "chat_id INT UNSIGNED NOT NULL, " . "PRIMARY KEY (chat_id, user_id)" . ") TYPE = MYISAM"; mysql_query($query) or print_error(sql_error()); mysql_close($dbh); print_ok('База данных [chat] успешно создана'); exit(); } function uninstall_chat() { $dbh = db_connect(); //удалим все таблицы, входящие в БД чата $sth = mysql_query("SELECT id FROM chatrooms") or print_error(sql_error()); while (list($id) = mysql_fetch_row($sth)) { mysql_query("DROP TABLE chat_users_${id}") or print_error(sql_error()); mysql_query("DROP TABLE chat_${id}") or print_error(sql_error()); } mysql_query("DROP TABLE chat_messages") or print_error(sql_error()); mysql_query("DROP TABLE chat_users") or print_error(sql_error()); mysql_query("DROP TABLE chatrooms") or print_error(sql_error()); //удалим саму БД с чатом mysql_query("DROP DATABASE " . MYSQL_DB_NAME) or print_error(sql_error()); print_ok('База данных с чатом успешно удалена'); mysql_close($dbh); exit(); } function print_ok($str) { $tpl = new Template(TPL_PATH . '/admin/ok.tpl'); init_tpl($tpl); $tpl->set_var('STR', $str); print($tpl->get_doc()); exit(); } ?> Nujen nastroit xesh s porolom |
Цитата:
___ А, походу понял, пароль админа в конфиге, а с хешем не знаешь что делать и зайти в админку не можешь?))) бугага Пароль 1331853211 |
| Время: 13:53 |