当前位置: 首页>>代码示例>>PHP>>正文


PHP ModuleUser_EntityUser::setRating方法代码示例

本文整理汇总了PHP中ModuleUser_EntityUser::setRating方法的典型用法代码示例。如果您正苦于以下问题:PHP ModuleUser_EntityUser::setRating方法的具体用法?PHP ModuleUser_EntityUser::setRating怎么用?PHP ModuleUser_EntityUser::setRating使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ModuleUser_EntityUser的用法示例。


在下文中一共展示了ModuleUser_EntityUser::setRating方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: VoteUser

 /**
  * Расчет рейтинга и силы при голосовании за пользователя
  *
  * @param ModuleUser_EntityUser $oUser
  * @param ModuleUser_EntityUser $oUserTarget
  * @param int                   $iValue
  *
  * @return float
  */
 public function VoteUser($oUser, $oUserTarget, $iValue)
 {
     if (!C::Get('plugin.rating.user.vote')) {
         return 0;
     }
     if (!C::Get('plugin.rating.user.dislike') && $iValue < 0) {
         return 0;
     }
     /**
      * Начисляем силу и рейтинг юзеру, используя логарифмическое распределение
      */
     $skill = $oUser->getSkill();
     $iMinSize = C::Get('plugin.rating.user.min_change');
     //0.42;
     $iMaxSize = C::Get('plugin.rating.user.max_change');
     //3.2;
     $iSizeRange = $iMaxSize - $iMinSize;
     $iMinCount = log(0 + 1);
     $iMaxCount = log(C::Get('plugin.rating.user.max_rating') + 1);
     // 500
     $iCountRange = $iMaxCount - $iMinCount;
     if ($iCountRange == 0) {
         $iCountRange = 1;
     }
     if ($skill > C::Get('plugin.rating.user.left_border') and $skill < C::Get('plugin.rating.user.right_border')) {
         // 50-200
         $skill_new = $skill / C::Get('plugin.rating.user.mid_divider');
         //70
     } elseif ($skill >= C::Get('plugin.rating.user.right_border')) {
         // 200
         $skill_new = $skill / C::Get('plugin.rating.user.right_divider');
         //2
     } else {
         $skill_new = $skill / C::Get('plugin.rating.user.left_divider');
         //40
     }
     $iDelta = $iMinSize + (log($skill_new + 1) - $iMinCount) * ($iSizeRange / $iCountRange);
     /**
      * Определяем новый рейтинг
      */
     $iRatingNew = $oUserTarget->getRating() + $iValue * $iDelta;
     $oUserTarget->setRating($iRatingNew);
     return $iValue * $iDelta;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:53,代码来源:Rating.class.php

示例2: VoteUser

 /**
  * Расчет рейтинга и силы при голосовании за пользователя
  *
  * @param ModuleUser_EntityUser $oUser
  * @param ModuleUser_EntityUser $oUserTarget
  * @param int $iValue
  * @return float
  */
 public function VoteUser(ModuleUser_EntityUser $oUser, ModuleUser_EntityUser $oUserTarget, $iValue)
 {
     /**
      * Начисляем силу и рейтинг юзеру, используя логарифмическое распределение
      */
     $skill = $oUser->getSkill();
     $iMinSize = 0.42;
     $iMaxSize = 3.2;
     $iSizeRange = $iMaxSize - $iMinSize;
     $iMinCount = log(0 + 1);
     $iMaxCount = log(500 + 1);
     $iCountRange = $iMaxCount - $iMinCount;
     if ($iCountRange == 0) {
         $iCountRange = 1;
     }
     if ($skill > 50 and $skill < 200) {
         $skill_new = $skill / 40;
     } elseif ($skill >= 200) {
         $skill_new = $skill / 2;
     } else {
         $skill_new = $skill / 70;
     }
     $iDelta = $iMinSize + (log($skill_new + 1) - $iMinCount) * ($iSizeRange / $iCountRange);
     /**
      * Определяем новый рейтинг
      */
     $iRatingNew = $oUserTarget->getRating() + $iValue * $iDelta;
     $oUserTarget->setRating($iRatingNew);
     return $iValue * $iDelta;
 }
开发者ID:cbrspc,项目名称:LIVESTREET-1-DISTRIB,代码行数:38,代码来源:Rating.class.php

示例3: VoteUser

 /**
  * Расчет рейтинга и силы при голосовании за пользователя
  *
  * @param ModuleUser_EntityUser $oUser
  * @param ModuleUser_EntityUser $oUserTarget
  * @param int $iValue
  *
  * @return float
  */
 public function VoteUser($oUser, $oUserTarget, $iValue)
 {
     if (!C::Get('plugin.simplerating.user.vote')) {
         return 0;
     }
     if (!C::Get('plugin.simplerating.user.dislike') && $iValue < 0) {
         return 0;
     }
     /**
      * Начисляем рейтинг пользователя
      */
     $oUserTarget->setRating((double) $oUserTarget->getRating() + $iValue * (double) C::Get('plugin.simplerating.user.add'));
     /**
      * Убавляем рейтинг голосующего, если нужно
      */
     if (C::Get('plugin.simplerating.user_remove')) {
         $oUser->setRating((double) $oUser->getRating() + (double) C::Get('plugin.simplerating.user.remove'));
         $this->User_Update($oUser);
     }
     return (double) C::Get('plugin.simplerating.user.add');
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:30,代码来源:Rating.class.php

示例4: VoteUser

 /**
  * Расчет рейтинга и силы при голосовании за пользователя
  *
  * @param ModuleUser_EntityUser $oUser
  * @param ModuleUser_EntityUser $oUserTarget
  * @param int $iValue
  * @return float
  */
 public function VoteUser(ModuleUser_EntityUser $oUser, ModuleUser_EntityUser $oUserTarget, $iValue, $voted = false)
 {
     $iRatingNew = $oUserTarget->getRating() + $iValue;
     $oUserCurrent = $this->User_GetUserCurrent();
     $oUserTarget->setRating($iRatingNew);
     if (!$voted) {
         if ($iValue > 0) {
             $oUserTarget->setSkill($oUserTarget->getSkill() + 10.0);
         } else {
             $oUserTarget->setSkill($oUserTarget->getSkill() - 10.0);
         }
     }
     $this->User_Update($oUserTarget);
     return $iValue;
 }
开发者ID:lunavod,项目名称:bunker_stable,代码行数:23,代码来源:Rating.class.php


注:本文中的ModuleUser_EntityUser::setRating方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。