НОВЫЙ подсчет рейтинга, помогите допилить до конца

Решил сделать рейтинг и силу чуть по другому, один голос одна единица, чтоб не было такого что кто то ставит голос и сразу +3 добавляется. ну и еще пару правок


Теперь:
Рейтинг — стала популярностью (голосовали за его топики (+1 к рейтингу), за его комментарий(+0,1 к рейтингу))
Т.к при таких значениях сила бесполезна превращаем её в показатель активности пользователя
Сила – это активность юзера (когда юзер голосует за топик или коммент, хоть в + хоть в -( юзеру +0,1 к силе) оставить коммент(+1 к силе) написать топик +10)

таким образом мы видим «рейтинг» — на сколько хорошие комментарии и топики он пишет, и «сила» — на сколько он активен.

переделываем заодно рейтинг блога, все оценки топиков деленные на кол-во топиков, т.е средний был топиков в этом блоге.


Ползем в \classes\modules\rating\ Rating.class.php

Расчет рейтинга при голосовании за комментарий
//Устанавливаем рейтинг комментария 1 голос  +-1
$oComment->setRating($oComment->getRating()+$iValue);
//Начисляем рейтинг  автору коммента 1 голос  +-0,1
$oUserComment=$this->User_GetUserById($oComment->getUserId());
$oUserComment->setRating($oUserComment->getRating()+$iValue*0,1);
$this->User_Update($oUserComment);
//Начисляем силу юзеру +0,1 при любом +- голосовании
$oUser=$this->User_GetUserById($oUser->getUserId());
$iSkillNew=$oUser->getSkill()+0,1;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUser->setSkill($iSkillNew); 
return $iValue;


Расчет рейтинга и силы при голосовании за топик
// Устанавливаем рейтинг топика 1 голос +-1
$oTopic->setRating($oTopic->getRating()+$iValue);
// Начисляем  рейтинг автору топика 1 голос +-1
$oUserTopic=$this->User_GetUserById($oTopic->getUserId());
$oUserTopic->setRating($oUserTopic->getRating()+$iValue);
$this->User_Update($oUserTopic);
// Начисляем силу юзеру +0,1 при любом +- голосовании
$oUser=$this->User_GetUserById($oUser->getUserId());
$iSkillNew=$oUser->getSkill()+0,1;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$oUser->setSkill($iSkillNew); 
//3 строки ниже считают не средний бал, общее кол-во рейтинга всех топиков в блоге
$oBlog=$this->Blog_GetBlogById($oTopic->getBlogId());
$oBlog->setRating($oBlog->getRating()+$iValue);
$this->Blog_UpdateBlog($oBlog);
return $iValue;

Вот тут мне по поводу блогов нужна помощь, нужно как то строки связанные с блогом, разделить еще на кол-во топиков в блоге. кто нить сможет помочь? возможно поможет эта тема, там прописано кол-во топиков в блоге, просто я не настолько опытен чтоб это содеинить (http://livestreet.ru/blog/addons/10265.html)

ну и удаляем все с рейтинга блога, чтоб нельзя было голосовать за него кнопками, должно выглядеть вот так:
public function VoteBlog(ModuleUser_EntityUser $oUser, ModuleBlog_EntityBlog $oBlog, $iValue){
return 0;
}

и втом числе у рейтинга юзера, чтоб нельзя было голосовать за него кнопками
public function VoteUser(ModuleUser_EntityUser $oUser, ModuleUser_EntityUser $oUserTarget, $iValue) {
return 0;
}


Чтоб сделать создании топика +10 к силе юзера
classes\actions\ActionTopic.class.php функция SubmitAdd()
после этого
/**
* Получаем топик, чтоб подцепить связанные данные
*/
$oTopic=$this->Topic_GetTopicById($oTopic->getId());

вставляем
$oUserTopic = $this->oUserCurrent;
$iSkillNew=$oUserTopic->getSkill()+10;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$this->User_Update($oUserTopic);


функция EventDelete()

$oUserTopic = $this->oUserCurrent;
$iSkillNew=$oUserTopic->getSkill()-10;
$iSkillNew=($iSkillNew<0)? 0: $iSkillNew;
$this->User_Update($oUserTopic);


и еще вопрос может кто поможет
Как сделать при оставлении коммента +1 к силе юзера?

P.S.: буду очень рад если укажите на ошибки или добавите что то)

Как сделать чтобы при голосовании за топик, голосовавшему к рейтингу прибавлялось определенное значение? [РЕШЕНО]

Доброе время суток сообщество Livestreet, обращаюсь к вам немного с нестандартным вопросом, потому что и задача у меня нестандартная. Состоит она вот в чем:

Любому проголосовавшему за топик (неважно + или -) к рейтингу нужно добавить определенное значение, например +1,00 или +0,50, оно ни от чего не зависит, всегда одна и та же величина.

Буду очень благодарен за любую помощь и наводки!

РЕШЕНИЕ:
1) находим файл classes\modules\rating\Rating.class.php
2) открываем и заменяем функцию VoteTopic (85 строка) на следующее:
	public function VoteTopic(ModuleUser_EntityUser $oUser, ModuleTopic_EntityTopic $oTopic, $iValue) {
		$oTopic->setRating($oTopic->getRating()+$iValue);
		$oUser=$this->User_GetUserById($oUser->getUserId());
		$oUser->setRating($oUser->getRating()+$iValue);
		$this->User_Update($oUser);
		return $iValue;
	}

ДАННАЯ ФУНКЦИЯ ДОБАВЛЯЕТ ГОЛОСУЮЩЕМУ +1 или -1 РЕЙТИНГА В ЗАВИСИМОСТИ + ИЛИ — ОН ПОСТАВИЛ ПОСТУ, И +1 ИЛИ -1 ПОСТУ.

! ВНИМАНИЕ ФУНКЦИЯ 1) НЕ ДОБАВЛЯЕТ СИЛЫ НИКОМУ 2) НЕ ДОБАВЛЯЕТ РЕЙТИНГА СОЗДАТЕЛЮ ТОПИКА


функционал странный, но именно такой мне был необходим, спасибо пользователям beauty_free и gran

Вывести TOP пользователей в nav.tpl на всех страницах, шаблон synio

Всем привет!
Вывести TOP пользователей с аватарами и рейтингом горизонтально в nav.tpl (под меню сортировки топиков) на всех страницах, шаблон synio
Красиво бы было с прокруткой, скажем порциями по 10 штук, но это уже не критично.
Прошу помочь в реализации.

Готового работающего и полного решения в поиске не нашел, только обсуждения.

Думаю суть понятна, не раз обсуждалось как это дело правильно вставить в заданное место шаблона.
Прошу помочь!
Спасибо!

Еще немного о рейтингах

На данный момент занимаюсь разработкой системы рейтингов, поэтому и стараюсь вникнуть в суть формул, которые нужно для этого использовать. В процессе поисков сгенерировал несколько вариантов. Под катом я немного опишу последний плод моих размышлений, который оказался довольно близко упавшим от системы подсчета рейтинга LiveStreet.

Читать дальше →

Не работает голосование (Рейтинг) за людей / за топик

Перестал работать рейтинг.
Консоль ошибок в файрфоксе при нажатии на голос выдает следующее:
Ошибка: lsVote is not defined
Источник: http://site.ru/profile/Toha/
Строка: 1


При окрытии любой страницы в Консоли ошибок следующие ошибки:
Читать дальше →

Плагины 0.4.1 Рейтинг пользователей, компании и работа.

Плагины
Хак «рейтинг пользователей» упакован в плагин и отлично работает на версии 0.4.1, скачать можно по старому адресу livestreet.ru/addons/102/ в разделе модулей. Ах да, забыл сказать, плагин бесплатный.

А для тех кто хочет развернуть у себя свои хабра-компании или хабра-работу, я перевел модули на версию 0.4.1, также упаковав в плагины, теперь установка делается в один клик и не нужно в ручную изменять файлы. Эти плагины платные, но вы можете всегда попробовать их в действии на тестовом сайте ls03.vaktive.ru, если вы найдете ошибки которые я не нашел, буду признателен вам за эту информацию.

Читать дальше →

Нужна помощь в создании и выводе информации

Я не могу понять или не нашел, как вывести в правом блоке Рейтинг пользователей (мини аватар-логин-рейтинг).
Как сделать в модуле онлайн, чтоб не только выводило список пользователей, но и количество гостей на сайте.
Как вывести на другой сайт в блоке «последние публикации».

как пример сайт wmmail.ru и его блог mywm.ru

Рейтинг пользователей

Есть ли в движке механизм подсчета авторитетности пользователя (аналога кармы на Хабре)?
Если есть, то как он работает? Интересует алгоритм. Можно ли его менять под себя (если он есть) и где он находится (т.е. файл)?