Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Запрещаем модерам править посты админов.

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5

Открыть новую тему     Написать ответ в эту тему

Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стандартно модераторы могут исправлять постинги администраторов, однако это не всегда есть гуд.
 
Посты могут править:  
1. участник  - только свой по дефолту
2. Гость не может править( установленно в последней версии) по дефолту
3. Забаненый не может править(утановленно в последней версии) по дефолту
4. Модератор  - только в своем форуме по дефолту
5. Администратор везде по дефолту
6. Модератор в своем форуме посты админа ( убираем с помощью этого хака)

Удалением постов.
1. участник  - не может по дефолту
2. Гость не может ( установленно в последней версии) по дефолту
3. Забаненый не может (утановленно в последней версии) по дефолту
4. Модератор  - только в своем форуме по дефолту
5. Администратор везде по дефолту
6. Модератор в своем форуме  даже посты админа ( убираем с помощью этого хака)

 
Предлагаю решение вопроса #1:
Открываем postings.cgi
Ищем:

Код:
 
sub processedit {
 

Опускаемся ниже, находим:

Код:
 
if ($inmembername eq "$ibtxt{'0043'}"){$cleartoedit = "no"}
 

Т.е. строчку запрещающую анрегам редактировать посты.
И ниже добавляем:

Код:
 
&getmember("$postermembername");
$postermembercodesec = $membercode;
&getmember("$inmembername");
if (($postermembercodesec eq "ad") && ($inmembmod eq "yes") && ($membercode ne "ad")) {
$cleartoedit = "no";
&error("Редактирование сообщения&Модераторы не могут изменять сообщения администраторов");
}
 

Т.е мы берём значение имени автора поста, узнаём его статус, присваиваем его переменной, потом снова вытаскиваем данные редактирующего пост человека, проверяем, является ли он модером и не является ли админом, если да, то выдаём сообщение о том, что он не может править посты админа. Остальные проверки уже есть в коде.
Вывод сообщения об ощибке можно выкинуть.
Т.е. возможность одному админу править посты второго я оставил. ;)

 
Вариант №2 (альтернатива первому варианту, то есть вариант №1 не ставим)
Редактируем postings.cgi
Вот так выгледеть должно: sub processedit {

Код:
&getmember("$inmembername");  
            &moderator;  
 
            &getforum("$inforum");  
             
            if ($allowedentry{$inforum} eq "yes") { $allowed = "yes"; }  
 
            if (($privateforum eq "yes") && ($allowed ne "yes")) {  
                &error("$ibtxt{'1406'}&$ibtxt{'1407'}");  
                }    
 
            $cleartoedit = "no";  
 
            if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; }  
            if (($inmembmod eq "yes") && ($inpassword eq $password)) { $cleartoedit = "yes"; }  
            if (($inmembername eq $postermembername) && ($inpassword eq $password)) { $cleartoedit = "yes"; }  
 
            if ($inmembername eq "$ibtxt{'0043'}"){$cleartoedit = "no"}  
####Запрет модерам посты админа править start#####    
            &getmember("$postermembername");    
            $postermembercodesec = $membercode;    
            &error("Редактирование сообщения&Модераторы не могут редактировать сообщения администратора") if (($postermembercodesec eq "ad") && ($inmembmod eq "yes"));    
            ###Запрет модерам посты админа править end
 
 
        unless ($cleartoedit eq "yes") { $cleartoedit eq "no"; }  

 
Убираем возможность удалять посты админа модератором в своем форуме.
(привожу целый кусок и красным что отличается от дефолтного):

Код:
sub deletepost {  
 
    $filetoopen = "$ikondir" . "forum$inforum/$intopic.thd";  
    open(FILE, "$filetoopen");  
    @allthreads = <FILE>;  
    close(FILE);  
     
    $posttodelete = $inpostno;  
    $posttodelete--;  
    $postcountcheck = 0;  
    $totalposts = @allthreads;  
     
 
($postername,$trash)=split(/\|/,@allthreads[$posttodelete]);  
    &getmember("$postername");  
    $postercode = $membercode;
     
&getmember("$inmembername");  
    &moderator;  
 
    $cleartoedit = "no";  
 
 
    if ($membername eq "$ibtxt{'0043'}") { &error("Posting&Внимание, Гостю запрещено править сообщения"); }  
    if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; }  
    if (($inmembmod eq "yes") && ($inpassword eq $password) && ($postercode ne "ad")) { $cleartoedit = "yes"; }  
    unless ($cleartoedit eq "yes") { $cleartoedit = "no"; }  
     
        if ($cleartoedit eq "no" && $checked eq "yes") { &error("$ibtxt{'1529'}&$ibtxt{'0504'}"); }    
        if ($cleartoedit eq "yes") {  
             
            if ($posttodelete == 0) { &error("$ibtxt{'1530'}&$ibtxt{'1531'}"); }  
             
            ### First off, lets delete the post in the thread.  
 
 
 
 
 

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 19:58 03-01-2002 | Исправлено: trew, 05:43 15-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W
Так, попробуй закоментировать  в двух кусочках:

Код:
if (($membercode eq "ad") && ($inpassword eq $password) && ($postercode eq "mo"))  { $cleartoedit = "yes";}  
if (($membercode eq "ad") && ($inpassword eq $password) && ($postercode eq $postermembername))  { $cleartoedit = "yes";}
 

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 17:25 16-02-2005 | Исправлено: trew, 17:27 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Это в sub processedit {
или sub deletepost { или там и там надо эти строчки закоментировать...?

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 17:43 16-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W Давай в одном и сверим, уйдут эти "красные" проблемки или нет

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 17:49 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Все тоже ни какого продвижения.

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 18:03 16-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W Не может такого быть, пробуй еще раз, у меня работает с этим кодом и без него.
 
 
Добавлено:
Создай два форума, в одном сделай одного рега модератором,  создай темы  в каждом с  несколькими постами и протесть  под админом: редактирование - удаление.
Так же  проделать с модератором.

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 18:34 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Опять раскоментировал попробовал ничего, опять закометировал тоже ничего. Я прям начинаю думать что зря я этот хак начал ставить, но все равно хочется и никак неполучается.

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 18:54 16-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W Хак то у тебя работает, а не работает то, что должно быть по дефолту...  

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 19:03 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня 10 форумов, но я создал как ты сказал еще один и там модератора назначил другого, потом сдалал посты:
1. админа
2. модератора этого форума  
3. модератора не этого форума и все равно ничего я тут тестирую создаваю много тем и форумо иучастнико у меня 6 примерно 3 модератора 2 участника 1 админ и гости, приходиться сначала сообщений накидть а потом редактировать и удалять если удаляются. Вообщем ничего опять, что за чушь такая?

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 19:14 16-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W

Цитата:
1. админа  
Админ у тебя везде удаляет и редактирует? Является ли админ и модератором этого форума?
 
 
Добавлено:

Цитата:
2. модератора этого форума  
То же самое, что он может?
 

Цитата:
3. модератора не этого форума  
Что он может делать?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 19:19 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 Является ли админ и модератором этого форума?

Нет!

Цитата:
Админ у тебя везде удаляет и редактирует?

Да но только свои сообщения.
 
 
Добавлено:

Цитата:
2. модератора этого форума  
То же самое, что он может?

Он не может:
1.Удалять свои сообщения;
2.Удалить и править сообщения модератора не этого форума.;
3.Не может удалить и править сообщени админа;
Может:
1. Править свои сообщания;

Цитата:
3. модератора не этого форума  
Что он может делать?

Не может:
1. Править и удалять сообщение модератора данного форума;
2. Удалять свои сообщения;
3.Не может удалить и править сообщени админа;
Может:
1. Править свои сообщения.
Вот так вот получилось. Ты на чистой конфк правишь?
А у меня только наверное твой файл чистый ивот тебе результат, наверное, это из-за грязной конфы, мржет где конфлит прорисходит и перекрывает, данный хак и птом все коряво, да а может быть конфликт между хаками в самом постинге(наверное скорее всего). Хоть я и не шарю в программировании, и много не внимателен но у меня есть такакя идея(по поводу конфликта)

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 19:24 16-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W

Цитата:
Цитата:2. модератора этого форума    
То же самое, что он может?  
 
Он не может:  
1.Удалять свои сообщения;  
2.Удалить и править сообщения модератора не этого форума.;  
3.Не может удалить и править сообщени админа;  
Может:  
1. Править свои сообщания;  

1. это плохо
2. это плохо
все остальное  нормально
 
 

Цитата:
3. модератора не этого форума    
Что он может делать?  
 
Не может:  
1. Править и удалять сообщение модератора данного форума;  
2. Удалять свои сообщения;  
3.Не может удалить и править сообщени админа;  
Может:  
1. Править свои сообщения.  

Прекрасно,  значит работает...
 
А  по пользователям проблем нет? То есть, удаляет ,и редактирует  админ и модератор нормально?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 20:59 16-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
А  по пользователям проблем нет? То есть, удаляет ,и редактирует  админ и модератор нормально?

Я так понял ты звдаешь вопрос такой:
"Могут ли админ и модератор удаляеть ,и редактировать сообщения участников?"
Если так то как я уже говорил, то они могут только свои сообщения, а  участника нет.  
Как-то странно не админа и не гостя и не участника сообщения не правит и не удаляет где-то в одном блоке ошибка только что-то я найти не могу...где именно.

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 19:35 17-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W

Цитата:
Если так то как я уже говорил, то они могут только свои сообщения, а  участника нет.  
Это дефолтные функции и мы их не трогаем в этом хаке, поэтому это очень странно...
 

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

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 20:12 17-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Установил  postings.zip , который ты прислал, вот результат:
С начала плохое:
Модератор форума не может править и удалять сообщения гостя и участника.
Администратор не может править и удалять сообщения гостя и участника.
 
Хорошое:
Модератор может править и удалять свои.
Администратор может править и удалять свои.
Участники правят только свои ни чьи больше.
 
Теперь по поводу postings1.zip
При попытки отредактировать кем угодно (модератором, участником, админом)
вот результат:
(такая ошибка)

Цитата:
 
Software error:
syntax error at \home\LOCALH~1\cgi\IKONBO~1\postings.cgi line 957, near ")) "
syntax error at \home\LOCALH~1\cgi\IKONBO~1\postings.cgi line 1118, near "}"
Execution of \home\LOCALH~1\cgi\IKONBO~1\postings.cgi aborted due to compilation errors.
 

 
вот строчка line 957, near
 

Код:
 
          if ($membername eq "$ibtxt{'0043'}") { &error("Posting&Внимание, Гостю запрещено править сообщения"); }
    if (($membercode eq "ad") && ($inpassword eq $password)) { $cleartoedit = "yes"; }
    if (($inmembmod eq "yes") && ($inpassword eq $password) && $postercode ne "ad")) { $cleartoedit = "yes"; }
    unless ($cleartoedit eq "yes") { $cleartoedit = "no"; }
 

 
вот строчка line 1118, near
 

Код:
 
          } # end if clear to edit
             
            else { &error("$ibtxt{'1530'}&$ibtxt{'1533'}"); }
 
} # end subdelete line 1118, near
 
###########################
 
sub editform { # start form
 

красным помечена лишняя скобка, но если её убираешь, то появляется в другом месте line 1277, near. там тоже скобка, но когда мы кё убираем, то снова "остается все на своих местах, даже сместа не сдвигается", тоесть все по старому.

Цитата:
 
line 1277, near  
line 1366, near
 

зы:Я тебе очень благодарен, что ты со мной возишься, хоть чему-то учусь, терпению точно.

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 20:53 17-02-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W Отрицательный результат, это то же результат и довольно полезен Спасибо!  Мы его все равно домучаем....

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 22:29 17-02-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Поставил тот 1 вариант тот что в шапке, модератор править посты админа не может зато может удалять.
Остально все нормально.
 
А теперь второй вариант:
 
Если администратор  удаляет пост просто юзера и модератора этого форума, то
Цитата:
Внимание, Гостю запрещено править сообщения

Если модератор удаляет сообщение, юзера то выскакивает
Цитата:
Внимание, Гостю запрещено править сообщения

Когда модератор пытается править сообщение Администратора, то все выскакивает правильно согласно хаку, когда пытается удалить, то говрит что
Цитата:
Внимание, Гостю запрещено править сообщения
.
Когда модератор пытается удалить сообщение юзера,  то выскакивает
Цитата:
Внимание, Гостю запрещено править сообщения

 
Если закоментировать строчку, и удалять сообщение юзера и администратора

Цитата:
if ($membername eq "$ibtxt{'0043'}") { &error("Posting&Внимание, Гостю запрещено править сообщения"); }

То выдает
Цитата:
Вы не модератор и не администратор форума

 
 
 
Добавлено:
Вот файлы изменения  
Первый вариант
http://www.khspu.ru/~Board/files/postings.cgi-variant_1.txt
Второй вариант
http://www.khspu.ru/~Board/files/postings.cgi-variant_2.txt
Тот что был жо изменения
http://www.khspu.ru/~Board/files/postings.cgi-standart.txt

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 09:22 02-09-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W
Поставь плз тот скрипт, у которого в копирайтах стоит дата, чтоб не начинать с дефолного скрипта.

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 12:51 02-09-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Поставил, модератор не может править посты админа и удалять их, но когда я под админом пытаюсь исправить пост модератора или удалить пишет тоже самое. Тоесть теперь проблемы с админом.

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 18:18 04-09-2005
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Paha_W
На дефолтной конфе он работает и у меня он работает... Сохрани свои скрипты отдельно и поверх перезалей дефолтные - проверь на них.

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 20:56 04-09-2005
Paha_W



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
trew
Сделал как ты сказал, тот же самый результат

Цитата:
 модератор не может править посты админа и удалять их, но когда я под админом пытаюсь исправить пост модератора или удалить пишет тоже самое. Тоесть теперь  
проблемы с админом.

Вот такие вот дела!

Всего записей: 440 | Зарегистр. 26-05-2004 | Отправлено: 07:26 05-09-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Запрещаем модерам править посты админов.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru