Название скрипта: ChatLogsMySQL Версия скрипта: 4.3d (03.08.2011) Автор: Accelerator Скрипт для: RusHub, PtokaX Описание: Логирует чат и сохраняет данные в базу MySQL Содержание архива: Сам скрипт, Web-интерфейс
История версий
Версия 4.3d:
Поправлена ошибка с занесием данных и созданием БД на Linux (наблюдались проблемы чтения из базы) (Спасибо за репорт CrazyKiller)
Пересмотрел веб-часть, убрал некоторые лишнии строки, поправил запросы
Версия 4.3c:
Добавлена опция включения показа IP адресов в логе. Включается в файле config.php
Версия 4.3b:
Усовершенствован поиск ссылок в чате, для занесения в таблицу логов ссылок
Версия 4.3a:
Вновь поправка в регулярном выражении, когда некоторые команды при вводе заносились в логи
Версия 4.3:
Поправлена ошибка, когда некоторые команды при вводе заносились в логи
Версия 4.2:
Усовершенствована функция нахождения ссылок в чате и занесении их в БД с html тегами (Взято из StatPX от alex82)
Сделан стиль для веб части
Оптимизирован запрос в БД на вебе
Поправлены некоторые ошибки в веб-интерфейсе
Добавлена мультиязычность в веб форму (языки: русский, английский, украинский)
Версия 4.1:
Магнет и обычные ссылки теперь записываются в базу полностью вместе с комментарием
Версия 4.0:
Поправлена ошибка с парсером смайлов(некоторые смайлы не определялись)
Версия скрипта также работает на PtokaX
Версия 3.2:
Смайлики на веб-странице отображаются графически(Спасибо alex82)
Версия 3.1:
В базу теперь также записываются профиль и IP-адрес юзера
Изменения в веб интерфейсе
- Ники пользователей в логах теперь выделяются различными цветами в зависимости от профиля
Версия 3.0:
Исправлена ошибка с парсером ссылок в сообщении и занесением их в БД
Добавлено экранирование данных в запросах к БД
Изменения в веб интерфейсе
Версия 3.0 Beta:
Логирование магнет и обычных ссылок
Исправлена опечатка в local https
Убрана неиспользуемая таблица ChangeTime
Изменения в веб интерфейсе
Версия 2.0:
Изменения в веб-интерфейсе
Некоторые мелкие доработки
Все dchub, http, https, ftp, магнет ссылки(спасибо alex82) и тд. теперь будут отображаться в логе как гиперссылки
Версия 1.1:
Некоторые мелкие исправления (Поправил ошибку, когда не логировались некоторые магнет-ссылки)
Внимание! Скрипт не выводит в чат последние n сообщений, он только сохраняет данные в БД и с помощью веб-интерфейса их можно просмотреть.
Советы: При создании БД на Windows используйте кодировку базы и таблиц cp1251_general_ci; При создании БД на Linux используйте кодировку базы и таблиц utf8_general_ci
Для работы скрипта требуется установить библиотекуMysql Для PtokaX: http://mydc.ru/topic1508.html Для RusHub: http://mydc.ru/topic2952.html
Хм а почему как то избирательно переведено? там же вроде достаточно объёмный скрипт!
Автор: STRELOK 12.1.2010, 18:33
Цитата(Wariner @ 12.1.2010, 20:31)
Хм а почему как то избирательно переведено? там же вроде достаточно объёмный скрипт!
Я убрал абсолютно все команды, убрал вывод последних сообщений в чат, ну и соответственно оставил только сохранение чата в MySQL
Автор: Wariner 12.1.2010, 18:36
Ну я и спрашиваю какой в этом был смысл?
Автор: STRELOK 12.1.2010, 18:44
Цитата(Wariner @ 12.1.2010, 20:36)
Ну я и спрашиваю какой в этом был смысл?
Не охота было переводить полностью весь скрипт))) Делал этот скрипт для личных целей, здесь выложил специально для тех, кому он (как и мне) может пригодится Лично он мне нужен только для того, чтобы было возможно просматривать лог чата через веб-интерфейс.
PS: Может позже переведу и весь скрипт)
Автор: Accelerator 23.5.2010, 8:17
Добавлена новая версия скрипта.
Версия 2.0:
Изменения в веб-интерфейсе
Некоторые мелкие дорабоки
Все dchub, http, https, ftp, магнет ссылки(спасибо alex82) и тд. теперь будут отображаться в логе как гиперссылки
Автор: alex82 23.5.2010, 23:00
Цитата(Accelerator @ 23.5.2010, 8:17)
Все dchub, http, https, ftp, магнет ссылки(спасибо alex82)
Это как? Веб-морда ведь на php написана? Как ты запихнул туда код из StatPX? Неужели проще портировать эти функции c Lua на PHP, чем написать их с нуля?
Автор: Accelerator 24.5.2010, 3:55
Код парсера магнет-ссылок в сообщении пользователя был запихнут в сам скрипт птоки, т.е. в ChatLogsMySQL.lua. После того, как в сообщении обнаруживаются ссылки, они сразу записываются в базу MySQL с необходимыми тегами html.
Автор: fixx 11.6.2010, 12:40
Ну его нафик, опять та же байда, что и с птокой была:
Цитата
[13:21:13] <fixx> ????...
Как уж там я там решал эту задачу и не помню даже. Вобщем оно в базу уже эти вопросики записывает. Кодировка (сравнение) cp1251_general_ci Что опять не так? =(((
Автор: Accelerator 11.6.2010, 13:03
Ну у меня кодировка таблиц latin1_swedish_ci хотя вроде бы особых отличий от cp1251_general_ci она не представляет.
Когда проверял у себя этот скрипт, в базу всё пишется нормально. Кодировка таблиц была latin1_swedish_ci. Попробуйте изменить кодировку.
Автор: fixx 15.6.2010, 10:40
выставил utf8_unicode_ci - вроде работает.
Автор: Accelerator 15.6.2010, 11:18
Добавлена версия 3.0 Beta
Логирование магнет и обычных ссылок
Исправлена опечатка в local https
Убрана неиспользуемая таблица ChangeTime
Изменения в веб интерфейсе
P.S.: Скрипт не проверил, поэтому если возникнут ошибки, просьба отписываться здесь.
Автор: Nickolya 15.6.2010, 16:26
Accelerator, а http://mydc.ru/index.html?showtopic=1508&view=findpost&p=23495 в запросах ты вообще не применяешь? Получается огромная брешь в скрипте...
Автор: Accelerator 15.6.2010, 16:49
Цитата(Nickolya @ 15.6.2010, 19:26)
Accelerator, а http://mydc.ru/index.html?showtopic=1508&view=findpost&p=23495 в запросах ты вообще не применяешь? Получается огромная брешь в скрипте...
С экранированием в RusHub'е проблемы возникают. Выводились различные ошибки. Если вечером надумаю проверить скрипт, кину ошибки, которые выдаёт, если экранировать запросы.
UPD: Всё работает! В релизе 3й версии всё сделаю как надо.
Автор: Accelerator 16.6.2010, 16:46
Добавлена версия 3.0 Release:
Исправлена ошибка с парсером ссылок в сообщении и занесением их в БД
Добавлено экранирование данных в запросах к БД
Изменения в веб интерфейсе
Автор: Accelerator 17.6.2010, 14:51
Версия 3.1:
В базу теперь также записываются профиль и IP-адрес юзера
Изменения в веб интерфейсе
- Ники пользователей в логах теперь выделяются различными цветами в зависимости от профиля
Автор: Accelerator 31.7.2010, 13:14
Доступна новая версия скрипта!
Версия 3.2:
Смайлики на веб-странице отображаются графически(Спасибо alex82)
Автор: Accelerator 2.8.2010, 20:35
Версия 4.0:
Поправлена ошибка с парсером смайлов(некоторые смайлы не определялись)
Версия скрипта также работает на PtokaX
Автор: Accelerator 6.8.2010, 15:10
Версия 4.1:
Магнет и обычные ссылки теперь записываются в базу полностью вместе с комментарием
Автор: Sorrow 10.10.2010, 12:25
Версия хаба 2.2.5 Lua plugin 1.25 Версия скрипта 4.1 Первое сообщение с магнет ссылкой нормально сохраняется, отправка еще одного сообщения приводит к закрытию окна Rushub'a(данные при этом в БД заносятся только в таблицу cl_mainlogs). RusHub будет закрываться пака не очистить таблицу cl_magnetlogs, затем история повторяется. Такая же история при сохранении обычных ссылок. Подскажите в чем может быть проблема?
Автор: Accelerator 10.10.2010, 13:06
В luaerr.log есть что-нибудь?
P.S: Сейчас проверил у себя - всё работает, окно хаба не закрывается, данные записываются
Автор: Sorrow 10.10.2010, 13:25
единственное сообщение /rushub/scripts/ChatLogsMySQL.lua:127: attempt to index local 'cur' (a nil value) (скрипт не запускался после попытки найти причину неисправности) При попытки создать еще одну запись в таблицах cl_linklogs и cl_magnetlogs вылетает без сообщений об ошибке. MySQL 5.1.50
Автор: Accelerator 10.10.2010, 17:02
Цитата(Sorrow @ 10.10.2010, 16:25)
единственное сообщение /rushub/scripts/ChatLogsMySQL.lua:127: attempt to index local 'cur' (a nil value) (скрипт не запускался после попытки найти причину неисправности)
Странная ошибка... Скорей всего она осталась от старой версии скрипта. А на счёт того, что вылетает окно хаба, то я не знаю, может быть вылетает из-за какого-то другого скрипта, но не знаю, у себя проверял, всё нормально....
Автор: Sorrow 25.10.2010, 18:35
Собрал библиотеку из архива mysql_2.1.1_src_vs9.rar, при сборке заменил исходники Mysql на новые. Работает нормально.
Автор: Accelerator 16.12.2010, 14:07
Доступна новая версия!
Версия 4.2:
Усовершенствована функция нахождения ссылок в чате и занесении их в БД с html тегами (Взято из StatPX от alex82)
Сделан стиль для веб части
Оптимизирован запрос к БД на вебе
Поправлены некоторые ошибки в веб-интерфейсе
Добавлена мультиязычность в веб форму (языки: русский, английский, украинский)
Автор: Accelerator 7.1.2011, 21:02
Доступна новая версия!
Версия 4.3:
Поправлена ошибка, когда некоторые команды при вводе заносились в логи
Автор: Dimon21 15.7.2011, 10:44
Accelerator добрый день .У меня стоит версия rushub 2.3.4 на Windows-7.Скрипт работает отлично,но проблема заключается в том,что не выводит ip юзера.Версия 4.3.
Автор: Accelerator 15.7.2011, 12:40
Так и не было задумано выводить ИП адрес юзера. Если уж надо, залью немного погодя новую версию.
Автор: Dimon21 15.7.2011, 12:45
Accelerator 'это было бы здорово если в логе вёлся полный отчёт по нику и айпи.
Автор: Accelerator 15.7.2011, 12:50
Версия 4.3c:
Добавлена опция включения показа IP адресов в логе. Включается в файле config.php
Автор: Dimon21 15.7.2011, 13:04
Accelerator Хм а айпи так и не идёт. Опция в конфиге включена показать IP адрес.
Автор: Accelerator 15.7.2011, 13:17
Да, действительно, поторопился) Залил исправленную версию.
Автор: Dimon21 15.7.2011, 13:27
Accelerator - спс всё работает, теперь можно через веб следить что тварится на хабе.
Автор: CrazyKiller 3.8.2011, 14:46
Прошу помощи ! Ubuntu Server 11.04/ Apache2/PHP5
в общем всё последняя !
Лог Апатча !
Лог
[Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/index.php on line 30 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/index.php on line 32 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39 [Wed Aug 03 14:42:27 2011] [error] [client 178.150.158.190] PHP Notice: Undefined variable: S in /var/www/index.php on line 39
при кодировке таблиц cp1251_general_ci русский рекст даже не записывается в таблицу (буржуиньськи и цифры пишутся). т.е. даже записи о том, что сообщение было - нету, если оно с русскими символами. если созданную запись в базе исправить ("123" поменять на "тест") - в WEB-логе кракозябы.
при кодировке таблиц utf8_general_ci таких проблем нет - там только одна проблема - кракозябы
может в скрипте какой настройки не нашел? или где-то еще затупил? или я один такой "виндофил"?
Автор: Dimon21 11.8.2011, 14:20
Я на виндозе использую такую кодировку latin1_swedish_ci и работает нормально.
Автор: Angel_D 11.8.2011, 14:57
к сожалению не помогло
Автор: CrazyKiller 11.8.2011, 15:18
Плин ну в начале Темы написали все !
Код
Советы: При создании БД на Windows используйте кодировку базы и таблиц cp1251_general_ci; При создании БД на Linux используйте кодировку базы и таблиц utf8_general_ci
Для вас если Windows то кодировка cp1251_general_ci !
Если вы видите через phpmyadmin кракозяблы, это нормально ! ну а что видит сам php скрипт ?
Вот Панель моего мускула !
А вот сам чат что выдаёт !
http://mydc.ru/r/?http://dc.triolan.in.ua/chat/
Кодировка utf8_general_ci так как Линукс стоит !
Автор: Dimon21 11.8.2011, 15:28
CrazyKiller на виндозе кодировка cp1251_general_ci не работает крикозябры выходят а вот latin1_swedish_ci работает нормально.
Автор: CrazyKiller 11.8.2011, 15:35
cp1251 это стандарт для виндозы, как он не может работать в данной кодировке, я не понимаю !
Есть мысль что Браузер не может, но это нужна проверять, или сам php сохранен не в той кодировке !
Нужна все смотреть !
Автор: Dimon21 11.8.2011, 15:58
CrazyKiller когда я ставил cp1251 логи я видел одни крякозябры.И хватит писать одно и тоже, тем более ты линуксоидник.
Автор: CrazyKiller 11.8.2011, 17:20
Дим ты не обижайся но ты 100% не прав !!!
Все тут !
Лично для тех кто не верит или доверяет !
Первое, я не линуксоид, у меня сервер на линуксе но не значит что моя рабочяя машина на линуксе, нет, ниже скрин привожу в доказательство что у меня стоит !
Скрин
Видим что стоит Win Xp OEM если точнее !
Скачал я РусХаб последний Exe Формат, Т.К для Виндовс ! Поставил Все библиотеки Мускул и т д Залил туда один скрипт, Лог Чата через Мускул, из за которого щас сыр бор !
Скрин Запуска Хаба
я даже не трогал настройки его, так как все настройки стандартные к моему мускулу который стоит на Windows Платформе ! Зашёл потом в мускул, добавил базу на 1251 CI Генерал ! Запустил Хаб, скрипт в хабе создал мне базу в моём мускуле ! и что я вижу !
Скрины
Факт самого браузера, что он видит !
Скрин
Windows Xp+ Denwer (Apache + Mysql) + Hub RusHub 2.3.5 + Скрипт, и все отлично работает !
Вероятно проблема в вашем Mysql сервере или что у вас там стоит, причин может быть много ! Думаю я доказал что на Виндовс все работает !!!
Автор: mariner 11.8.2011, 17:55
вот вы извращенцы. А слабо отладку в скрипте врубить и посмотреть логи луашечки?
Кроме того - база должна быть по хорошему в той кодировке, в которой у нас чат. Мы в СНГ и чат у нас в 1251ой кодировочке.
Автор: Angel_D 22.8.2011, 12:37
Цитата
Для вас если Windows то кодировка cp1251_general_ci ! Если вы видите через phpmyadmin кракозяблы, это нормально !
повторюсь...
Цитата
при кодировке таблиц cp1251_general_ci русский рекст даже не записывается в таблицу (буржуиньськи и цифры пишутся). т.е. даже записи о том, что сообщение было - нету, если оно с русскими символами. если созданную запись в базе исправить ("123" поменять на "тест") - в WEB-логе кракозябы.
т.е. в базу даже не делается запись с сообщением в этой кодировке, если база в 1251. кракозябы я вижу не в phpmyadmin - там как разтаки я вижу всё нормально, если вручную исправил - я на самой странице WEB-лога чата вижу кракозябы.
Автор: VOVKT 22.8.2011, 14:24
Цитата(Angel_D @ 22.8.2011, 13:37)
повторюсь...
т.е. в базу даже не делается запись с сообщением в этой кодировке, если база в 1251. кракозябы я вижу не в phpmyadmin - там как разтаки я вижу всё нормально, если вручную исправил - я на самой странице WEB-лога чата вижу кракозябы.
Посмотри в какой кодировке браузер отображает страницу и сравни её с кодировкой бд
Автор: Angel_D 22.8.2011, 15:51
1251 и страница, и таблица
Автор: VOVKT 22.8.2011, 17:31
попробуй в файле index.php после(26 строка)
Код
mysql_select_db($b_base,$db);
добавь
Код
mysql_query("SET NAMES 'cp1251'");
Автор: Angel_D 23.8.2011, 8:59
Цитата
попробуй в файле index.php после(26 строка)
спасибо. часть проблемы решена. но осталась еще одна - в базу cp1251 не добавляются русскосимвольные записи. RusHub 2.3.6 х64
Автор: VOVKT 23.8.2011, 9:33
попробуй явно указать кодировку, незнаю поможет это или нет Я незнаю как делать запросы в lua но из скрипта я прикинул) что примерно так) Добавь после(81 строка)
Код
local con = assert (env:connect(sNameDB, sUserDB, sPasswordDB, sAdressDB, sPortDB))