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

Индивидуальный запрет на смайлы.

 

596
Сергей @Князь_Пипецкий
Есть такая необходимость сконструировать функцию запрета на вставку в сообщения смайлов конкретному пользователю.
Как говорится, по мотивам "кляпа" но только не на сообщения как таковые, а на смайлы.
Если в настройках ограничить это дело, то действует на всех, а злоупотребляет кто-то один.
Всех прессовать как то не правильно.

Если кто-то нечто подобное делал, подскажите пожалуйста?

Отредактировано Князь_Пипецкий - 28.11.2014
110
Владимир @erorr
Князь_Пипецкий пишет:

Есть такая необходимость сконструировать функцию запрета на вставку в сообщения смайлов конкретному пользователю.
Как говорится, по мотивам "кляпа" но только не на сообщения как таковые, а на смайлы.
Если в настройках ограничить это дело, то действует на всех, а злоупотребляет кто-то один.
Всех прессовать как то не правильно.

Если кто-то нечто подобное делал, подскажите пожалуйста?

Спроси у Чатике.ру там точно такое есть .

1163
Денис @Анатолич
как вариант по мотивам запрета на капс или латиницу. в нижнем фрейме поставить проверку на ник. если у этого ника в сообщении стоят звездочки* то убирать их. или менять например на "флуд"
если нужно не на постоянку. То надо изращатся и делать специальных людей для запрета. по аналогии с капсерами. все тоже самое. только фильтровать не заглавные буквы а звездочки.

Отредактировано Анатолич - 29.11.2014
47
Jenja @johnakosem
/* [НАСТРОЙКИ] */

/* Ники установщиков запрета на Смайлы(/smil): smiler['nick']=1; */
var smilelosk=0;
var smiler = new Array();
smiler['adm']=1;
smiler['ник']=1;

/* Проверка пользовательских команд для простого сообщения */

if(text.substr(0,5)=="/smil" && smiler[nick]) {
if (tonick&&mynick==tonick&&loaded==1) {smilelosk=1};
text = '<span style="font-style: italic; color: red">Для ника&nbsp;' + tonick + '! Вам отключили пользоваться смайлами!</span>';
}

/* [Функции - нижнего фрейма] */
после var msg=form.text0.value;

var smil = /\*([0-9]{1,3}.+)/;
var pas = /\.|\!/;
a=msg.split(pas);
if(smilelosk==1) {for(k=0;k<a.length;k++){nn=a[k].replace(smil,'***'); msg=msg.replace(a[k], nn);}} ;

чат внутри в нужное место
if(parent.smiler[parent.mynick]) document.write("<option value='/smil '>запретить смайлы");

Вместо смайлов будет *** можно изменить под себя.
Запрет действителен на сессию!

Отредактировано johnakosem - 07.12.2014
596
Сергей @Князь_Пипецкий
Жаль, но запрет не действует.
Хотя сообщение об установке запрета выводится.
А смайлы все равно ставятся.

🙁

47
Jenja @johnakosem
Князь_Пипецкий пишет:

Жаль, но запрет не действует.
Хотя сообщение об установке запрета выводится.
А смайлы все равно ставятся.

🙁

У себя я именно так реализовал, возможно у тебя смайлы не в таком формате *123 а *имя , тогда надо эту строчку подкоректировать var smil = /\*([0-9]{1,3}.+)/;

Отредактировано johnakosem - 08.12.2014
596
Сергей @Князь_Пипецкий
Совершенно верно!
Сделал так :

var smil = /\*([0-9, a-z]{1,3}.+)/;
Теперь порядок!
Спасибо за помощь!

2615
Сергей @Pegass
Князь_Пипецкий, фуфуфу
var smil = /\*([0-9a-z]{1,3}.+)/;
запятая лишняя это раз

два - легко обойти

три - главное правило фильтровать не только на входе, но и на выходе

Отредактировано Pegass - 08.12.2014
270
Чатикеру @Чатикеру
erorr пишет:

Князь_Пипецкий пишет:

Есть такая необходимость сконструировать функцию запрета на вставку в сообщения смайлов конкретному пользователю.
Как говорится, по мотивам "кляпа" но только не на сообщения как таковые, а на смайлы.
Если в настройках ограничить это дело, то действует на всех, а злоупотребляет кто-то один.
Всех прессовать как то не правильно.

Если кто-то нечто подобное делал, подскажите пожалуйста?

Спроси у Чатике.ру там точно такое есть .

а с чего взяли в чатике такое есть ?

12
Андрей @джип
Pegass пишет:

Князь_Пипецкий, фуфуфу
var smil = /\*([0-9a-z]{1,3}.+)/;
запятая лишняя это раз

два - легко обойти

три - главное правило фильтровать не только на входе, но и на выходе

у меня хоть с запятой хоть без не пашет!некоторые смайлы глушит а некоторые нет.чуть позже нашел причину))) так как у меня некоторые смайлы написаны в формате *абвгде.... то добавил ещё и русские буквы в команду var smil = /\*([0-9a-zа-я]{1,3}.+)/;

Отредактировано джип - 25.05.2016