Рейтинг на создание топиков

Здравствуйте.

Подскажите пожалуйста, как сделать так, чтобы участник с рейтингом -5 не мог создавать новые топики в любых блогах, даже в персональных.

Пробовал искать данный ответ в поиске по сайту, но кроме вот этой темы больше ничего не нашел. К сожалению, но описанный там способ не работает.

Подскажите, пожалуйста, какие еще есть варианты?

Спасибо.

8 комментариев

avatar
файл classes/modules/acl/ACL.class.php
функция CanAddTopic, в самое начало добавить
if ($oUser->getRating()<=-5) return false;
  • xyz
  • 0
avatar
Я написал так (проводил эксперимент с рейтингов -1):



Не знаю правильно или нет, но при создании сообщения с рейтингом ниже -1, появляется сообщение:



Скажите, пожалуйста, а как сделать так, чтобы если рейтинг был меньше -1, то при нажатии самой кнопки «Написать» сверху появлялось красное сообщение с текстом, что у вас не достаточно рейтинга?

Просто сейчас, человек с рейтингом -1 может нажать кнопку «Написать», затем он выберет Блог и напишет туда запись (потратит время на создание записи), а когда нажмет «Опубликовать», то у него вылезет ошибка (см. скриншот выше). Мне хотелось бы чтобы ограничение срабатывало до того момента, пока он не начал писать свою запись.

Заранее спасибо.
avatar
тогда в шаблоне
/templates/skin/[..]/actions/ActionTopic/add.tpl
заменить форму создания или сверху где-нибудь вставить
{if $oUserCurrent->getRating() <= -1}
Вы не можете создавать топики.
{else}
{* тут форма создания топика *}
{/if}


при этом код из того файла удалять не надо, т.к. может найтись хитрожопый хакир, который попытается все равно запостить топик
avatar
Извините, я не программист, поэтому хочу уточнить —
{* тут форма создания топика *}
тут вы имеете ввиду просто текст вписать, который будет отображаться пользователю или сюда нужно вставить какой-то код?

Дело в том, что я добавил в /actions/ActionTopic/add.tpl это:



Но участник с рейтингом -2 все равно способен кликать по кнопке «Написать» и ему открывается форма написания топика. Скорее всего я что-то сделал не так.
avatar
Я разобрался! Оказывается это:

*}
{/if}

нужно вставить в конец документа.

Огромное вам спасибо! Как только наберу рейтинг чтобы иметь возможность ставить плюсы, обязательно поставлю вам +
avatar
Хм… теперь участник у которого рейтинг выше -1 происходит баг, при нажатии кнопки «написать» не появляется редактор. Скорее всего я вставил этот код:

*}
{/if}

не туда куда нужно :(
avatar
ну нельзя так, правда, глядя на такие сообщения хочется плакать
www.smarty.net/docsv2/ru/language.basic.syntax.tpl
avatar
Спасибо, всё заработало.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.