當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。