Карма в процентах - код для модуля.

Автор Snifer, 13 апреля 2012, 14:35:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Snifer

Мы тут с напарником делаем правки на нашем сайте, и это одна из наших идей.

Репутация отображается в виде процентного соотношения.

Вот код, если кто сделает в виде модуля и выложит, будет хорошо:
Заменяется в Display.template.php дефолтной/вашей темы



if ($modSettings['karmaMode'] == '1')
{
                                $percents = 0;
                                $karmaBad = $message['member']['karma']['bad'];
                                $karmaGood = $message['member']['karma']['good'];
                               
                                if( $karmaGood  > 0 )
                                {
                                      $percents = 100 - ( ( $karmaBad / $karmaGood ) * 100 );
                                     
                                      if( $percents < 1 )
                                          $percents = 0;
                                }
                               
echo '

                                <li class="karma">', (!empty($modSettings['karmadescmod']) && !empty($modSettings['karmalabellink']) && $context['show_karmastat']) ? '<a href="'. $scripturl . '?action=ownkarma;u='. $message['member']['id'] .'">'. $modSettings['karmaLabel'] .'</a>' : $modSettings['karmaLabel'] ,' ', number_format($percents, 2), '%</li>';

                         }


Посмотреть в действии можно на форуме из подписи.

maestrosite.ru

#1
1. Ограничение сверху 100%, ограничение снизу - нет. Так задумано?
2. Один плюс и два-три минуса лучше, чем десять тысяч минусов без единого плюса. Так задумано?


В следующем сообщении более понятно высказался
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

Snifer

Цитата: maestrosite.ru от 13 апреля 2012, 17:47:581. Ограничение сверху 100%, ограничение снизу - нет. Так задумано?
if( $percents < 1 )
                                          $percents = 0;

Цитата: maestrosite.ru от 13 апреля 2012, 17:47:582. Один плюс и два минуса лучше, чем десять тысяч минусов без единого плюса. Так задумано?
если 1+ и 2- будет отображатся 0%
если 10000000- и нет плюсов то отображается 0%

Или вы о чем то другом?

maestrosite.ru

Цитата: Snifer от 13 апреля 2012, 17:51:31
Или вы о чем то другом?
Да, не очевидно сказал. Сам запутался и вас запутал. Имелось ввиду, что сильно плохо быть не может - "мимо земли не пролетишь". То есть сколько не "минусуй" этого видно не будет.
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

Snifer

Цитата: maestrosite.ru от 13 апреля 2012, 18:11:03Да, не очевидно сказал. Сам запутался и вас запутал. Имелось ввиду, что сильно плохо быть не может - "мимо земли не пролетишь". То есть сколько не "минусуй" этого видно не будет.
это да. карма гуляет только до 100 - 0%.
Вообще у нас задумано что карма если прибавляется то +1, а если отнимается - то -6.
Но для каждой смены кармы обязателен комментарий полный. За что прибавляется/отнимается карма.

В итоге так. Изначально карма у всех юзеров будет 0%
как только поставят +1 - будет 100%. А вот если поставят -6, то будет очень сложно карму поднять до 100% потом.
Один косяк - и кармы до 100% уже не поднимешь.

Из-за спецификации форума - репутация - очень важная характеристика, и нельзя чтобы она обесценилась...