Защита от минусаторов (микро хак *1.10_*)

+37
4.38K
Всем привет!

Думаю не будет лишним защитить пользователей от навязчивых минусаторов…
Смысл в том, что бы ограничить доступ к нажатию минуса пользователям, у которых
мало рейтинга или которые только, что зарегистрировались.

Т.е. уже не получится – зарегистрироваться и сразу минус поставить,
предварительно это нужно заслужить парой тройкой положительных комментариев, блогом и тп.



Идея не новая и уже было решение на 1.9, но на 1.10 не подошло...

Правки минимальны.

В файле — www\components\users\ frontend.php

Есть строчка:

  1. // можно ли пользователю изменять карму
  2. $usr['can_change_karma'] = $model->isUserCanChangeKarma($usr['id']) && $inUser->id;

Сразу после нее добавить строчку:

  1. if (($usr['can_change_karma']) && ($_SESSION['user']['rating'] < 20)){$usr['can_karma'] = 1;}
* Где цифра 20 — это тот порог рейтинга после достижения которого будет разрешено минусовать.
В этом файле все.

Далее в www\templates\_ВАШ_ШАБЛОН_\components\ com_users_profile.tpl

Есть такие строки:

  1. {if $usr.can_change_karma}
  2. <a href="javascript:void(0)" onclick="users.changeKarma('{$usr.id}', 'minus'); return false;" title="{$LANG.KARMA} -"><img src="/templates/{template}/images/icons/karma_down.png" alt="{$LANG.KARMA} -"/></a>
  3. {/if}
Меняем их целиком на :


  1. {if $usr.can_change_karma}{if !$usr.can_karma}
  2. <a href="javascript:void(0)" onclick="users.changeKarma('{$usr.id}', 'minus'); return false;" title="{$LANG.KARMA} -"><img src="/templates/{template}/images/icons/karma_down.png" alt="{$LANG.KARMA} -"/></a>{else}
  3. <a href="javascript:void(0)" onclick="if(!alert('Недостаточно рейтинга! Право минусовать закрыто!')){literal}{ return false; }{/literal}" title="{$LANG.KARMA} -"><img src="/templates/{template}/images/icons/karma_down.png" alt="{$LANG.KARMA} -"/></a>
  4. {/if}{/if}
на этом все. теперь пользователь с рейтингом ниже указанного не сможет ставить минусы в карму.
+7
Таня Таня 11 лет назад #
и от плюсаторов тоже не помешало бы, с таким же успехом регают новые профили чтоб себе рейтинг и карму наращивать)
+1
Викторыч Викторыч 11 лет назад #
KS, благодарю за решение. Я уже поднимал вопрос в тему, но хотел просто убрать минусы как таковые, вообще. К сожалению, ответа не получил, самому не удалось разобраться. Поэтому воспользуюсь вашим способом. В свое время на моем сайте тоже завелись минусаторы, в итоге пришлось просто убрать возможность минусовать (на версии 1.9)...
+1
lesterkey lesterkey 11 лет назад #
+
0
maia maia 11 лет назад #
А где это было для 1.9?
0
Александр Александр 10 лет назад #
ваше шик))) спасибо Вам большое v !!! =)))) пригодилось, сразу поставил! Чтоб не минусовали, а то люди регают по 2-3 твинка, что б потом другим анонимно ставить по 3 минуса сразу(прям в наглую подряд). Одно не понятно, почему после полного удаления таких пользователей их голосование везде остаются, нельзя, что б при полном удалении пользователя все удалялось(вся его активность на сайте), его голосование за карму людям, рейтинг(статей, фоток, комментариев, блогов и т.п.) и т.д., его фотки удалялись с сайта которые были загружены в общий фотоальбом(сайта) тоже и т.п.
Было бы круто ^^ laugh smile

Еще от автора

Похожие в Универсальном каталоге (хак для 1.x)
На одном из сайтов, где используется универсальный каталог для вывода различных товаров и тд, появилась необходимость сделать вывод похожих при просмо
Плагин  'Вставить фото из своих альбомов' (ver.1.10* & &uarr;)
Добрый день! Заметил одну особенность..
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.