ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
83   •   Посмотреть все темы

Bugs - ошибки системы чатов и их исправление!

 

20089
Dimitry @Dimitry
Я незнаю как у тебя эта ошибка получилась.. зашёл в твой чат и сразу загрузил фотку без ошибок..
а та ошибка вообще мне непонять.. обьясни что ты там загружал..

165
Enrique @Enrique
Подобный Баг, что был мною обнаружен с загрузкой картинок и впоследствии исправлен, найден и в Голосовании. По крайней мере когда пытаешься отдать Голос.... прошу исправить.

20089
Dimitry @Dimitry
Найден баг почему не работает фрейм сообщений на IE 5.0

Чтобы исправить, необходимо в фрейме сообщений, да и вообще во всех скриптах, заменить undefined на null.
Пример: if(stat[nick]==undefined) -> if(stat[nick]==null)

Исправление будет проведенно автоматически, сегодня вечером.

Возможно также будет работать IE4.x

20089
Dimitry @Dimitry
Проверенны все скрипты и устраненны некоторые баги и недостатки безопасности...

20089
Dimitry @Dimitry
Устранён баг позволяющий через цвета в чате выполнять JS.
Отсюда и призраки в чате, заходившие под различными никами типо adm! (но всё это эмуляция)

20089
Dimitry @Dimitry
Правильный запуск фрейма сообщений

Думаю многие знают что движок (фрейма сообщений) запускается так: **********
Какие проблемы возникают при использовании разных адресов:
1. ********** - **********
Тут директория чата и движка не совпадают!
2. ********** - **********
Тут совпадают!

Получается что при использовании первого вида адреса чата, фрейм запускается из главной директории мпчата => возникают проблемы:
1. нужно указывать полные адреса в фрейме сообщений
2. нужно учитывать окончание домена .ru или .com (иначе не будет работать например приват в отдельном окне)

Теперь же с помощью настроек сервера удалось запускать фрейм сообщений всегда из директории чата, независимо от адреса!
Т.е. **********
будет работать и естественно запускается в нужной директории под правильным доменом.

Чтобы сделать запуск фрейма сообщений универсальным и правильным, необходимо в Нижнем фрейме чата отредактировать функцию перезагрузки/загрузки фрейма сообщений так:

function msg_reload(){parent.left.location.href="amod?"+id;}

Также можно изменить ссылки в фрейме сообщений например для привата и картинок, так чтобы в них небыло домена и с учётом что фрейм сообщений в директории чата.

20089
Dimitry @Dimitry
Исправлен баг загрузки картинок в чате (и в анкету) через firefox/opera!

20089
Dimitry @Dimitry
Ошибка при отправлении букв других стран например: ö ü ä ß

Чтобы исправить необходимо удалить checkbox транслита из нижнего фрейма!
<input type=checkbox onclick="fmsg.trans.value=1; if(!this.checked) fmsg.trans.value=0;">


Либо поставить такую замену:
<input type=button onclick='if(fmsg.trans.value==0) {fmsg.trans.value=1;this.value="вкл";} else {fmsg.trans.value=0;this.value="выкл";}' value=выкл class=ok>

426
XAM @XAM
может все таки ответите, почему только этот чат у меня не пашет при включенном avast ? с пандой таких проблем не было вроде..

20089
Dimitry @Dimitry
Я уже сто раз писал что все программы можно настроить чтоб чат работал (антивирусы фаерволы..) просто новые проги много на себя берут и считают постоянный коннект за атаку..

20089
Dimitry @Dimitry
Всвязи с тем название фрейма для викторины: game
функция в фрейме сообщений для вывода game()
и в нижнем фрейме для открытия викторины game()
возникают конфликты!


Чтобы викторина сново работала без проблем, открываем нижний фрейм и находим:
on=0;
function game(){
if(on==0){on=1;
parent.game.location.href='http://mpchat.com:7777/?chat='+chat;
parent.sets.rows="127,*,"+privatheight;
}
else {on=0;
parent.game.location.href='http://mpchat.com/game.php?stop=1&chat='+chat;
parent.sets.rows="0,*,"+privatheight;
}
}

меняем на:

var on=0;
var privatheight=0;
function startgame(){
if(!privatheight) privatheight=parent.privat.document.body.clientHeight;
if(on==0){on=1;
parent.gameframe.location.href='http://mpchat.com:7777/?chat='+chat;
parent.sets.rows="75,*,"+privatheight;
}
else {on=0;
parent.gameframe.location.href='http://mpchat.com/game.php?stop=1&chat='+chat;
parent.sets.rows="0,*,"+privatheight;
}
}

Ниже, где ссылка на викторину, замените game() на startgame()

20089
Dimitry @Dimitry
Маленький баг.
Отдельное окно привата - исчезает курсор из поля ввода при новом сообщении.

Исправить лего:
находим в фрейме сообщений функцию mp2 и в самом конце:
if (nick == mynick) pnick=tonick; else pnick=nick;
if(u[pnick]==null) u[pnick]=pwin(pnick,pmess);
else
{
if(u[pnick].closed) u[pnick]=pwin(pnick,pmess);
else {pmess=pmess+"<script>scroll(0,1000000);</"+"script>"; u[pnick].pframe.document.write(pmess);u[pnick].focus(); }
}
if (nick == mynick || tonick == mynick) {myhistory+=symbol+set_nick+set_text+set_time+"<br>";}

Меняем красное на u[pnick].document.fmsg.focus();

11667
Латвиец @Латвиец
Модерация - Гостевая.
Невозможно удалить ни одного сообщения. Отсутствует ссылка на удаление, как и IP написавшего.

20089
Dimitry @Dimitry
Исправил.

20089
Dimitry @Dimitry
Исправление ошибки - Открытие викторины в других браузерах!

Всё что нужно сделать, это в нижнем фрейме в функции startgame заменить:
parent.sets
на
parent.document.getElementsByName('sets')[0]

var on=0;
var privatheight=0;
function startgame(){
if(!privatheight) privatheight=parent.privat.document.body.clientHeight;
if(on==0){on=1;
parent.gameframe.location.href='http://mpchat.com:7777/?chat='+p.chatlogin;
parent.document.getElementsByName('sets')[0].rows="75,*,"+privatheight;
}
else {on=0;
parent.gameframe.location.href='http://mpchat.com/game.php?stop=1&chat='+p.chatlogin;
parent.document.getElementsByName('sets')[0].rows="0,*,"+privatheight;
}
}

20089
Dimitry @Dimitry
Викторина пожирающяя ресурсы сервера была переделанна на эконом-режим, уменьшение нагрузки в 10 раз 😀

20089
Dimitry @Dimitry
Всвязи с добавлением аваторов в анкету для форумов, необходимо изменить кодовые ошибки!
Открываем шаблон настроек анкеты set.inc и находим строки ошибок и меняем их на
if(saveok==0) print='<font color=red>Сохранение данных невозможно!</font><br>';
if(saveok==1) print='<font color=336699> Данные успешно сохранены!</font><br>';
if(saveok==2) print='<font color=336699> Данные успешно сохранены!</font><br><font color=red>Загрузка фотографии невозможна!</font><br>';
if(saveok==3) print='<font color=336699> Данные успешно сохранены!</font><br><font color=red>Загрузка аватора невозможна!</font><br>';

151
NIGHTMAN @NIGHTMAN
Не возможно удалить сообщения из новой гостевой, как сделать рабочий выбор цветов в форуме новом, тоже не понятно, Сегодняшние имениннки тоже не работают, Димон посмотри пожалуйста, кстати на твоём главном чате днюхи точно не работают, пути решения проблем найти не могу!

И зачем нужна такая гостевая, с тегами, смайлами, и выбором цветов, это помоему тупо, достаточно форума, там стоит поработать над этим а гостевую ннадо как то с баномлистом чата обьеденить... .

Отредактировано NIGHTMAN - 15.09.2006
20089
Dimitry @Dimitry
NIGHTMAN пишет:

Не возможно удалить сообщения из новой гостевой, как сделать рабочий выбор цветов в форуме новом, тоже не понятно, Сегодняшние имениннки тоже не работают, Димон посмотри пожалуйста, кстати на твоём главном чате днюхи точно не работают, пути решения проблем найти не могу

Про гостевую читай в теме Новая гостевая.
Форум тоже перерабатывается ещё!

Днюхи работают, по крайней мери вчера ещё работало всё!

**********
справа вверху.

20089
Dimitry @Dimitry
Вывод причины при бане пользователя каракулями! by chat-for-all

Фрейм сообщений, в /* Вывод сообщения об удалении */
parent.location.href="exit.html?"+parent.chat.yourkey+"
&act="+act+"&timeout="+timeout+"&grund="+grund;

заменяем на
parent.location.href="exit.html?"+parent.chat.yourkey+"
&act="+act+"&timeout="+timeout+"&grund="+escape(grund);

И это была одна строка, просто я разрезал, потому что часть вылезала за границу таблицы и не отображалась.


В exit.html
var grund=get['grund'];

заменяем на
var grund=unescape(get['grund']);

Должно работать во всех обозревателях.