Beispiel #1
0
 function ClearAffiliateSum($affiliate)
 {
     global $DB;
     $arAffiliate = CSaleAffiliate::CheckAffiliateFunc($affiliate);
     if (!$arAffiliate) {
         return False;
     }
     $arAffiliate["PAID_SUM"] = str_replace(",", ".", $arAffiliate["PAID_SUM"]);
     $arAffiliate["PAID_SUM"] = DoubleVal($arAffiliate["PAID_SUM"]);
     if ($arAffiliate["PAID_SUM"] > 0) {
         if (!array_key_exists("BASE_LANG_CURRENCIES", $GLOBALS)) {
             $GLOBALS["BASE_LANG_CURRENCIES"] = array();
         }
         if (!array_key_exists($arAffiliate["SITE_ID"], $GLOBALS["BASE_LANG_CURRENCIES"])) {
             $GLOBALS["BASE_LANG_CURRENCIES"][$arAffiliate["SITE_ID"]] = CSaleLang::GetLangCurrency($arAffiliate["SITE_ID"]);
         }
         if (!CSaleAffiliate::Update($arAffiliate["ID"], array("PAID_SUM" => 0))) {
             if ($ex = $GLOBALS["APPLICATION"]->GetException()) {
                 $GLOBALS["APPLICATION"]->ThrowException($ex->GetString(), "AF_UPDATE_ERROR");
             } else {
                 $GLOBALS["APPLICATION"]->ThrowException(GetMessage("ACGA1_ERROR_UPDATE_SUM"), "AF_UPDATE_ERROR");
             }
             return False;
         }
         $arFields = array("AFFILIATE_ID" => $arAffiliate["ID"], "TRANSACT_DATE" => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID))), "AMOUNT" => $arAffiliate["PAID_SUM"], "CURRENCY" => $GLOBALS["BASE_LANG_CURRENCIES"][$arAffiliate["SITE_ID"]], "DEBIT" => "N", "DESCRIPTION" => "AFFILIATE_CLEAR", "EMPLOYEE_ID" => $GLOBALS["USER"]->IsAuthorized() ? $GLOBALS["USER"]->GetID() : False);
         CSaleAffiliateTransact::Add($arFields);
     }
     return True;
 }