コード例 #1
0
ファイル: rating.php プロジェクト: mrdeadmouse/u136006
$bCreateRule = true;
$rsData = $DB->Query("SELECT ID, ACTIVE FROM b_rating_rule WHERE CONDITION_MODULE = 'intranet'");
while ($arRule = $rsData->Fetch()) {
    if ($arRule["ACTIVE"] == "N") {
        $DB->Query("DELETE FROM b_rating_rule WHERE ID = " . $arRule["ID"], true);
    } else {
        COption::SetOptionString("intranet", "ratingSubordinateId", $arRule['ID']);
        CRatingRule::Apply($arRule['ID']);
        $bCreateRule = false;
    }
}
// после авторитета
if ($bCreateRule) {
    $dbRes = CLanguage::GetList($by = 'sort', $order = 'asc');
    while ($arRes = $dbRes->Fetch()) {
        if (file_exists(dirname(__FILE__) . '/' . $arRes['LID'] . '/rating.php')) {
            require dirname(__FILE__) . '/' . $arRes['LID'] . '/rating.php';
        }
    }
    $arFields = array("ACTIVE" => "Y", "NAME" => $MESS['INTR_INSTALL_RATING_RULE'], "ENTITY_TYPE_ID" => "USER", "CONDITION_NAME" => "SUBORDINATE", "CONDITION_MODULE" => "intranet", "CONDITION_CLASS" => "CRatingRulesIntranet", "CONDITION_METHOD" => "subordinateCheck", "CONDITION_CONFIG" => array("SUBORDINATE" => array()), "ACTION_NAME" => "empty", "ACTION_CONFIG" => array(), "ACTIVATE" => "N", "ACTIVATE_CLASS" => "empty", "ACTIVATE_METHOD" => "empty", "DEACTIVATE" => "N", "DEACTIVATE_CLASS" => "empty ", "DEACTIVATE_METHOD" => "empty", "~CREATED" => $DB->GetNowFunction(), "~LAST_MODIFIED" => $DB->GetNowFunction());
    $arFields["CONDITION_CONFIG"] = serialize($arFields["CONDITION_CONFIG"]);
    $arFields["ACTION_CONFIG"] = serialize($arFields["ACTION_CONFIG"]);
    $ID = $DB->Add("b_rating_rule", $arFields, array("ACTION_CONFIG", "CONDITION_CONFIG"));
    COption::SetOptionString("intranet", "ratingSubordinateId", $ID);
    CRatingRule::Apply($ID);
}
// recount ratings
$rsData = CRatings::GetList(array('ID' => 'ASC'), array());
while ($arRes = $rsData->Fetch()) {
    CRatings::Calculate($arRes['ID'], true);
}
コード例 #2
0
}
if ($arID = $lAdmin->GroupAction()) {
    if ($_REQUEST['action_target'] == 'selected') {
        $rsData = CRatingRule::GetList(array($by => $order), $arFilter);
        while ($arRes = $rsData->Fetch()) {
            $arID[] = $arRes['ID'];
        }
    }
    foreach ($arID as $ID) {
        $ID = IntVal($ID);
        if ($ID <= 0) {
            continue;
        }
        switch ($_REQUEST['action']) {
            case "reapply":
                if (!CRatingRule::Apply($ID, true)) {
                    $lAdmin->AddGroupError(GetMessage("RATING_RULE_LIST_ERR_APP"), $ID);
                }
                break;
            case "delete":
                if (!CRatingRule::Delete($ID)) {
                    $lAdmin->AddGroupError(GetMessage("RATING_RULE_LIST_ERR_DEL"), $ID);
                }
                break;
        }
    }
}
$rsData = CRatingRule::GetList(array($by => $order), $arFilter);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("RATING_RULE_LIST_NAV")));