%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/sale.affiliate.report/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/sale.affiliate.report/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?><? if(!CBXFeatures::IsFeatureEnabled('SaleAffiliate')) return; $arParams["REGISTER_PAGE"] = trim($arParams["REGISTER_PAGE"]); if (strlen($arParams["REGISTER_PAGE"]) <= 0) $arParams["REGISTER_PAGE"] = "register.php"; if (strlen($arParams["SET_TITLE"]) <= 0) $arParams["SET_TITLE"] = "Y"; if (CModule::IncludeModule("sale")) { if ($arParams["SET_TITLE"] == "Y") $APPLICATION->SetTitle(GetMessage("SPCAS1_PROG_REPORT")); if ($GLOBALS["USER"]->IsAuthorized()) { $dbAffiliate = CSaleAffiliate::GetList( array("TRANSACT_DATE" => "ASC"), array( "USER_ID" => IntVal($GLOBALS["USER"]->GetID()), "SITE_ID" => SITE_ID, ), false, false, array("ID", "PLAN_ID", "ACTIVE", "PAID_SUM", "APPROVED_SUM", "PENDING_SUM", "LAST_CALCULATE") ); if ($arAffiliate = $dbAffiliate->Fetch()) { $arResult = array(); if ($arAffiliate["ACTIVE"] == "Y") { $arResult["FIELDS"] = $arAffiliate; if (strlen($_REQUEST["del_filter"])>0) DelFilter(Array("filter_date_from", "filter_date_to")); else InitFilter(Array("filter_date_from", "filter_date_to")); $filter_date_from = $_REQUEST["filter_date_from"]; $filter_date_to = $_REQUEST["filter_date_to"]; if (StrLen($filter_date_from) <= 0 && StrLen($filter_date_to) <= 0) { $filter_date_from = date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), mktime(0, 0, 0, date("m") - 3, 1, date("Y"))); $filter_date_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"))); } $arResult["FILTER"] = array( "filter_date_from" => $filter_date_from, "filter_date_to" => $filter_date_to ); $arResult["CURRENT_PAGE_PARAM"] = $APPLICATION->GetCurPageParam("", array("filter_date_from", "filter_date_to")); $arResult["CURRENT_PAGE"] = $APPLICATION->GetCurPage(); $arFilter = array( "=AFFILIATE_ID" => $arAffiliate["ID"], "=ALLOW_DELIVERY" => "Y", "=CANCELED" => "N", "=LID" => SITE_ID ); if (StrLen($filter_date_from) > 0) $arFilter[">=DATE_ALLOW_DELIVERY"] = Trim($filter_date_from); if (StrLen($filter_date_to) > 0) $arFilter["<=DATE_ALLOW_DELIVERY"] = Trim($filter_date_to); $dbItemsList = \Bitrix\Sale\Internals\OrderTable::getList( array( 'filter' => $arFilter, 'select' => array( "BASKET_NAME" => 'BASKET.NAME', "BASKET_PRODUCT_ID" => 'BASKET.PRODUCT_ID', "BASKET_MODULE" => 'BASKET.MODULE', "BASKET_PRICE" => 'BASKET.PRICE', "BASKET_CURRENCY" => 'BASKET.CURRENCY', "BASKET_DISCOUNT_PRICE" => 'BASKET.DISCOUNT_PRICE', 'BASKET_QUANTITY' => 'SUM_BASKET_QUANTITY' ), 'runtime' => array( new \Bitrix\Main\Entity\ExpressionField('SUM_BASKET_QUANTITY', 'SUM(%s)', array('BASKET.QUANTITY')) ), 'order' => array("BASKET.MODULE" => "ASC", "BASKET.NAME" => "ASC", "BASKET.PRODUCT_ID" => "ASC"), 'group' => array("BASKET.MODULE", "BASKET.PRODUCT_ID", "BASKET.NAME", "BASKET.PRICE", "BASKET.CURRENCY", "BASKET.DISCOUNT_PRICE"), ) ); $arResult["ROWS"] = False; if ($arItemsList = $dbItemsList->Fetch()) { $affiliateCurrency = CSaleLang::GetLangCurrency(SITE_ID); $currentBasketModule = $arItemsList["BASKET_MODULE"]; $currentBasketProductID = $arItemsList["BASKET_PRODUCT_ID"]; $currentBasketName = $arItemsList["BASKET_NAME"]; $currentQuantity = 0; $currentSum = 0; $totalQuantity = 0; $totalSum = 0; $arResult["ROWS"] = array(); do { if ($currentBasketModule != $arItemsList["BASKET_MODULE"] || $currentBasketProductID != $arItemsList["BASKET_PRODUCT_ID"] || $currentBasketName != $arItemsList["BASKET_NAME"]) { $arResult["ROWS"][] = array( "NAME" => htmlspecialcharsex($currentBasketName), "QUANTITY" => $currentQuantity, "SUM" => $currentSum, "CURRENCY" => $affiliateCurrency, "SUM_FORMAT" => SaleFormatCurrency($currentSum, $affiliateCurrency) ); $currentBasketModule = $arItemsList["BASKET_MODULE"]; $currentBasketProductID = $arItemsList["BASKET_PRODUCT_ID"]; $currentBasketName = $arItemsList["BASKET_NAME"]; $totalQuantity += $currentQuantity; $totalSum += $currentSum; $currentQuantity = 0; $currentSum = 0; } $currentQuantity += $arItemsList["BASKET_QUANTITY"]; if ($affiliateCurrency != $arItemsList["BASKET_CURRENCY"]) //$currentSum += CCurrencyRates::ConvertCurrency(($arItemsList["BASKET_PRICE"] - $arItemsList["BASKET_DISCOUNT_PRICE"]) * $arItemsList["BASKET_QUANTITY"], $arItemsList["BASKET_CURRENCY"], $affiliateCurrency); $currentSum += CCurrencyRates::ConvertCurrency($arItemsList["BASKET_PRICE"] * $arItemsList["BASKET_QUANTITY"], $arItemsList["BASKET_CURRENCY"], $affiliateCurrency); else //$currentSum += ($arItemsList["BASKET_PRICE"] - $arItemsList["BASKET_DISCOUNT_PRICE"]) * $arItemsList["BASKET_QUANTITY"]; $currentSum += $arItemsList["BASKET_PRICE"] * $arItemsList["BASKET_QUANTITY"]; } while ($arItemsList = $dbItemsList->Fetch()); $arResult["ROWS"][] = array( "NAME" => $currentBasketName, "QUANTITY" => $currentQuantity, "SUM" => $currentSum, "CURRENCY" => $affiliateCurrency, "SUM_FORMAT" => SaleFormatCurrency($currentSum, $affiliateCurrency) ); $totalQuantity += $currentQuantity; $totalSum += $currentSum; $arResult["TOTAL"] = array( "QUANTITY" => $totalQuantity, "SUM" => $totalSum, "CURRENCY" => $affiliateCurrency, "SUM_FORMAT" => SaleFormatCurrency($totalSum, $affiliateCurrency) ); } $arResult["FILTER_ID"] = rand(0, 10000); } else { $arResult = false; } $this->IncludeComponentTemplate(); } else { LocalRedirect($arParams["REGISTER_PAGE"]."?REDIRECT_PAGE=".UrlEncode($APPLICATION->GetCurPage())); die(); } } else { LocalRedirect($arParams["REGISTER_PAGE"]."?REDIRECT_PAGE=".UrlEncode($APPLICATION->GetCurPage())); die(); } } else { ?> <b><?=ShowError(GetMessage("SPCAS1_NO_SHOP"))?></b> <? } ?>