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


PHP CRatings::BuildRating方法代码示例

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


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

示例1: Calculate

 /**
  * <p>Метод подсчитывает результаты рейтинга с идентификатором <i>id</i>. Динамичный метод.</p>
  *
  *
  * @param int $id  Идентификатор рейтинга
  *
  * @param bool $forceRecalc  Принудительный пересчет. Если данный параметр установлен в
  * <b>true</b>, то критерии рейтинга будут пересчитаны без учета времени
  * следующего запуска.
  *
  * @return string 
  *
  * <h4>Example</h4> 
  * <pre>
  * &lt;?
  * // принудительно пересчитаем все критерии рейтинга
  * $ID = 4;
  * $bforceRecalc = true;
  * CRatings::Calculate($ID, $bforceRecalc);
  * ?&gt;
  * </pre>
  *
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/main/reference/cratings/calculate.php
  * @author Bitrix
  */
 public static function Calculate($ID, $bForceRecalc = false)
 {
     global $DB;
     $ID = intval($ID);
     $err_mess = CRatings::err_mess() . "<br>Function: Calculate<br>Line: ";
     $strSql = "SELECT\n\t\t\t\tRC.*,\n\t\t\t\t" . $DB->DateToCharFunction("RC.LAST_MODIFIED") . "\tLAST_MODIFIED,\n\t\t\t\t" . $DB->DateToCharFunction("RC.LAST_CALCULATED") . " LAST_CALCULATED,\n\t\t\t\t" . $DB->DateToCharFunction("RC.NEXT_CALCULATION") . " NEXT_CALCULATION\n\t\t\tFROM\n\t\t\t\tb_rating_component RC\n\t\t\tWHERE\n\t\t\t\tRATING_ID = {$ID}\n\t\t\t\tand ACTIVE = 'Y' " . ($bForceRecalc ? '' : 'AND NEXT_CALCULATION <= ' . $DB->GetNowFunction());
     $res = $DB->Query($strSql, false, $err_mess . __LINE__);
     while ($arRes = $res->Fetch()) {
         if (CModule::IncludeModule(strtolower($arRes['MODULE_ID']))) {
             $arRes['CONFIG'] = unserialize($arRes['CONFIG']);
             // If the type is automatic calculation of parameters * global vote weight
             $sRatingWeightType = COption::GetOptionString("main", "rating_weight_type", "auto");
             if ($sRatingWeightType == 'auto') {
                 $voteWeight = COption::GetOptionString("main", "rating_vote_weight", 1);
                 $arRes['CONFIG']['COEFFICIENT'] = $arRes['CONFIG']['COEFFICIENT'] * $voteWeight;
             }
             if (strlen($arRes['EXCEPTION_METHOD']) > 0) {
                 if (method_exists($arRes['CLASS'], $arRes['EXCEPTION_METHOD'])) {
                     $exceptionText = call_user_func(array($arRes['CLASS'], $arRes['EXCEPTION_METHOD']));
                     if ($exceptionText === false) {
                         if (method_exists($arRes['CLASS'], $arRes['CALC_METHOD'])) {
                             $result = call_user_func(array($arRes['CLASS'], $arRes['CALC_METHOD']), $arRes);
                         }
                     }
                 }
             } else {
                 if (method_exists($arRes['CLASS'], $arRes['CALC_METHOD'])) {
                     $result = call_user_func(array($arRes['CLASS'], $arRes['CALC_METHOD']), $arRes);
                 }
             }
         }
     }
     CRatings::BuildRating($ID);
     return "CRatings::Calculate({$ID});";
 }
开发者ID:andy-profi,项目名称:bxApiDocs,代码行数:62,代码来源:ratings.php


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