require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
if ($saleModulePermissions == "D")
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
\Bitrix\Main\Loader::includeModule('sale');
if(!CBXFeatures::IsFeatureEnabled('SaleAffiliate'))
{
require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_admin_after.php");
ShowError(GetMessage("SALE_FEATURE_NOT_ALLOW"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
die();
}
IncludeModuleLangFile(__FILE__);
$arTransactTypes = array(
"AFFILIATE_IN" => GetMessage("SAT2_AFF_IN"),
"AFFILIATE_ACCT" => GetMessage("SAT2_AFF_ACCT"),
"AFFILIATE_CLEAR" => GetMessage("SAT2_AFFILIATE_CLEAR"),
);
$sTableID = "tbl_sale_affiliate_transact";
$oSort = new CAdminSorting($sTableID, "ID", "desc");
$lAdmin = new CAdminList($sTableID, $oSort);
$arFilterFields = array(
"filter_affiliate_id",
"filter_user",
"filter_transact_date_from",
"filter_transact_date_to",
"filter_currency"
);
$lAdmin->InitFilter($arFilterFields);
$arFilter = array();
if (intval($filter_affiliate_id) > 0) $arFilter["AFFILIATE_ID"] = intval($filter_affiliate_id);
if ($filter_user <> '') $arFilter["%USER_USER"] = $filter_user;
if ($filter_currency <> '') $arFilter["CURRENCY"] = $filter_currency;
if ($filter_transact_date_from <> '') $arFilter[">=TRANSACT_DATE"] = Trim($filter_transact_date_from);
if ($filter_transact_date_to <> '') $arFilter["<=TRANSACT_DATE"] = Trim($filter_transact_date_to);
$dbTransactList = CSaleAffiliateTransact::GetList(
array($by => $order),
$arFilter,
false,
array("nPageSize"=>CAdminResult::GetNavSize($sTableID)),
array("ID", "AFFILIATE_ID", "TIMESTAMP_X", "TRANSACT_DATE", "AMOUNT", "CURRENCY", "DEBIT", "DESCRIPTION", "EMPLOYEE_ID", "AFFILIATE_SITE_ID", "USER_LOGIN", "USER_NAME", "USER_LAST_NAME", "USER_EMAIL")
);
$dbTransactList = new CAdminResult($dbTransactList, $sTableID);
$dbTransactList->NavStart();
$lAdmin->NavText($dbTransactList->GetNavPrint(GetMessage("STA_NAV")));
$lAdmin->AddHeaders(array(
array("id"=>"ID", "content"=>"ID", "sort"=>"ID", "default"=>true),
array("id"=>"TRANSACT_DATE","content"=>GetMessage("SAT2_TRANSACT_DATE"), "sort"=>"TRANSACT_DATE", "default"=>true),
array("id"=>"AFFILIATE_ID", "content"=>GetMessage("SAT2_AFFILIATE"), "sort"=>"AFFILIATE_ID", "default"=>true),
array("id"=>"AMOUNT", "content"=>GetMessage("SAT2_SUM"), "sort"=>"AMOUNT", "default"=>true),
array("id"=>"TYPE", "content"=>GetMessage("SAT2_TYPE"), "sort"=>"DESCRIPTION", "default"=>true),
array("id"=>"DESCR", "content"=>GetMessage("SAT2_DESCR"), "sort"=>"", "default"=>true),
));
$arVisibleColumns = $lAdmin->GetVisibleHeaderColumns();
while ($arTransact = $dbTransactList->NavNext(true, "f_"))
{
$row =& $lAdmin->AddRow($f_ID, $arTransact);
$row->AddField("ID", $f_ID);
$row->AddField("TRANSACT_DATE", $f_TRANSACT_DATE);
$fieldValue = "[".$f_AFFILIATE_ID."] ";
$fieldValue .= htmlspecialcharsEx($arTransact["USER_NAME"].(($arTransact["USER_NAME"] == '' || $arTransact["USER_LAST_NAME"] == '') ? "" : " ").$arTransact["USER_LAST_NAME"])."
";
$fieldValue .= htmlspecialcharsEx($arTransact["AFFILIATE_SITE_ID"])." ";
$fieldValue .= htmlspecialcharsEx($arTransact["USER_LOGIN"])." ";
$fieldValue .= "".htmlspecialcharsEx($arTransact["USER_EMAIL"])."";
$row->AddField("AFFILIATE_ID", $fieldValue);
$row->AddField("AMOUNT", (($arTransact["DEBIT"] == "Y") ? "+" : "-").SaleFormatCurrency($arTransact["AMOUNT"], $arTransact["CURRENCY"])."
".(($arTransact["DEBIT"] == "Y") ? GetMessage("SAT2_TO_ACCT") : GetMessage("SAT2_FROM_ACCT"))."");
if (array_key_exists($arTransact["DESCRIPTION"], $arTransactTypes))
$fieldValue = htmlspecialcharsEx($arTransactTypes[$arTransact["DESCRIPTION"]]);
else
$fieldValue = htmlspecialcharsEx($arTransact["DESCRIPTION"]);
$row->AddField("TYPE", $fieldValue);
$fieldValue = " ";
if (in_array("DESCR", $arVisibleColumns))
{
$fieldValue .= "";
if (intval($arTransact["EMPLOYEE_ID"]) > 0)
{
if (!isset($LOCAL_TRANS_USER_CACHE[$arTransact["EMPLOYEE_ID"]])
|| !is_array($LOCAL_TRANS_USER_CACHE[$arTransact["EMPLOYEE_ID"]]))
{
$dbUser = CUser::GetByID($arTransact["EMPLOYEE_ID"]);
if ($arUser = $dbUser->Fetch())
$LOCAL_TRANS_USER_CACHE[$arTransact["EMPLOYEE_ID"]] = htmlspecialcharsEx($arUser["NAME"].(($arUser["NAME"] == '' || $arUser["LAST_NAME"] == '') ? "" : " ").$arUser["LAST_NAME"]." (".$arUser["LOGIN"].")");
}
$fieldValue .= "[".$arTransact["EMPLOYEE_ID"]."] ";
$fieldValue .= $LOCAL_TRANS_USER_CACHE[$arTransact["EMPLOYEE_ID"]];
}
$fieldValue .= "";
}
$row->AddField("DESCR", $fieldValue);
}
$lAdmin->AddFooter(
array(
array(
"title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"),
"value" => $dbTransactList->SelectedRowsCount()
)
)
);
$lAdmin->CheckListMode();
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php");
$APPLICATION->SetTitle(GetMessage("SAT2_AFF_TRANSACTIONS"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
?>