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

Запрет привата и флуда в моб. чате

 

1163
Денис @Анатолич
Здравствуйте уважаемые админы чатов, гуру скриптов и всем стальным тоже не хворать.

Хочу задать вопрос. Как в мобильном чате, Для тех кто без реги, пставить запрет на отправку сообщений чаще чем раз в 5 сек,и отправку сообщений в приват.

2615
Сергей @Pegass
так же как и в обычном, с той лишь разницей что в обычном скрипты в отдельном файле, а тут они все прописаны в шаблоне мобильной версии.
Более детально подсказать не готов

Отредактировано Pegass - 23.11.2012
202
Владимир @Лесной_зверь
А есть люди,которые разбираются в мобильной версии,мне также нужно усовершенствовать её?Не бесплатно.

1163
Денис @Анатолич
Pegass пишет:

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

Нефига не получается как в обычной. Вот например готовое решение https://vmeste.eu/forum?pid=181629#p181629

/* Анализ полученной строки и передача в функцию f() */
function r(msg) {
if(msg=="started") {document.getElementById("leftdiv").innerHTML=""; return;}
if(msg=="loaded") {up(); loaded=1; return;}
if(msg=="disconnected") {if(ajaxon) window.clearInterval(ajaxon); disconnect(); return;}
if(parent.regist != 1&&msg.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
var a=msg.split('|');
f(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14]);
}

Добавил красное, толку ноль.
Хотя конечно с моим методом "Научного тыка" эксперементировать можно долго.
Может все таки кто то знает решение?

2615
Сергей @Pegass
а нахрена ж ты это в функцию r пихнул, когда надо в msg_send

function msg_send() {
var obj=document.getElementsByName('text0')[0];
var text=obj.value; obj.value="";if(!text) return false;
if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
document.getElementsByName('text')[0].value=text;
obj.focus();
}

только я не уверен что на мобильниках алерт работает)))

2615
Сергей @Pegass
Анатолич пишет:

Добавил красное, толку ноль.
Хотя конечно с моим методом "Научного тыка" эксперементировать можно долго.
Может все таки кто то знает решение?

можно подумать у нас другой метод ХДДД)))

1163
Денис @Анатолич
Pegass пишет:

Анатолич пишет:

Добавил красное, толку ноль.
Хотя конечно с моим методом "Научного тыка" эксперементировать можно долго.
Может все таки кто то знает решение?

можно подумать у нас другой метод ХДДД)))

Ну знаете каждому свое. Ты вот понимаешь в какую функцию надо вставлять строчку. А для меня это лес дремучий.

Собственно сказать могу только одно, выше всяких похвал. Быстро четко и по делу. Респект и уважуха.
Приват Подлатали.
Остся актуальным вопрос насчет запрета без реги писать чаще 5 секунд. https://vmeste.eu/forum?pid=258045#p258045

Отредактировано Анатолич - 29.11.2012
2615
Сергей @Pegass
/*вроде так должно работать */

var no_reg_time=0;
function no_reg_timer(a) {no_reg_time=1;
window.setTimeout(function () {
if (a == 0) {document.getElementsByName('text0')[0].value = "";document.getElementsByName('text0')[0].focus();no_reg_time=0;
}
else {
document.getElementsByName('text0')[0].value = "Отправка следующего сообщения через "+a+" сек. Зарегистрируйтесь!!!";
a--;
window.setTimeout(arguments.callee, 1E3)
}
}, 10)
};


function msg_send() {
if(regist != 1&&no_reg_time) return false;
regist != 1&&no_reg_timer(5);

var obj=document.getElementsByName('text0')[0];
var text=obj.value; obj.value="";if(!text) return false;
if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
document.getElementsByName('text')[0].value=text;
obj.focus();
}

1163
Денис @Анатолич
Pegass, попробовал так вылезает алерт
Яваскрипт
<videochaty.ru>

No text sended!

сообщения не отправляются совсем

Отредактировано Анатолич - 29.11.2012
2615
Сергей @Pegass
/*запрет писать чаще чем 5 секунд для незарегистрированных, мобильная версия, рабочее решение*/

time_call=0;
var time_call_delay=1000*5;//5 секунд

function timeCall(){
var m = new Date();
var tmp=m.getTime();
return tmp;
}



function msg_send() {
if(parent.regist != 1) if(timeCall()-time_call<=time_call_delay) {alert("Вы не можете писать чае чем раз в 5 секунд"); return false;}
else time_call=timeCall();

var obj=document.getElementsByName('text0')[0];
var text=obj.value; obj.value="";if(!text) return false;
if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
document.getElementsByName('text')[0].value=text;
obj.focus();
}

Отредактировано Pegass - 29.11.2012
1163
Денис @Анатолич
Pegass, так чат работает. Но толку от фильтра нет никакого

Отредактировано Анатолич - 29.11.2012
2615
Сергей @Pegass
/*ой, забыл */
function msg_send() {
if(parent.regist != 1) if(timeCall()-time_call<=time_call_delay) {alert("Вы не можете писать чае чем раз в 5 минут"); return false;}
else time_call=timeCall();
var obj=document.getElementsByName('text0')[0];
var text=obj.value; obj.value="";if(!text) return false;
if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
document.getElementsByName('text')[0].value=text;
obj.focus();
}

1163
Денис @Анатолич
Pegass пишет:

а нахрена ж ты это в функцию r пихнул, когда надо в msg_send

function msg_send() {
var obj=document.getElementsByName('text0')[0];
var text=obj.value; obj.value="";if(!text) return false;
if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}
document.getElementsByName('text')[0].value=text;
obj.focus();
}

только я не уверен что на мобильниках алерт работает)))

поторопился я кричать ура. Заметил только сейчас.


if(parent.regist != 1&&text.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}

эта функция не работает, вернее приват оказался под запретом. Но для всех абсолютно, походу parent.regist != 1
В мобильной версии не срабатывает.
С антифлудом Дмитрий помог. Честь ему и хвала за это. Так, что скрипт уже не актуален.
А вот с приватом конечно хотелось бы что то придумать.

2615
Сергей @Pegass
Зовём Дмитрия)))) Нет этой переменной в моб версиии)))
Дим, добавь плиз в моб версию, те же переменные что и в основном чате

Отредактировано Pegass - 07.12.2012
20090
Dimitry @Dimitry
да походу надо просто делать также
%scripts%

20090
Dimitry @Dimitry
Сделал %scripts%, соответственно все остальные переменные можно удалить.

230
serega18 @serega18
Пожалуйста, Если не сложно, подскажите куда конкретно в мобильной версии нужно поставить запрет на написания латиницей для 2 статусов чата:

if(parent.mystatus==0 || parent.mystatus==5) {msg_text=msg_text.replace(ssilka, ""); if(!msg_text) {alert("латиница отключена"); return false;} }

42
Антон @53435
По поводу переменых кстати можно сделать какие то гло6альные переменые хотя 6ы 3 штуки что6ы ра6отали воо6ще в лю6ом месте чата???? Тогда можно столько плезного сделать скажем выводить сколько пунктов у те6я в самой кнопке магазин и делать настройки диза индивидуальные в настройках там цвет чата и прочее. Дима же когда то намутил фиелды в настройках. Думаю не 6удет сложно и несколько гло6альных переменных сделать.

Отредактировано 53435 - 16.02.2015
2615
Сергей @Pegass
53435, это нужно единицам - ответ - тариф ВИП

42
Антон @53435
Pegass пишет:

53435, это нужно единицам - ответ - тариф ВИП

Ну смотри Диму ведь до сих пор 6еспокоят по поводу того что где то снова надо делать переменные потому что тут флудят там флудят или ещё где какой непорядок. А это он сделает несколько гло6альных переменых и все про6лемы почти сами со6ой отпадут.