Запрет Записи на стену

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Ограничение по рейтингу

#1 30 января 2016 в 11:20
Гуру, подскажите чайнику… Как сделать чтобы оставлять записи на стене могли пользователи с рейтингом больше 1 ??? или кармой больше 1 ??? Достали спамщики. Очень нужна помощь… Версия 1.10.6
#3 30 января 2016 в 23:20
Первое, что приходит в голову, это в файле templates/_default_/components/com_users_profile.tpl
найти ссылку
  1. <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;">
  2. <span>{$LANG.WRITE_ON_WALL}</span>
  3. </a>
И обернуть ее в условие, например {if $rating_user > 10}......{/if}.

Естественно, во фронтэнде компонента users, перед вызовом страницы com_users_profile.tpl следует по id просматривающего страницу уточнить рейтинг посетителя. Проще всего запросить его из базы:
  1. $rating_user = $inDB->get_field('cms_users', "id = {$inUser->id}", 'rating');
И не забыть отправить в шаблон строчкой
  1. assign('rating_user', $rating_user)->
Недостаток предложенного кода ясен сразу. Если ваш собственный рейтинг меньше 10, вы сами на своей стене не напишите — ссылка не будет выводится. Невозможно установить этот порог из админки. Впрочем, я даю вам не готовый код, а направление, куда думать.
#4 30 января 2016 в 23:24

Недостаток этого кода ясен сразу. Если ваш собственный рейтинг меньше 10

Странник
Можно сначала проверку на владельца страницы ) Если не хозяин ( if !$my_profile ) то проверку на рейтинг если рейтинг меньше 10 и т д.
Так вроде нормально должно быть)
#5 31 января 2016 в 00:30


Недостаток этого кода ясен сразу. Если ваш собственный рейтинг меньше 10

Странник
Можно сначала проверку на владельца страницы ) Если не хозяин ( if !$my_profile ) то проверку на рейтинг если рейтинг меньше 10 и т д.
Так вроде нормально должно быть)

Нил™

А пошагово можно? Я просто только учусь… zst
#6 31 января 2016 в 00:57

Можно сначала проверку на владельца страницы )

Нил™
Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.
#7 31 января 2016 в 02:05

Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.

Volgomarket
Тут как раз речь и идет о том, что бы на своей стене можно было гадить)

Александр Потапов,
совсем пошагово вряд ли)

Если сделать вот так, то смогут писать только друзья пользователя, админ и владелец

  1. <div class="usr_wall_addlink" style="float:right">
  2. <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;">
  3. <span>{$LANG.WRITE_ON_WALL}</span>
  4. </a>
  5. </div>
заменить на

  1. {if $myprofile || $is_admin || $usr.isfriend}
  2. <div class="usr_wall_addlink" style="float:right">
  3. <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;">
  4. <span>{$LANG.WRITE_ON_WALL}</span>
  5. </a>
  6. </div>
  7. {/if}
  8.  
Или используйте вариант Странник,

  1. {if $myprofile || $is_admin || $usr.isfriend}
  2.  
  3. <div class="usr_wall_addlink" style="float:right">
  4. <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;">
  5. <span>{$LANG.WRITE_ON_WALL}</span>
  6. </a>
  7. </div>
  8.  
  9. {elseif $rating_user > 10}
  10.  
  11. <div class="usr_wall_addlink" style="float:right">
  12. <a href="javascript:void(0)" id="addlink" class="ajaxlink" onclick="addWall('users', '{$usr.id}');return false;">
  13. <span>{$LANG.WRITE_ON_WALL}</span>
  14. </a>
  15. </div>
  16.  
  17. {/if}
  18.  
предварительно выполнив то описал Странник,

Естественно, во фронтэнде компонента users, перед вызовом страницы com_users_profile.tpl следует по id просматривающего страницу уточнить рейтинг посетителя. Проще всего запросить его из базы:

Странник


Таким образом должно получиться что смогут писать владелец, админ, друзья и у кого рейтинг. Вроде так.
#8 31 января 2016 в 03:11

Тут как раз речь и идет о том, что бы на своей стене можно было гадить)

Нил™
так я как раз про то, что нефиг и на своей гадить. Пусть поучаствует в жизни проекта, заработает рейтинг, тогда пусть и пользуется стеной. Что боты, что спамеры зарабатывать рейтинг не будут — им надо здесь и сейчас. Я так понял, что ТС пишет не о проблеме спамерства между пользователями на стенах (хотя это то же вариант) а о том о чем написал выше я, что спамятна своих стенах (сеошники туды их в качель)
#9 31 января 2016 в 06:51
Чёт вы перемудрили: и шаблон править, и код править, к базе лишний раз обращаться…
А в итоге — если спамер через POST рассылает, ему эта ссылка нафиг не нужна.

Решение:
Файл core/ajax/wall.php
После
  1. if($do == 'add'){
вставить строку типа
  1. if (!$inUser->rating) { cmsCore::jsonOutput(array('error' => true, 'text' => 'Нет рейтинга - нет надписей!')); }
#10 31 января 2016 в 08:17

Думаю это лишнее, т.к. у меня только для того и регистрируются, что бы сразу на стене собственной ссылку на левый ресурс нагадить. На блоги у меня стоят ограничения.

Нужно всем запретить писать на стене у кого рейтинг ниже… У меня тоже регаются, гадят на своей стене и сваливают… для чужих стен у меня стоит запрет по группам пользователей.
#11 31 января 2016 в 08:31


Чёт вы перемудрили: и шаблон править, и код править, к базе лишний раз обращаться…
А в итоге — если спамер через POST рассылает, ему эта ссылка нафиг не нужна.

Решение:
Файл core/ajax/wall.php
После

  1. if($do == 'add'){
вставить строку типа
  1. if (!$inUser->rating) { cmsCore::jsonOutput(array('error' => true, 'text' => 'Нет рейтинга - нет надписей!')); }

Sonat

Сделал! Доволен!!! Спасибо!!!
#12 31 января 2016 в 08:32
а можно так же блоги закрыть?
#13 31 января 2016 в 09:20


а можно так же блоги закрыть?

Александр Потапов
Это в настройках инстанта делается Блоги — Шестеренка — Ограничения
#14 31 января 2016 в 09:24



а можно так же блоги закрыть?

Александр Потапов
Это в настройках инстанта делается Блоги — Шестеренка — Ограничения

Volgomarket

Точно! Как же я мог забыть… zstПросто два сайта на разных ветках у меня… Спасибо ОГРОМНОЕ!
#15 31 января 2016 в 12:16

Доволен!!!

Александр Потапов
Наверняка пользователи тоже счастливы)

Чёт вы перемудрили: и шаблон править, и код править, к базе лишний раз обращаться…

Sonat
Мы не ищем лёгких путей...
glasses
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.