Запрет Записи на стену
Ограничение по рейтингу
найти ссылку
<a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;"> <span>{$LANG.WRITE_ON_WALL}</span> </a>
Естественно, во фронтэнде компонента users, перед вызовом страницы com_users_profile.tpl следует по id просматривающего страницу уточнить рейтинг посетителя. Проще всего запросить его из базы:
$rating_user = $inDB->get_field('cms_users', "id = {$inUser->id}", 'rating');
assign('rating_user', $rating_user)->
Можно сначала проверку на владельца страницы ) Если не хозяин ( if !$my_profile ) то проверку на рейтинг если рейтинг меньше 10 и т д.Недостаток этого кода ясен сразу. Если ваш собственный рейтинг меньше 10
Так вроде нормально должно быть)
Можно сначала проверку на владельца страницы ) Если не хозяин ( if !$my_profile ) то проверку на рейтинг если рейтинг меньше 10 и т д.Недостаток этого кода ясен сразу. Если ваш собственный рейтинг меньше 10
Так вроде нормально должно быть)
А пошагово можно? Я просто только учусь…
Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.Можно сначала проверку на владельца страницы )
Тут как раз речь и идет о том, что бы на своей стене можно было гадить)Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.
Александр Потапов,
совсем пошагово вряд ли)
Если сделать вот так, то смогут писать только друзья пользователя, админ и владелец
<div class="usr_wall_addlink" style="float:right"> <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;"> <span>{$LANG.WRITE_ON_WALL}</span> </a> </div>
{if $myprofile || $is_admin || $usr.isfriend} <div class="usr_wall_addlink" style="float:right"> <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;"> <span>{$LANG.WRITE_ON_WALL}</span> </a> </div> {/if}
{if $myprofile || $is_admin || $usr.isfriend} <div class="usr_wall_addlink" style="float:right"> <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;"> <span>{$LANG.WRITE_ON_WALL}</span> </a> </div> {elseif $rating_user > 10} <div class="usr_wall_addlink" style="float:right"> <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;"> <span>{$LANG.WRITE_ON_WALL}</span> </a> </div> {/if}
Естественно, во фронтэнде компонента users, перед вызовом страницы com_users_profile.tpl следует по id просматривающего страницу уточнить рейтинг посетителя. Проще всего запросить его из базы:
Таким образом должно получиться что смогут писать владелец, админ, друзья и у кого рейтинг. Вроде так.
так я как раз про то, что нефиг и на своей гадить. Пусть поучаствует в жизни проекта, заработает рейтинг, тогда пусть и пользуется стеной. Что боты, что спамеры зарабатывать рейтинг не будут — им надо здесь и сейчас. Я так понял, что ТС пишет не о проблеме спамерства между пользователями на стенах (хотя это то же вариант) а о том о чем написал выше я, что спамятна своих стенах (сеошники туды их в качель)Тут как раз речь и идет о том, что бы на своей стене можно было гадить)
А в итоге — если спамер через POST рассылает, ему эта ссылка нафиг не нужна.
Решение:
Файл core/ajax/wall.php
После
if($do == 'add'){
if (!$inUser->rating) { cmsCore::jsonOutput(array('error' => true, 'text' => 'Нет рейтинга - нет надписей!')); }
Нужно всем запретить писать на стене у кого рейтинг ниже… У меня тоже регаются, гадят на своей стене и сваливают… для чужих стен у меня стоит запрет по группам пользователей.Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.
Чёт вы перемудрили: и шаблон править, и код править, к базе лишний раз обращаться…
А в итоге — если спамер через POST рассылает, ему эта ссылка нафиг не нужна.
Решение:
Файл core/ajax/wall.php
После
вставить строку типа
if($do == 'add'){
if (!$inUser->rating) { cmsCore::jsonOutput(array('error' => true, 'text' => 'Нет рейтинга - нет надписей!')); }
Сделал! Доволен!!! Спасибо!!!
Это в настройках инстанта делается Блоги — Шестеренка — Ограничения
а можно так же блоги закрыть?
Это в настройках инстанта делается Блоги — Шестеренка — Ограничения
а можно так же блоги закрыть?
Точно! Как же я мог забыть… Просто два сайта на разных ветках у меня… Спасибо ОГРОМНОЕ!
Наверняка пользователи тоже счастливы)Доволен!!!
Мы не ищем лёгких путей...Чёт вы перемудрили: и шаблон править, и код править, к базе лишний раз обращаться…