Рейтинг пользователей
Как можно сделать, чтобы рейтинг пользователей рассчитывался на основе то комментариев и публикация только за последние 30 дней, а не за все время?
<i onclick="return ls.vote.vote({$oTopic->getId()},this,0,'topic');"></i>
{if $oTopic->getRating()>0}+{/if}{$oTopic->getRating()}
//Устанавливаем рейтинг комментария 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;
public function VoteBlog(ModuleUser_EntityUser $oUser, ModuleBlog_EntityBlog $oBlog, $iValue){ return 0; }
public function VoteUser(ModuleUser_EntityUser $oUser, ModuleUser_EntityUser $oUserTarget, $iValue) { return 0; }
/** * Получаем топик, чтоб подцепить связанные данные */ $oTopic=$this->Topic_GetTopicById($oTopic->getId());
$oUserTopic = $this->oUserCurrent; $iSkillNew=$oUserTopic->getSkill()+10; $iSkillNew=($iSkillNew<0)? 0: $iSkillNew; $this->User_Update($oUserTopic);
$oUserTopic = $this->oUserCurrent; $iSkillNew=$oUserTopic->getSkill()-10; $iSkillNew=($iSkillNew<0)? 0: $iSkillNew; $this->User_Update($oUserTopic);