Запретить создавать сообщения гостям, оставив только просмотр тем/сообщений
1. Крайне не рекомендуется для этой цели (или для других целей) удалять файл Guest.cgi. Конференция может начать глючить, кроме того, новый пользователь сможет рарегистрироваться под ником Guest.
2. Наиболее простой способ запрещения гостям оставлять сообщения - установка пароля прользователю Guest.
При этом необходимо на файл Guest.cgi выставить права 555, чтобы гости не имели возможность зайти в свой профиль и поменять пароль.
3. Корректно обрабатываем запрет гостям на постнг, создание новых тем и создание новых голосований. То есть выводим ошибку "Извините, гостям запрещено оставлять сообщения".
Это необходимо для того, чтобы гость понял, что необходимо зарегистрироваться, а не сделал вывод о том, что конференция работает с ошибками. .
В файле post.cgi
и начинаем его править.
sub addnewthread
После:
Код: elsif ($inpassword ne $password) { &error("$ibtxt{'1428'}&$ibtxt{'1430'}"); } |
Добавляем:
Код: elsif ($inmembername eq "Guest") {&error("Создание новой темы&Гостям не разрешено создавать новые темы");} |
sub addnewpoll
(если установлен хак голосования)
После:
Код: elsif ($inpassword ne $password) { &error("Создание нового голосования&Неправильный пароль"); } |
#У вас могут быть после &error другие слова или символы вида $ibtxt{'число'}
#Ориентируйтесь на то, что красным.
Добавляем:
Код: elsif ($inmembername eq "Guest") {&error("Создание нового голосования&Гостям не разрешено создавать голосования")} |
sub addreply
После:
Код: elsif ($inpassword ne $password) { &error("$ibtxt{'1432'}&$ibtxt{'1430'}"); } |
Добавляем:
Код: elsif ($inmembername eq "Guest") { &error("Добавление сообщения&Гостям не разрешено оставлять сообщения"); } |