НОВЫЙ подсчет рейтинга, помогите допилить до конца
Решил сделать рейтинг и силу чуть по другому, один голос одна единица, чтоб не было такого что кто то ставит голос и сразу +3 добавляется. ну и еще пару правок
Теперь:
Рейтинг — стала популярностью (голосовали за его топики (+1 к рейтингу), за его комментарий(+0,1 к рейтингу))
Т.к при таких значениях сила бесполезна превращаем её в показатель активности пользователя
Сила – это активность юзера (когда юзер голосует за топик или коммент, хоть в + хоть в -( юзеру +0,1 к силе) оставить коммент(+1 к силе) написать топик +10)
таким образом мы видим «рейтинг» — на сколько хорошие комментарии и топики он пишет, и «сила» — на сколько он активен.
переделываем заодно рейтинг блога, все оценки топиков деленные на кол-во топиков, т.е средний был топиков в этом блоге.
Ползем в \classes\modules\rating\ Rating.class.php
Расчет рейтинга при голосовании за комментарий
Расчет рейтинга и силы при голосовании за топик
Вот тут мне по поводу блогов нужна помощь, нужно как то строки связанные с блогом, разделить еще на кол-во топиков в блоге. кто нить сможет помочь? возможно поможет эта тема, там прописано кол-во топиков в блоге, просто я не настолько опытен чтоб это содеинить (http://livestreet.ru/blog/addons/10265.html)
ну и удаляем все с рейтинга блога, чтоб нельзя было голосовать за него кнопками, должно выглядеть вот так:
и втом числе у рейтинга юзера, чтоб нельзя было голосовать за него кнопками
Чтоб сделать создании топика +10 к силе юзера
classes\actions\ActionTopic.class.php функция SubmitAdd()
после этого
вставляем
функция EventDelete()
и еще вопрос может кто поможет
Как сделать при оставлении коммента +1 к силе юзера?
P.S.: буду очень рад если укажите на ошибки или добавите что то)
Теперь:
Рейтинг — стала популярностью (голосовали за его топики (+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.: буду очень рад если укажите на ошибки или добавите что то)