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; }
$PAID_SUM = str_replace(",", ".", $PAID_SUM); $PAID_SUM = DoubleVal($PAID_SUM); $APPROVED_SUM = str_replace(",", ".", $APPROVED_SUM); $APPROVED_SUM = DoubleVal($APPROVED_SUM); $PENDING_SUM = str_replace(",", ".", $PENDING_SUM); $PENDING_SUM = DoubleVal($PENDING_SUM); if (StrLen($errorMessage) <= 0) { $dbAffiliate = CSaleAffiliate::GetList(array(), array("USER_ID" => $USER_ID, "SITE_ID" => $SITE_ID, "!ID" => $ID)); if ($dbAffiliate->Fetch()) { $errorMessage .= str_replace("#USER_ID#", $USER_ID, str_replace("#SITE_ID#", $SITE_ID, GetMessage("SAE_AFFILIATE_ALREADY_EXISTS"))) . ".<br>"; } } if (StrLen($errorMessage) <= 0) { $arFields = array("SITE_ID" => $SITE_ID, "USER_ID" => $USER_ID, "AFFILIATE_ID" => IntVal($AFFILIATE_ID) > 0 ? $AFFILIATE_ID : false, "PLAN_ID" => $PLAN_ID, "ACTIVE" => $ACTIVE, "DATE_CREATE" => $DATE_CREATE, "PAID_SUM" => $PAID_SUM, "APPROVED_SUM" => $APPROVED_SUM, "PENDING_SUM" => $PENDING_SUM, "LAST_CALCULATE" => StrLen($LAST_CALCULATE) > 0 ? $LAST_CALCULATE : false, "AFF_SITE" => $AFF_SITE, "AFF_DESCRIPTION" => $AFF_DESCRIPTION, "FIX_PLAN" => $FIX_PLAN); if ($ID > 0) { if (!CSaleAffiliate::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString() . ".<br>"; } else { $errorMessage .= GetMessage("SAE_ERROR_SAVE_AFF") . ".<br>"; } } } else { $ID = CSaleAffiliate::Add($arFields); $ID = IntVal($ID); if ($ID <= 0) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString() . ".<br>"; } else { $errorMessage .= GetMessage("SAE_ERROR_SAVE_AFF") . ".<br>"; }