AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


 
Ответить в данную темуНачать новую тему
> Чат, Проблема
Dimal88
сообщение Mar 22 2011, 09:50
Сообщение #1


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 17
Регистрация:
25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0

Вставить ник




Доброе время суток! Помогите разобраться с чатом. Система AS 4.3.1 от Next. Поставил чат. Всё вроде бы нечего. Но повадился человек который пишет в чат а его логина там не пишется. Как он это делает подскажите пожалуйста как это пресеч?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 22 2011, 16:10
Сообщение #2


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




покажи код чата
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Dimal88
сообщение Mar 22 2011, 16:17
Сообщение #3


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 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.":&nbsp;<input type=\"text\" name=\"Amessage\" id=\"amessage\" size=\"15\" onKeydown=\"enter(event)\" readonly>&nbsp;&nbsp;";
                echo "<input type=\"text\" name=\"Message\" id=\"message\" size=\"80\" onKeydown=\"enter(event)\">&nbsp;&nbsp;";
            echo "<input type=\"reset\" name=\"submit\" value=\"Сказать\" onclick=\"say()\" class=\"fbutton\" >&nbsp;";
                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
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 22 2011, 16:31
Сообщение #4


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 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
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Dimal88
сообщение Mar 23 2011, 07:35
Сообщение #5


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 17
Регистрация:
25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0

Вставить ник




Это не помогло! Один фиг пишет без подписи. Он берёт код центрального блока когда заходит в чат зарегистрированным. А потом выходит из профиля и просто заменяет центральный блок на любой странице копированным. У меня получается через FireBug без проблем. Как сделать проверку на самой кнопке? Тоесть когда он нажимает отправить что бы шла проверка что за пользователь и если не пользователь то не отправлялось?

Сообщение отредактировал Dimal88: Mar 24 2011, 04:47
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Dimal88
сообщение Mar 24 2011, 07:31
Сообщение #6


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 17
Регистрация:
25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0

Вставить ник




Вот модуль.
Прикрепленные файлы
Прикрепленный файл  chat.rar ( 26.8 Кб ) Кол-во загрузок: 20
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 24 2011, 07:39
Сообщение #7


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




в файле chat_backend.php
в строке 23 есть
if (is_admin()) { $useradmin = 1; } else { $useradmin = 0; }
перед ней вставь
if (!$user_id) return;
vitalik1972, Вас 2 раз(а) поблагодарили за это сообщение:
Dimal88, DjSalamander
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
DjSalamander
сообщение Mar 24 2011, 09:05
Сообщение #8


прорвемся...
Иконка группы

Группа: [..AS..]

Сообщений: 2,388
Регистрация:
6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457

Вставить ник




Так наверно правилнее, у меня так в админке выставленно што чат видят только реганные, и пока проблем небыло
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Dimal88
сообщение Mar 29 2011, 16:20
Сообщение #9


Приблуда
Иконка группы

Группа: Пользователи

Сообщений: 17
Регистрация:
25.11.2010
Пользователь №: 10,807
Спасибо сказали: 0

Вставить ник




vitalik1972 Спасибо! Помогло.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
goldskif
сообщение May 25 2011, 13:58
Сообщение #10


Я только смотрю...
Иконка группы

Группа: Пользователи

Сообщений: 4
Регистрация:
31.7.2008
Пользователь №: 4,896
Спасибо сказали: 0

Вставить ник




ЦИТАТА(Dimal88 @ Mar 24 2011, 07:31 ) *
Вот модуль.

1. вопрос... а дамп MySQL где взять
2. вопрос. - chat_backend куда класть
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение May 25 2011, 19:27
Сообщение #11


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




chat_backend в корень сайта а вот таблички... я не знаю. спрашивай у топикстартера. или у сторожилов.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
DjSalamander
сообщение May 25 2011, 20:21
Сообщение #12


прорвемся...
Иконка группы

Группа: [..AS..]

Сообщений: 2,388
Регистрация:
6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457

Вставить ник




Виталь - по моему дамп и таблицы, это две совершенно разные вещчи, таблицы запросом mysql в phpmyadmin, а про дамп для чата в первые слышу.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение May 26 2011, 16:42
Сообщение #13


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




эээ, в принципе одно и тоже. Дамп он ведь обычно вместе с созданием таблиц делается
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
DjSalamander
сообщение May 26 2011, 16:52
Сообщение #14


прорвемся...
Иконка группы

Группа: [..AS..]

Сообщений: 2,388
Регистрация:
6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457

Вставить ник




ЦИТАТА(vitalik1972 @ Сегодня, 15:42 )
Дамп он ведь обычно вместе с созданием таблиц делается


Ну как бы да, но сам подумай, создать таблицы - ок, а залить их уже с содержанием, нафига.В архиве есть все необходимое, включая sql запрос
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение May 26 2011, 22:23
Сообщение #15


Живу на АС
Иконка группы

Группа: Пользователи

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




не нашел (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
DjSalamander
сообщение May 27 2011, 00:05
Сообщение #16


прорвемся...
Иконка группы

Группа: [..AS..]

Сообщений: 2,388
Регистрация:
6.9.2008
Из: Latvia Riga-Vangaži
Пользователь №: 5,367
Спасибо сказали: 457

Вставить ник




Плохо искал (IMG:http://antislaed.net/style_emoticons/default/smile.gif)

Прикрепленный файл  sql.txt ( 575 б ) Кол-во загрузок: 12
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Zoom
сообщение Sep 9 2011, 18:11
Сообщение #17


Юзверь
Иконка группы

Группа: Пользователи

Сообщений: 39
Регистрация:
16.7.2007
Из: Москва
Пользователь №: 332
Спасибо сказали: 5

Вставить ник




Мде, мой чат уже без моих копирайтов гуляет =(

блок не проще поставить, чем модуль ?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 1 June 2024 - 11:27
Хостинг предоставлен NetLevel.Ru   Eleanor CMS