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

Ограничение прав по статус-званию

 

596
Сергей @Князь_Пипецкий
Придумал такую вот штуковину:
Создал спец-статус, ну, например, назовем его "Смутьян"
И решил для этого статуса запретить приват.
Использовал для этого готовый скрипт из темы "Готовые решения......"

Запрет полный для незарегистрированных на приват))) и рекламу ссылками (тема перенесена)
Для отключения привата: находим в скриптах чата /* Обрабатывает строку ввода текста для отправления */

и после if (msg=='') return false;
ставим

if(parent.regist != 1&&msg.split("/privat").length>1) return false;

Несколько его изменил под спец-статус (вместо незарегистрированных)

if(stn==14)=1&&msg.split("/privat").length>1) return false;

Но, видимо где то ошибка, ибо после этого окно сообщений не загружается.
Кто может подсказать, в чем косяк?

6703
Андрей @ZloVeЩиЙ
if(stn==14&&msg.split("/privat").length>1) return false;

596
Сергей @Князь_Пипецкий
ZloVeЩиЙ пишет:

if(stn==14&&msg.split("/privat").length>1) return false;

Благодарю сердечно за отзывчивость 😀

230
serega18 @serega18
а как сделать совместный вариант запрета на приват для нерегенных+запрет на приват для определённого статуса?

Отредактировано serega18 - 02.11.2012
6703
Андрей @ZloVeЩиЙ
if(parent.regist!=1||stn==14&&msg.split("/privat").length>1) return false;

parent.regist!=1 - если не зарег.
|| - или
stn==14 - статус 14

Отредактировано ZloVeЩиЙ - 02.11.2012
230
serega18 @serega18
спасибо)))

596
Сергей @Князь_Пипецкий
if(stn==14||stn_w==14&&msg.split("/privat").length>1) return false;

Не срабатывает запрет на приват 🙁 хотя статус назначается и иконка меняется соответственно.

2970
удалён @Foggy
if(stn==14||stn_w==14&&msg.split("/privat").length>1) return false;
так не сработает. вот так по идее нужно:
if((stn==14||stn_w==14)&&msg.split("/privat").length>1) return false;

596
Сергей @Князь_Пипецкий
Foggy пишет:

if(stn==14||stn_w==14&&msg.split("/privat").length>1) return false;
так не сработает. вот так по идее нужно:
if((stn==14||stn_w==14)&&msg.split("/privat").length>1) return false;

неа....не работает запрет 🙁

1007
BETEPAH @BETEPAH
Князь_Пипецкий, не очень понятно при чем здесь stn и stn_w, это же массивы в скрипте, а не статус пользователя. Статус задается в переменной mystatus. Если я правильно понял задачу, надо делать вот так
if (mystatus == 14 && /\/privat/.test(msg)) return false;
или
if (mystatus == 14 && msg.split('/privat').length > 1) return false;
или
if (mystatus == 14 && msg.indexOf('/privat') != -1) return false;
думаю, в данном случае быстродействие выбранного метода играет не очень большую роль

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

Князь_Пипецкий, не очень понятно при чем здесь stn и stn_w, это же массивы в скрипте, а не статус пользователя. Статус задается в переменной mystatus. Если я правильно понял задачу, надо делать вот так
if (mystatus == 14 && /\/privat/.test(msg)) return false;
или
if (mystatus == 14 && msg.split('/privat').length > 1) return false;
или
if (mystatus == 14 && msg.indexOf('/privat') != -1) return false;
думаю, в данном случае быстродействие выбранного метода играет не очень большую роль

Как всегда четко и досконально!
Работают все три варианта!
Благодарю!