5require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/sale/general/affiliate.php");
13 if (empty($arSelectFields) || !is_array($arSelectFields))
38 "ID" =>
array(
"FIELD" =>
"A.ID",
"TYPE" =>
"int"),
39 "SITE_ID" =>
array(
"FIELD" =>
"A.SITE_ID",
"TYPE" =>
"string"),
40 "USER_ID" =>
array(
"FIELD" =>
"A.USER_ID",
"TYPE" =>
"int"),
41 "AFFILIATE_ID" =>
array(
"FIELD" =>
"A.AFFILIATE_ID",
"TYPE" =>
"int"),
42 "PLAN_ID" =>
array(
"FIELD" =>
"A.PLAN_ID",
"TYPE" =>
"int"),
43 "ACTIVE" =>
array(
"FIELD" =>
"A.ACTIVE",
"TYPE" =>
"char"),
44 "TIMESTAMP_X" =>
array(
"FIELD" =>
"A.TIMESTAMP_X",
"TYPE" =>
"datetime"),
45 "DATE_CREATE" =>
array(
"FIELD" =>
"A.DATE_CREATE",
"TYPE" =>
"datetime"),
46 "PAID_SUM" =>
array(
"FIELD" =>
"A.PAID_SUM",
"TYPE" =>
"double"),
47 "APPROVED_SUM" =>
array(
"FIELD" =>
"A.APPROVED_SUM",
"TYPE" =>
"double"),
48 "PENDING_SUM" =>
array(
"FIELD" =>
"A.PENDING_SUM",
"TYPE" =>
"double"),
49 "ITEMS_NUMBER" =>
array(
"FIELD" =>
"A.ITEMS_NUMBER",
"TYPE" =>
"int"),
50 "ITEMS_SUM" =>
array(
"FIELD" =>
"A.ITEMS_SUM",
"TYPE" =>
"double"),
51 "LAST_CALCULATE" =>
array(
"FIELD" =>
"A.LAST_CALCULATE",
"TYPE" =>
"datetime"),
52 "AFF_SITE" =>
array(
"FIELD" =>
"A.AFF_SITE",
"TYPE" =>
"string"),
53 "AFF_DESCRIPTION" =>
array(
"FIELD" =>
"A.AFF_DESCRIPTION",
"TYPE" =>
"string"),
54 "FIX_PLAN" =>
array(
"FIELD" =>
"A.FIX_PLAN",
"TYPE" =>
"char"),
56 "PLAN_SITE_ID" =>
array(
"FIELD" =>
"AP.SITE_ID",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
57 "PLAN_NAME" =>
array(
"FIELD" =>
"AP.NAME",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
58 "PLAN_DESCRIPTION" =>
array(
"FIELD" =>
"AP.DESCRIPTION",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
59 "PLAN_TIMESTAMP_X" =>
array(
"FIELD" =>
"AP.TIMESTAMP_X",
"TYPE" =>
"datetime",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
60 "PLAN_ACTIVE" =>
array(
"FIELD" =>
"AP.ACTIVE",
"TYPE" =>
"char",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
61 "PLAN_BASE_RATE" =>
array(
"FIELD" =>
"AP.BASE_RATE",
"TYPE" =>
"double",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
62 "PLAN_BASE_RATE_TYPE" =>
array(
"FIELD" =>
"AP.BASE_RATE_TYPE",
"TYPE" =>
"char",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
63 "PLAN_BASE_RATE_CURRENCY" =>
array(
"FIELD" =>
"AP.BASE_RATE_CURRENCY",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
64 "PLAN_MIN_PAY" =>
array(
"FIELD" =>
"AP.MIN_PAY",
"TYPE" =>
"double",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
65 "PLAN_MIN_PLAN_VALUE" =>
array(
"FIELD" =>
"AP.MIN_PLAN_VALUE",
"TYPE" =>
"double",
"FROM" =>
"INNER JOIN b_sale_affiliate_plan AP ON (A.PLAN_ID = AP.ID)"),
67 "USER_LOGIN" =>
array(
"FIELD" =>
"U.LOGIN",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_user U ON (A.USER_ID = U.ID)"),
68 "USER_NAME" =>
array(
"FIELD" =>
"U.NAME",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_user U ON (A.USER_ID = U.ID)"),
69 "USER_LAST_NAME" =>
array(
"FIELD" =>
"U.LAST_NAME",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_user U ON (A.USER_ID = U.ID)"),
70 "USER_EMAIL" =>
array(
"FIELD" =>
"U.EMAIL",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_user U ON (A.USER_ID = U.ID)"),
71 "USER_USER" =>
array(
"FIELD" =>
"U.LOGIN,U.NAME,U.LAST_NAME,U.EMAIL,U.ID",
"WHERE_ONLY" =>
"Y",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_user U ON (A.USER_ID = U.ID)"),
73 "ORDER_ID" =>
array(
"FIELD" =>
"O.ID",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_sale_order O ON (A.ID = O.AFFILIATE_ID)"),
74 "ORDER_DATE_ALLOW_DELIVERY" =>
array(
"FIELD" =>
"O.DATE_ALLOW_DELIVERY",
"TYPE" =>
"datetime",
"FROM" =>
"INNER JOIN b_sale_order O ON (A.ID = O.AFFILIATE_ID)"),
75 "ORDER_ALLOW_DELIVERY" =>
array(
"FIELD" =>
"O.ALLOW_DELIVERY",
"TYPE" =>
"char",
"FROM" =>
"INNER JOIN b_sale_order O ON (A.ID = O.AFFILIATE_ID)"),
81 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
83 if (empty($arGroupBy) && is_array($arGroupBy))
86 "SELECT ".$arSqls[
"SELECT"].
" ".
87 "FROM b_sale_affiliate A ".
88 " ".$arSqls[
"FROM"].
" ";
89 if ($arSqls[
"WHERE"] <>
'')
90 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
91 if ($arSqls[
"GROUPBY"] <>
'')
92 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
102 "SELECT ".$arSqls[
"SELECT"].
" ".
103 "FROM b_sale_affiliate A ".
104 " ".$arSqls[
"FROM"].
" ";
105 if ($arSqls[
"WHERE"] <>
'')
106 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
107 if ($arSqls[
"GROUPBY"] <>
'')
108 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
109 if ($arSqls[
"ORDERBY"] <>
'')
110 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
113 $useNavParams = is_array($arNavStartParams);
114 if ($useNavParams && isset($arNavStartParams[
'nTopCount']))
116 $topCount = (int)$arNavStartParams[
'nTopCount'];
119 if ($useNavParams && $topCount <= 0)
122 "SELECT COUNT('x') as CNT ".
123 "FROM b_sale_affiliate A ".
124 " ".$arSqls[
"FROM"].
" ";
125 if ($arSqls[
"WHERE"] <>
'')
126 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
127 if ($arSqls[
"GROUPBY"] <>
'')
128 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
132 if ($arSqls[
"GROUPBY"] ==
'')
140 $cnt =
$dbRes->SelectedRowsCount();
145 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
149 if ($useNavParams && $topCount > 0)
151 $strSql .=
'LIMIT ' . $topCount;
167 if (mb_substr(
$key, 0, 1) ==
"=")
169 $arFields1[mb_substr(
$key, 1)] = $value;
179 foreach (
GetModuleEvents(
'sale',
'OnBeforeBAffiliateAdd',
true) as $arEvent)
187 if (!isset($arFields1[
'TIMESTAMP_X']))
192 $arFields[
'~TIMESTAMP_X'] = $helper->getCurrentDateTimeFunction();
196 $arInsert =
$DB->PrepareInsert(
"b_sale_affiliate",
$arFields);
198 foreach ($arFields1 as
$key => $value)
200 if ($arInsert[0] <>
'')
202 $arInsert[0] .=
", ";
203 $arInsert[1] .=
", ";
205 $arInsert[0] .=
$key;
206 $arInsert[1] .= $value;
210 "INSERT INTO b_sale_affiliate(".$arInsert[0].
") ".
211 "VALUES(".$arInsert[1].
")";
214 $ID = intval(
$DB->LastID());
216 foreach (
GetModuleEvents(
'sale',
'OnAfterBAffiliateAdd',
true) as $arEvent)
234 $arFields1 =
array();
237 if (mb_substr(
$key, 0, 1) ==
"=")
239 $arFields1[mb_substr(
$key, 1)] = $value;
249 foreach (
GetModuleEvents(
'sale',
'OnBeforeAffiliateUpdate',
true) as $arEvent)
257 if (!isset($arFields1[
'TIMESTAMP_X']))
262 $arFields[
'~TIMESTAMP_X'] = $helper->getCurrentDateTimeFunction();
266 $strUpdate =
$DB->PrepareUpdate(
"b_sale_affiliate",
$arFields);
268 foreach ($arFields1 as
$key => $value)
270 if ($strUpdate <>
'')
271 $strUpdate =
", ".$strUpdate;
272 $strUpdate =
$key.
"=".$value.$strUpdate;
275 $strSql =
"UPDATE b_sale_affiliate SET ".$strUpdate.
" WHERE ID = ".
$ID.
" ";
278 unset(
$GLOBALS[
"SALE_AFFILIATE"][
"SALE_AFFILIATE_CACHE_".
$ID]);
280 foreach (
GetModuleEvents(
'sale',
'OnAfterAffiliateUpdate',
true) as $arEvent)
static CheckFields($ACTION, &$arFields, $ID=0)
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false, $callback=false, $arOptions=array())
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static Update($ID, $arFields)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
if(empty($signedUserToken)) $key
$GLOBALS['_____370096793']