Внимание!
Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.
Чат , Проблема
Mar 22 2011, 09:50
Приблуда
Группа: Пользователи
Сообщений: 17
Регистрация: 25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0
Вставить ник
Доброе время суток! Помогите разобраться с чатом. Система AS 4.3.1 от Next. Поставил чат. Всё вроде бы нечего. Но повадился человек который пишет в чат а его логина там не пишется. Как он это делает подскажите пожалуйста как это пресеч?
Mar 22 2011, 16:10
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
покажи код чата
Mar 22 2011, 16:17
Приблуда
Группа: Пользователи
Сообщений: 17
Регистрация: 25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0
Вставить ник
ЦИТАТА(vitalik1972 @ Mar 22 2011, 20:10 )
покажи код чата
КОД
<?php /* ====================================================================== Copyright © 2007 by Francisco Burzi http://phpnuke.org AntiSlaed CMS based on: RNuke (http://rusnuke.com) EdogsNuke (http://edogs.ru) XNuke (http://xnuke.info) phpBB (http://phpbb.com) Code modifications by AntiSlaed Team, June 2008 http://antislaed.net Please contact us, if you have any questions about AntiSlaedCMS mailto: admin@antislaed.net AntiSlaed CMS is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License. ====================================================================== */ if (!defined("MODULE_FILE")) { Header("Location: ../../index.php"); exit; } get_lang($conf['name']); include("config/config_chat.php"); function chat() { global $db, $prefix, $pagetitle, $conf, $confch; $pagetitle = "".$conf['defis']." "._NAME.""; head(); if ($confch['close'] == 1) { warning(""._CLOSED."", "", 5, 2); } else { $userinfo = getusrinfo(); $uname = $userinfo['user_name']; $userstatus = $userinfo['user_chat_status']; $usercolor = $userinfo['user_chat_color']; $userban = $userinfo['user_chat_ban']; if ($userban == 1) { warning(""._BANNED."", "", 5, 1); } else { $chatrefresh = $confch['refresh']*1000; $userrefresh = $confch['userrefresh']*1000; open(); echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"modules/".$conf['name']."/lib/jchat.js\"></script>" ."<script src=\"modules/".$conf['name']."/lib/JsHttpRequest.js\"></script>" ."<script language=\"JavaScript\" type=\"text/javascript\" src=\"modules/".$conf['name']."/lib/chat.js\"></script>"; echo "<table width=100% border=0 cellpadding=\"2\" cellspacing=\"1\" class=\"bgcolor4\" >" ."<tr><th>"._NAME."</th><th>"._WHOONLINE."</th></tr>" ."<tr class=\"bgcolor1\">" ."<td width=\"80%\" align=\"left\" valign=\"top\" style=\"height: ".$confch['height']."; overflow: auto;\">" ."<div id=\"messages\" style=\"height: ".$confch['height']."; overflow: auto;\"></div>" ."</td><td width=\"20%\" align=\"center\" valign=\"top\">" ."<div id=\"users\"></div>" ."</td>" ."</tr></table>"; echo "<div id=\"debug\"></div>"; echo "<script language=\"JavaScript\" type=\"text/javascript\"> chat_messages(); var interval = setInterval(\"chat_messages()\",$chatrefresh); </script>"; echo "<script language=\"JavaScript\" type=\"text/javascript\"> chat_users(); var interval = setInterval(\"chat_users()\",$userrefresh); </script>"; echo "<script language=\"JavaScript\" type=\"text/javascript\"> stay_online(); var interval = setInterval(\"stay_online()\",600000); </script>"; echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"7\">"; echo "<tr><td>"; if (is_user($user)) { echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"; echo "<form name=\"post\" method=\"post\" onsubmit=\"return false\">"; echo ""._TO.": <input type=\"text\" name=\"Amessage\" id=\"amessage\" size=\"15\" onKeydown=\"enter(event)\" readonly> "; echo "<input type=\"text\" name=\"Message\" id=\"message\" size=\"80\" onKeydown=\"enter(event)\"> "; echo "<input type=\"reset\" name=\"submit\" value=\"Сказать\" onclick=\"say()\" class=\"fbutton\" > "; echo "</form></td>"; if ($confch['smilies'] != 1) { echo "<td align=\"center\"><div id=\"sm-title\" style=\"width: 23px;\"><img src=\"".img_find("editor/smilie")."\" title=\""._ESMILIE."\"></div></td>"; } echo "<td align=\"center\"><div id=\"cont\" onClick=\"SwitchMenu('config')\" style=\"cursor: pointer; width: 23px;\"><img src=\"".img_find("all/preferences")."\" title=\""._FUNCTIONS."\"></div></td>"; echo "</tr></table>"; echo "<div id=\"config\" class=\"smilies\" style=\"display: none; padding: 10px; margin-top: 10px;\">"; echo "<form name=\"status\" method=\"post\" onsubmit=\"return false\">"; echo "<div class=\"center\">"._MYSTATS.":</div><div class=\"right\"><select name=\"chatstatus\" style=\"width: 100px;\" id=\"chatstatus\">" ."<option value=\"0\""; if ($userstatus == "0") echo " selected"; echo ">В сети</option><option value=\"1\""; if ($userstatus == "1") echo " selected"; echo ">Занят</option><option value=\"2\""; if ($userstatus == "2") echo " selected"; echo ">Нет на месте</option><option value=\"3\""; if ($userstatus == "3") echo " selected"; echo ">Уснул</option></select></div>"; echo "<div class=\"center\">"._PRCOLOR.":</div><div class=\"right\"><select name=\"ustat1\" style=\"width: 100px;\" id=\"color\">" ."<option value=\"green\""; if ($usercolor == "green") echo " selected"; echo ">Зелёный</option><option value=\"black\""; if ($usercolor == "black") echo " selected"; echo ">Черный</option><option value=\"red\""; if ($usercolor == "red") echo " selected"; echo ">Красный</option><option value=\"blue\""; if ($usercolor == "blue") echo " selected"; echo ">Синий</option></select></div>"; echo "<div class=\"button\"><input name=\"sstat\" type=\"submit\" value=\"Изменить\" onclick=\"settings()\"></div>"; echo "</form>"; echo "</div>"; echo "<div id=\"sm\" class=\"smilies\" style=\"display: none; padding: 10px; margin-top: 10px;\"><script language=\"JavaScript\" type=\"text/javascript\">var edits = new SwitchCont('sm', '2');</script>"; $i = 1; $dir = opendir("images/smilies"); while ($entry = readdir($dir)) { if (preg_match("/(\.gif|\.png|\.jpg|\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") { $i = ($i < 10) ? "0".$i ."" : $i; echo " <img src=\"images/smilies/$i.gif\" OnClick=\"emoticon(' *$i');\" style=\"cursor: pointer; margin: 3px 2px 0px 0px;\" alt=\""._SMILIE." - $i\" title=\""._SMILIE." - $i\">"; $i++; } } closedir($dir); echo "</div>"; } else { warning(""._MODULEUSERS."", "", "", 2); } echo "</td></tr></table>"; close(); } } foot(); } switch($op) { default: chat(); break; } ?>
Я понял как он так делает. Но вот как написать код чтобы при нажатии на кнопку дополнительно проходила проверка на то залогинился он или нет и если да то сообщение добавлялось в базу.
Сообщение отредактировал Dimal88 : Mar 22 2011, 16:19
Mar 22 2011, 16:31
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
А нафик? я бы сделал чтобы чатом могли только зарегенные пользоваться.
Тоесть перед head(); вставил бы (честно говоря уже не помню как в 4.3) но в 4.5 вот так:
КОД
if (! CUser::isUser()) CApp::$request->redirect('index.php?name=account');
Надеюсь что разберешься с 4.3
Там есть функция is_user, ну и редирект соответственно на страницу входа.
vitalik1972 , Вас 1 раз(а) поблагодарили за это сообщение:
Dimal88
Mar 23 2011, 07:35
Приблуда
Группа: Пользователи
Сообщений: 17
Регистрация: 25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0
Вставить ник
Это не помогло! Один фиг пишет без подписи. Он берёт код центрального блока когда заходит в чат зарегистрированным. А потом выходит из профиля и просто заменяет центральный блок на любой странице копированным. У меня получается через FireBug без проблем. Как сделать проверку на самой кнопке? Тоесть когда он нажимает отправить что бы шла проверка что за пользователь и если не пользователь то не отправлялось?
Сообщение отредактировал Dimal88 : Mar 24 2011, 04:47
Mar 24 2011, 07:31
Приблуда
Группа: Пользователи
Сообщений: 17
Регистрация: 25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0
Вставить ник
Вот модуль.
Прикрепленные файлы
chat.rar ( 26.8 Кб )
Кол-во загрузок: 20
Mar 24 2011, 07:39
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
в файле chat_backend.php в строке 23 есть if (is_admin()) { $useradmin = 1; } else { $useradmin = 0; } перед ней вставь if (!$user_id) return;
Mar 24 2011, 09:05
прорвемся...
Группа: [..AS..]
Сообщений: 2,388
Регистрация: 6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457
Вставить ник
Так наверно правилнее, у меня так в админке выставленно што чат видят только реганные, и пока проблем небыло
Mar 29 2011, 16:20
Приблуда
Группа: Пользователи
Сообщений: 17
Регистрация: 25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0
Вставить ник
vitalik1972 Спасибо! Помогло.
May 25 2011, 13:58
Я только смотрю...
Группа: Пользователи
Сообщений: 4
Регистрация: 31.7.2008
Пользователь №: 4,896
Спасибо сказали: 0
Вставить ник
ЦИТАТА(Dimal88 @ Mar 24 2011, 07:31 )
Вот модуль.
1. вопрос... а дамп MySQL где взять
2. вопрос. - chat_backend куда класть
May 25 2011, 19:27
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
chat_backend в корень сайта а вот таблички... я не знаю. спрашивай у топикстартера. или у сторожилов.
May 25 2011, 20:21
прорвемся...
Группа: [..AS..]
Сообщений: 2,388
Регистрация: 6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457
Вставить ник
Виталь - по моему дамп и таблицы, это две совершенно разные вещчи, таблицы запросом mysql в phpmyadmin, а про дамп для чата в первые слышу.
May 26 2011, 16:42
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
эээ, в принципе одно и тоже. Дамп он ведь обычно вместе с созданием таблиц делается
May 26 2011, 16:52
прорвемся...
Группа: [..AS..]
Сообщений: 2,388
Регистрация: 6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457
Вставить ник
ЦИТАТА(vitalik1972 @ Сегодня, 15:42 )
Дамп он ведь обычно вместе с созданием таблиц делается
Ну как бы да, но сам подумай, создать таблицы - ок, а залить их уже с содержанием, нафига.В архиве есть все необходимое, включая sql запрос
May 26 2011, 22:23
Живу на АС
Группа: Пользователи
Сообщений: 765
Регистрация: 10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211
Вставить ник
May 27 2011, 00:05
прорвемся...
Группа: [..AS..]
Сообщений: 2,388
Регистрация: 6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457
Вставить ник
Sep 9 2011, 18:11
Юзверь
Группа: Пользователи
Сообщений: 39
Регистрация: 16.7.2007
Из: Москва
Пользователь №: 332
Спасибо сказали: 5
Вставить ник
Мде, мой чат уже без моих копирайтов гуляет =( блок не проще поставить, чем модуль ?
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0