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

Разграничение функций модерирования

 

451
Джесси @Джесси
if(parent.admin==1)
Ну ладно, это понятно. То есть все: админы, модеры, кодеры, лодеры, и.т.д.

А как вот, например, разграничить эту функцию отдельно для админов, отдельно для модеров?

Пример:
Вот, допустим, у меня стоит
if(parent.admin==1) вызвать в чат пользователя (вызов /call)
Итак, вызов могут делать и админы и модеры, т.е. все те, у кого "администрирующий статус" admin=1

А как вот сделать, чтобы вызывать могли (к примеру) лишь Админы. А модеры - НЕ могли бы?...

Отредактировано Джесси - 17.03.2008
967
Lefna @Богиня
Глянь внимательно в главной админке пользователи -> настроить статусы...

Отредактировано Богиня - 17.03.2008
451
Джесси @Джесси
Да, это всё верно, и там всё настроено.
Но ведь /call нет в параметрах настройки статусов!! А нужно /call присвоить только определённой группе лиц.

(/alert не предлагать!)

2902
serhio @serhio
Джесси пишет:

Да, это всё верно, и там всё настроено.
Но ведь /call нет в параметрах настройки статусов!! А нужно /call присвоить только определённой группе лиц.

(/alert не предлагать!)

а чем плохо - if(parent.status=статус_модера) вызвать в чат пользователя (вызов /call)

451
Джесси @Джесси
serhio О, действительно, идея! Надо попробовать!... Позже отпишусь.

451
Джесси @Джесси
Serhio, благодарю за наводку-подсказку! Всё сделал, даже разграничил полномочия по группам статусов!
+1

Сейчас уже бошка плохо варит, послушай, или я туплю, но в Самой Админке же никогда не было возможности вызова /call ? Или я уже просто туплю и не помню?

2902
serhio @serhio
Джесси пишет:

Serhio, благодарю за наводку-подсказку! Всё сделал, даже разграничил полномочия по группам статусов!
+1

Сейчас уже бошка плохо варит, послушай, или я туплю, но в Самой Админке же никогда не было возможности вызова /call ? Или я уже просто туплю и не помню?

не было... вызов пользователя - это не админская функция... по умолчанию она доступна всем...

451
Джесси @Джесси
Хм, смотри, вот такая фигня теперь получается:
Допустим, теперь /call работает-то только у тех, у кого есть Админка.
А как же, например, присваивать-то /call допустим только "бывалому" или там какому-нить "постоянному", но у которых админки-то нет!!
if(parent.admin==х) ---- получается, только для тех, у кого уже есть доступ в админку!

Быть может, if(parent.stat==х), что-то есть подобное?

Отредактировано Джесси - 17.03.2008
2902
serhio @serhio
Джесси пишет:

Хм, смотри, вот такая фигня теперь получается:
Допустим, теперь /call работает-то только у тех, у кого есть Админка.
А как же, например, присваивать-то /call допустим только "бывалому" или там какому-нить "постоянному", но у которых админки-то нет!!
if(parent.admin==х) ---- получается, только для тех, у кого уже есть доступ в админку!

выложи код селектора... подправим те условия, что ты записал неверно...

451
Джесси @Джесси
serhio ,
<script>
document.write("<input type=hidden name=nick value="+parent.mynick+">");
document.write("<input type=hidden name=id value="+parent.myid+">");

document.write("<select name=cmd class=text>");
if(parent.admin==1){document.write("<option value='/me '>v.i.p.сообщение");}
if(parent.admin==7){document.write("<option value='/call '>вызвать");} - уже не работает (не появляется, т.к. у статуса 7 нет админки!
if(parent.admin==5){document.write("<option value='/call '>вызвать");}
if(parent.admin==4){document.write("<option value='/call '>вызвать");}
if(parent.admin==3){document.write("<option value='/call '>вызвать");}
if(parent.admin==2){document.write("<option value='/call '>вызвать");}
if(parent.admin==1){document.write("<option value='/call '>вызвать");}
if(parent.admin==18){document.write("<option value='/call '>вызвать");}
if(parent.admin==19){document.write("<option value='/call '>вызвать");}
if(parent.admin==20){document.write("<option value='/call '>вызвать");}
document.write("<option value=''>обычное");
document.write("<option value='/privat '>приватное");
if(parent.admin==1) {
document.write("<option value=''>-=модерация=-");
document.write("<option value='/warn '>предупредить");
document.write("<option value='/windows '>закидать окнами");
document.write("<option value='/kick '>удалить");
document.write("<option value='/shut '>заткнуть");
document.write("<option value='/kill '>убить");
}
if(parent.alerter[parent.mynick]) document.write("<option value='/alert '>алерт-вызов");
if(parent.clearer[parent.mynick]) document.write("<option value='/clear '>очистить");
if(parent.reloader[parent.mynick]) document.write("<option value='/reload '>перезагрузить");

document.write("</select>");
</script>

Тут дело-то не в селекторе... а в том, что данная функция if(parent.admin==х) - обращается к наличии Админки!!
Быть может, if(parent.stat==х), что-то есть подобное?

2902
serhio @serhio
Джесси пишет:

serhio ,
Тут дело-то не в селекторе... а в том, что данная функция if(parent.admin==х) - обращается к наличии Админки!!
Быть может, if(parent.stat==х), что-то есть подобное?

разве есть admin=19?... admin может быть только 0 или 1... потому и не появляется.. а не потому, что у этого статуса нет админки...
нужно пользовать parent.status ... я ж тебе это в самом первом сообщении написал... будь внимательнее...

<script>
document.write("<input type=hidden name=nick value="+parent.mynick+">");
document.write("<input type=hidden name=id value="+parent.myid+">");

document.write("<select name=cmd class=text>");
if(parent.admin==1){document.write("<option value='/me '>v.i.p.сообщение");}
if(parent.status ==7){document.write("<option value='/call '>вызвать");}
....................
iif(parent.status ==20){document.write("<option value='/call '>вызвать");}
document.write("<option value=''>обычное");
document.write("<option value='/privat '>приватное");
if(parent.admin==1) {
document.write("<option value=''>-=модерация=-");
document.write("<option value='/warn '>предупредить");
document.write("<option value='/windows '>закидать окнами");
document.write("<option value='/kick '>удалить");
document.write("<option value='/shut '>заткнуть");
document.write("<option value='/kill '>убить");
}
if(parent.alerter[parent.mynick]) document.write("<option value='/alert '>алерт-вызов");
if(parent.clearer[parent.mynick]) document.write("<option value='/clear '>очистить");
if(parent.reloader[parent.mynick]) document.write("<option value='/reload '>перезагрузить");

document.write("</select>");
</script>

451
Джесси @Джесси
serhio , блиин, ох я и олень... сидел всё это время сортировал функции модеров да админов, а про простые-то статусы и забыл !!!
(но тоже, штука полезная, согласись, хотя бы уже узнали, как разным модерирующим статусам дать возможность вызова ника в чат, а кому-то из них не дать!))
Превеликое тебе СПС! :-)

Отредактировано Джесси - 17.03.2008
451
Джесси @Джесси
Заметил вот что:
Любой чатланин, независимо от статуса, может вызвать в чат, просто написав в строке тег /call
Любой чатланин, независимо от статуса, может писать выделенным сообщением, просто написав в строке тег /me
Что кто посоветует? Как это победить?
Через фильтрацию же нереально закрыть? Тогда, поди совсем ни у кого работать не будет...

Отредактировано Джесси - 21.03.2008
4316
Никита @DMc_Pozitiv
Я не знаю получится ли, но если в скриптах задать ники, така как ники чистильщиков екрана, а в селекторе прописать дополнительное условие...напиример:
В скрипты добавляем:
var caller = new Array();
caller['Ник 1']=1;
caller['Ник 2']=1; и т.д.

А нижний фрейм в селектор:

if(parent.caller[parent.mynick]) document.write("<option value='/call '>вызов");

Но не знаю!Не проверял по логике должно работать!

Отредактировано DMc_Pozitiv - 21.03.2008
2902
serhio @serhio
Джесси пишет:

Заметил вот что:
Любой чатланин, независимо от статуса, может вызвать в чат, просто написав в строке тег /call
Любой чатланин, независимо от статуса, может писать выделенным сообщением, просто написав в строке тег /me
Что кто посоветует? Как это победить?
Через фильтрацию же нереально закрыть? Тогда, поди совсем ни у кого работать не будет...

фильтрацию на статус нужно делать в двух местах - в селекторе нижнего фрейма и в самих функциях /call и /me... тогда не будут выводиться сообщения этих функций для неразрешенных статусов...

4316
Никита @DMc_Pozitiv
А так как я написал?Неужели не будет работать?

2902
serhio @serhio
qwert пишет:

А так как я написал?Неужели не будет работать?

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

4316
Никита @DMc_Pozitiv
А может еще так можно!В скриптах там где вывод сообщения поставить условие на ник...например...

if(cmd==3)
if(nick=="НИК"){....}

2902
serhio @serhio
qwert пишет:

А может еще так можно!В скриптах там где вывод сообщения поставить условие на ник...например...

if(cmd==3)
if(nick=="НИК"){....}


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

4316
Никита @DMc_Pozitiv
Почему!В селекторе на сообщение /me не прописано ж условие!