Для того чтобы снизить "кармические войны" на сайте, и чтобы пользователи не регистрировались по многу раз на сайте под разными логинами и минусовали своих псевдо врагов со своих клон анкет. Давайте сделаем так чтобы пользователь с нулевой кармой не мог минусовать других пользователей.
И так начнем.
Находим файл:
/core/classes/user.class.php
Далее:
Находим код:
Заменяем на:
Теперь в новом коде находим:
И цифру 10 заменяем, на тот уровень кармы пользователя, при которой пользователь сможет иметь доступ к ссылке чтобы минусануть пользователя. Теперь пока пользователю не плюсанут карму, другие пользователи, он не сможет не кого минусовать.
Если Вы хотите чтобы пользователь с кармой меньше установленного нами уровня, не мог и плюсовать других пользователей тогда
необходимо перенести и прописать перед строкой :
Теперь он не сможет и плюсовать других.
вот подумалось что можно привязать и к рейтингу тогда пока пользователь не проявит себя на сайте на лояльность и вменяемость не смог и участвовать в «кармических войнах»
И так начнем.
Находим файл:
/core/classes/user.class.php
Далее:
Находим код:
public static function getKarmaFormat($user_id, $showtitle=false, $controls=true){ //calculate positive karma $inUser = self::getInstance(); $karma = self::getKarma($user_id); $plus = ''; $minus = ''; if ($inUser->id && $controls){ if(usrCanKarma($user_id, $inUser->id)){ $plus = '<a href="/users/karma/plus/'.$user_id.'/'.$inUser->id.'" onclick="plusUkarma(\''.$user_id.'\', \''.$inUser->id.'\'); return false;" title="Карма +"><img src="/components/users/images/karma_up.png" alt="Карма +"/></a>'; $minus = '<a href="/users/karma/minus/'.$user_id.'/'.$inUser->id.'" onclick="minusUkarma(\''.$user_id.'\', \''.$inUser->id.'\'); return false;" title="Карма -"><img src="/components/users/images/karma_down.png" alt="Карма -"/></a>'; } } $html = '<table cellpadding="2" cellspacing="0"><tr>'; $html .= '<td style="color:green">'.$plus.'</td>'; if($karma>0){ $html .= '<td><span class="user_karma_point">+'.$karma.'</span></td>'; } elseif ($karma<0){ $html .= '<td><span class="user_karma_point">'.$karma.'</span></td>'; } else { $html .= '<td><span class="user_karma_point">'.$karma.'</span></td>'; } $html .= '<td style="color:red">'.$minus.'</td>'; $html .= '</tr></table>'; return $html; }
public static function getKarmaFormat($user_id, $showtitle=false, $controls=true){ //calculate positive karma $inUser = self::getInstance(); $karma = self::getKarma($user_id); $inDB = cmsDatabase::getInstance(); $sql = "SELECT karma FROM cms_user_profiles WHERE user_id =".$inUser->id; $result = $inDB->query($sql); while($usr = $inDB->fetch_assoc($result)){ $users=$usr['karma']; } $plus = ''; $minus = ''; if ($inUser->id && $controls){ if(usrCanKarma($user_id, $inUser->id)){ $plus = '<a href="/users/karma/plus/'.$user_id.'/'.$inUser->id.'" onclick="plusUkarma(\''.$user_id.'\', \''.$inUser->id.'\'); return false;" title="Карма +"><img src="/components/users/images/karma_up.png" alt="Карма +"/></a>'; if ($users >= 10) { $minus = '<a href="/users/karma/minus/'.$user_id.'/'.$inUser->id.'" onclick="minusUkarma(\''.$user_id.'\', \''.$inUser->id.'\'); return false;" title="Карма -"><img src="/components/users/images/karma_down.png" alt="Карма -"/></a>'; } } } $html = '<table cellpadding="2" cellspacing="0"><tr>'; $html .= '<td style="color:green">'.$plus.'</td>'; if($karma>0){ $html .= '<td><span class="user_karma_point">'.$karma.'</span></td>'; } elseif ($karma<0){ $html .= '<td><span class="user_karma_point">'.$karma.'</span></td>'; } else { $html .= '<td><span class="user_karma_point">'.$karma.'</span></td>'; } $html .= '<td style="color:red">'.$minus.'</td>'; $html .= '</tr></table>'; return $html; }
if ($users >= 10)
Если Вы хотите чтобы пользователь с кармой меньше установленного нами уровня, не мог и плюсовать других пользователей тогда
if ($users >= 10) {
$plus = '<a href="/users/karma/plus/'.$user_id.'/'.$inUser->id.'" onclick="plusUkarma(\''.$user_id.'\', \''.$inUser->id.'\'); return false;" title="Карма +"><img src="/components/users/images/karma_up.png" alt="Карма +"/></a>';
вот подумалось что можно привязать и к рейтингу тогда пока пользователь не проявит себя на сайте на лояльность и вменяемость не смог и участвовать в «кармических войнах»
Реклама #
Katerina 13 лет назад #
picaboo 13 лет назад #
Katerina 13 лет назад #
Может вообще запретить голосовать за ВСЕ, пока рейтинга нет или кармы. То есть новый пользователь писать может, а голосовать будет только тогда когда его записи оценят другие пользователи. У меня сейчас конкурс проходит, так десять человек с одного ip в течении 2х дней пришло, наплюсовали себе комментов типа "Спасибки", заплюсовали друг другу карму и голосуют друг за друга в конкурсе.
RooKee 13 лет назад #
SP 13 лет назад #
Maximov 13 лет назад #
ИМХО надо на рейтинг смотреть + время на сайте.
FES 13 лет назад #
Да это отличная мысль, нужно рейтинг однозначно.
Только я бы хотел еще и предложить несколько иную ижею, если воплотить - будет грейтб:
- образно, рейтинг начисляется +1 за вход на сайт в день, не зашел, не получил;
- и когда ты прибавляешь рейтинг другому челу - ты сразу минусуешь свой, пример как в LineAge II - рек (рекомендация, синий НИК)...ОК ?
Михаил М. 13 лет назад #
FES 13 лет назад #
maia 13 лет назад #
Михаил М. 13 лет назад #
Coolmax 13 лет назад #
reload 13 лет назад #
RooKee 13 лет назад #