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

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

 

151
NIGHTMAN @NIGHTMAN
/* Функции добавления и удаления пользователей в массиве никлиста */
var uc = 0;
var uwc = 0;
var umc = 0;
var unc = 0;
var us = new Array();
if(parent.users) {
var uf=parent.users.document; /* users frame */
uf.getElementById('users').innerHTML="<table id=ul width=100%><tr id=uw><td colspan=5 class=he>Деффки</td><td id=uwc>0</td> </tr><tr id=um><td colspan=5 class=he>Пацаны</td> <td id=umc>0</td> </tr><tr id=un><td colspan=5 class=he>Нечто</td><td id=unc>0</td> </tr></table>"; /* users div (clear) */
var ul = uf.getElementById('ul'); /* users list */
}

function add(nick,colornick,st,mw,icon,status,inchat,time){
if(inchat=='0') ma(nick, colornick, time);
if(loaded==1) {
var l=us.length;
for(var i = 0;i<l;i++ ) if(us[i]!=null && us[i][0]==nick)break;
us[i]=new Array(nick,colornick,st,mw,icon,status);
nickid="!"+nick;
obj=uf.getElementById(nickid);
if(obj) ul.deleteRow(obj.rowIndex);
index=ul.rows.length;
if(mw=='1') index=uf.getElementById("uw").rowIndex+1;
if(mw=='0') index=uf.getElementById("um").rowIndex+1;
if(mw=='') index=uf.getElementById("un").rowIndex+1;
var obj=ul.insertRow(index); obj.id=nickid;
format(i,obj);
if (i==l) {uc+=1;
if(mw=='1') {uwc++;uf.getElementById("uwc").innerHTML=uwc;}
if(mw=='0') {umc++;uf.getElementById("umc").innerHTML=umc;}
if(mw=='') {unc++;uf.getElementById("unc").innerHTML=unc;}
}
}}

function del(nick,colornick,st,mw,icon,status,inchat,time) {
if(inchat=='1') md(nick, colornick, time);
if(loaded==1) {
for( var i=0; i<us.length; i++ )
if( us[i] != null && us[i][0] == nick ) {us[i] = null; uc+=-1; break;}
nickid="!"+nick;
obj=uf.getElementById(nickid);
ul.deleteRow(obj.rowIndex);
if(mw=='1') {uwc--;uf.getElementById("uwc").innerHTML=uwc;}
if(mw=='0') {umc--;uf.getElementById("umc").innerHTML=umc;}
if(mw=='') {unc--;uf.getElementById("unc").innerHTML=unc;}
}}

Работает не коректно, счётчик на проти Девушек, Парней и Нечто всегда только растёт, но не обновляеться и если долго не обновляться то получаеться такой парадокс в чате

Всего: 10

Деффки: 7
Пацаны: 5
Нечто: 2

если вообще счётчик убрать то работать не будет,


у меня работало отлично на старой версии фрейма сообщений вот такой код был:
/* find nicklist change - add/del for fastnicklist */
if(fastnicklist==1)
{
format="<table width=100%><tr>"+ set_privat+set_nick+set_st+set_icqst+set_ign+set_mw+"</tr></table>";
found=0;
for(k=0;k<maxusers;k++){if(nick==ids[k]) found=1;}
if(found==0) {fastadd(nick,format);}
}
if(mw_u=='0'){um+="<tr>"+set_privat+set_nick+set_st+set_icqst+set_ign+set_mw+"</tr>";ucm+=1;}
if(mw_u=='1'){uw+="<tr>"+set_privat+set_nick+set_st+set_icqst+set_ign+set_mw+"</tr>";ucw+=1;}
if(mw_u!='0' && mw_u!='1'){ub+="<tr>"+set_privat+set_nick+set_st+set_icqst+set_ign+set_mw+"</tr>";ucb+=1;}
}
ut+='</table>';
if(mwsort==1) {
ut="<table width=100%>";
ut+="<tr><td colspan=7><b><center><font color=#9ACD32>Девушки: "+ucw+"</font></center></td></tr>"+uw;
ut+="<tr><td colspan=7><b><center><font color=#9ACD32>Парни: "+ucm+"</font></center></td></tr>"+um;
ut+="<tr><td colspan=7><b><center><font color=#9ACD32>Неопытные: "+ucb+"</font></center></td></tr>"+ub;
ut+="</table>";
}
parent.users.document.getElementById("count").innerHTML=uc;
if(fastnicklist!=1) parent.users.document.getElementById("users").innerHTML=ut;
}

а ка его вернуть не знаю

20089
Dimitry @Dimitry
**********
с такойже системой работает нормально.. и посмотри в теме новые функции это обновление.. может ты чего не так сделал!

937
andrus @andrus
мда... у меня в гостевой какая-то фигня вылезла, полосу прокрутки создает... (см. скрин, точка справа, немного выше центра)

при ее выделении -> ctrl+c в буфере обмена остаецца вот что:
--------------------------------------------------------------------------------
в чем дело?

2902
serhio @serhio
andrus пишет:

мда... у меня в гостевой какая-то фигня вылезла, полосу прокрутки создает... (см. скрин, точка справа, немного выше центра)

при ее выделении -> ctrl+c в буфере обмена остаецца вот что:
--------------------------------------------------------------------------------
в чем дело?

в этом, наверное:
<hr color=#FF6900 width=45%> <center>

937
andrus @andrus
ок, сейчас проверим... я как-то не подумал про hr, они ведь как куча ---- и копируются

угу, это было hr, но сама ошибка в другом... спасибо все-равно 😀

Отредактировано andrus - 10.10.2006
20089
Dimitry @Dimitry
Доработанна версия получения GET переменных методом JS
Теперь этот метод непропускает XSS.

Этот метод используется в exit.html - рекомендуется заменьть код
var get=new Array();
var a=unescape(location.search.substr(1)).split("&");
for(var i=0; i<a.length;i++) {var j=a[i].split("="); get[j[0]]=j[1];}

на

//GET viriables
var query=unescape(location.search.substr(1));
var badstr=new Array('<','>','"',"'",'`','%','#','\\');
for(i=0;i<badstr.length;i++) query=query.split(badstr[i]).join();
var get=new Array();
var a=query.split("&");
for(var i=0; i<a.length;i++) {var j=a[i].split("="); get[j[0]]=j[1];}

20089
Dimitry @Dimitry
Маленькая ошибка в настройках анкеты. После изменения шрифта, шрифт ника принимает шрифт текста.

Находим в шаблоне настроек set.inc

if(fontface_on==1){
print='<select name=fontface1 class=text onchange=setall()>';
for(i=0;i<jsfonts.length;i++) if('%fontface2%'==jsfonts[i]) print+='<option value='+i+' selected>'+jsfonts[i]; else print+='<option value='+i+'>'+jsfonts[i];
print+='</select> ';
document.write(print);
}
document.write('<br>');

Обратите внимание на синее (если там 1 то вы нашли правильное место), затем просто замените красный fontface2 на fontface1.

11667
Латвиец @Латвиец
Глюк информёра.
Не показывает сколько всего зарегестрированных...

130
DimasiK @DimasiK
У меня раньше тоже, как у тебя было, перестало показывать.
Я поменял на это, типерь работает всё.

<script src=?inc=informer&lastreg=15&counter=1&birthday=1></script>
<script>
towrite=
"IP: "+i_ip+"<br>"+
"Сообщений: "+i_msg+"<br>"+
"Зарег. человек: "+i_users+"<br>"+
"Сейчас в чате: "+i_inchat+"<br>";
document.write(towrite);
</script>

20089
Dimitry @Dimitry
Несоветовал бы я ставить все переменные если их неиспользуешь.. лишняя нагрузка.. особенно дни рождения..

130
DimasiK @DimasiK
demon пишет:

Несоветовал бы я ставить все переменные если их неиспользуешь.. лишняя нагрузка.. особенно дни рождения..

Если ДР убираешь, т.е вот это <script src=?inc=informer&lastreg=15&counter=1&birthday=1></script>, то всё остальное не выводит просто, короч, не покaзывает.

Отредактировано DimasiK - 02.12.2006
217
Эльдорадо @Эльдорадо
большинство картинок,баннеров которые я вставлю в титульник не отображаются...
впорос соответственно почему?

1138
pingWIN @pingWIN
потому что вствлять надо нормально

91
Бабенко_Арсений @Бабенко_Арсений
DimasiK пишет:

demon пишет:

Несоветовал бы я ставить все переменные если их неиспользуешь.. лишняя нагрузка.. особенно дни рождения..

Если ДР убираешь, т.е вот это <script src=?inc=informer&lastreg=15&counter=1&birthday=1></script>, то всё остальное не выводит просто, короч, не покaзывает.

Надо
написать <script src=?inc=informer&lastreg=15&counter=1&birthday=0></script>

20089
Dimitry @Dimitry
Пробовал у себя
?inc=informer&lastreg=10&counter=1&birthday=1
?inc=informer&lastreg=10&counter=1
?inc=informer&lastreg=10
?inc=informer

Все варианты работают..
ну естественно если чтото неуказывать то надо и из титульника убрать вывод..

130
DimasiK @DimasiK
Если укратить до минимум, работает только так <script src=?inc=informer&lastreg=10&counter=1></script>, *у меня по крайней мере.

20089
Dimitry @Dimitry
?inc=informer
хочешь сказать это не выводит инфу скоко сегодня сообщений и скоко в чате народу?

**********


Кстати обращяйте внимание на время загрузки.. должно быть меньше 0.01

0.002 **********
0.004 **********
0.005 **********
0.006 **********

видно как влияет информер даже при моём маленьком чате.

Смотрим нальчика )

0.002 **********
0.013 **********
0.014 **********
0.016 **********

Видно что просто ********** работает в несколько раз быстрее.. так что нужно думать какие параметры ставить )

696
Евгений @Advocat
с форумом что то нето
Warning: date() expects parameter 2 to be long, string given in /home/web1/html/mpchat/forum.php on line 269

Warning: Cannot modify header information - headers already sent by (output started at /home/web1/html/mpchat/forum.php:269) in /home/web1/html/mpchat/forum.php on line 339
выскакивает
и люди жалуются что ошибка
Create topic/post error or access denied!

20089
Dimitry @Dimitry
Я кое что настраивал.. проверь сейчас.

696
Евгений @Advocat
неа проблема с Create topic/post error or access denied! осталась (вообщим если поставить доступ 3 на какой либо форум тоесть 3 - чтение только зарег. то ответить в таком форуме немогут зарегеные юзеры