Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Чаты (https://forum.antichat.xyz/forumdisplay.php?f=10)
-   -   Chat script chat.by i chat.everyday.by (https://forum.antichat.xyz/showthread.php?t=60235)

azeman 29.01.2008 01:52

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

Хозяин 29.01.2008 02:29

Помогу, при условии последующего выкладывания скрипта в паблик

azeman 30.01.2008 00:18

<?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

Хозяин 30.01.2008 01:10

Цитата:

Nujen nastroit xesh s porolom
Это что значит? Это вообще кусок чего? Конфиг?
___

А, походу понял, пароль админа в конфиге, а с хешем не знаешь что делать и зайти в админку не можешь?))) бугага

Пароль

1331853211


Время: 13:53