5require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/sale/general/affiliate_plan.php");
13 if (empty($arSelectFields) || !is_array($arSelectFields))
32 "ID" =>
array(
"FIELD" =>
"AP.ID",
"TYPE" =>
"int"),
33 "SITE_ID" =>
array(
"FIELD" =>
"AP.SITE_ID",
"TYPE" =>
"string"),
34 "NAME" =>
array(
"FIELD" =>
"AP.NAME",
"TYPE" =>
"string"),
35 "DESCRIPTION" =>
array(
"FIELD" =>
"AP.DESCRIPTION",
"TYPE" =>
"string"),
36 "TIMESTAMP_X" =>
array(
"FIELD" =>
"AP.TIMESTAMP_X",
"TYPE" =>
"datetime"),
37 "ACTIVE" =>
array(
"FIELD" =>
"AP.ACTIVE",
"TYPE" =>
"char"),
38 "BASE_RATE" =>
array(
"FIELD" =>
"AP.BASE_RATE",
"TYPE" =>
"double"),
39 "BASE_RATE_TYPE" =>
array(
"FIELD" =>
"AP.BASE_RATE_TYPE",
"TYPE" =>
"char"),
40 "BASE_RATE_CURRENCY" =>
array(
"FIELD" =>
"AP.BASE_RATE_CURRENCY",
"TYPE" =>
"string"),
41 "MIN_PAY" =>
array(
"FIELD" =>
"AP.MIN_PAY",
"TYPE" =>
"double"),
42 "MIN_PLAN_VALUE" =>
array(
"FIELD" =>
"AP.MIN_PLAN_VALUE",
"TYPE" =>
"double"),
43 "MIN_PLAN_SUM" =>
array(
"FIELD" =>
"AP.MIN_PLAN_VALUE",
"TYPE" =>
"double",
"WHERE" =>
array(
"CSaleAffiliatePlan",
"PrepareCurrency4Where")),
45 "SECTION_ID" =>
array(
"FIELD" =>
"APS.ID",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
46 "SECTION_MODULE_ID" =>
array(
"FIELD" =>
"APS.MODULE_ID",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
47 "SECTION_SECTION_ID" =>
array(
"FIELD" =>
"APS.SECTION_ID",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
48 "SECTION_RATE" =>
array(
"FIELD" =>
"APS.RATE",
"TYPE" =>
"double",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
49 "SECTION_RATE_TYPE" =>
array(
"FIELD" =>
"APS.RATE_TYPE",
"TYPE" =>
"char",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
50 "SECTION_RATE_CURRENCY" =>
array(
"FIELD" =>
"APS.RATE_CURRENCY",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sale_affiliate_plan_section APS ON (AP.ID = APS.PLAN_ID)"),
56 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
58 if (empty($arGroupBy) && is_array($arGroupBy))
61 "SELECT ".$arSqls[
"SELECT"].
" ".
62 "FROM b_sale_affiliate_plan AP ".
63 " ".$arSqls[
"FROM"].
" ";
64 if ($arSqls[
"WHERE"] <>
'')
65 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
66 if ($arSqls[
"GROUPBY"] <>
'')
67 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
77 "SELECT ".$arSqls[
"SELECT"].
" ".
78 "FROM b_sale_affiliate_plan AP ".
79 " ".$arSqls[
"FROM"].
" ";
80 if ($arSqls[
"WHERE"] <>
'')
81 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
82 if ($arSqls[
"GROUPBY"] <>
'')
83 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
84 if ($arSqls[
"ORDERBY"] <>
'')
85 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
88 $useNavParams = is_array($arNavStartParams);
89 if ($useNavParams && isset($arNavStartParams[
'nTopCount']))
91 $topCount = (int)$arNavStartParams[
'nTopCount'];
94 if ($useNavParams && $topCount <= 0)
97 "SELECT COUNT('x') as CNT ".
98 "FROM b_sale_affiliate_plan AP ".
99 " ".$arSqls[
"FROM"].
" ";
100 if ($arSqls[
"WHERE"] <>
'')
101 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
102 if ($arSqls[
"GROUPBY"] <>
'')
103 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
107 if ($arSqls[
"GROUPBY"] ==
'')
115 $cnt =
$dbRes->SelectedRowsCount();
120 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
124 if ($useNavParams && $topCount > 0)
126 $strSql .=
'LIMIT ' . $topCount;
142 if (mb_substr(
$key, 0, 1) ==
"=")
144 $arFields1[mb_substr(
$key, 1)] = $value;
154 foreach (
GetModuleEvents(
'sale',
'OnBeforeAffiliatePlanAdd',
true) as $arEvent)
162 if (!isset($arFields1[
'TIMESTAMP_X']))
167 $arFields[
'~TIMESTAMP_X'] = $helper->getCurrentDateTimeFunction();
171 $arInsert =
$DB->PrepareInsert(
"b_sale_affiliate_plan",
$arFields);
173 foreach ($arFields1 as
$key => $value)
175 if ($arInsert[0] <>
'')
177 $arInsert[0] .=
", ";
178 $arInsert[1] .=
", ";
180 $arInsert[0] .=
$key;
181 $arInsert[1] .= $value;
185 "INSERT INTO b_sale_affiliate_plan(".$arInsert[0].
") ".
186 "VALUES(".$arInsert[1].
")";
189 $ID = intval(
$DB->LastID());
191 foreach (
GetModuleEvents(
'sale',
'OnAfterAffiliatePlanAdd',
true) as $arEvent)
212 if (mb_substr(
$key, 0, 1) ==
"=")
214 $arFields1[mb_substr(
$key, 1)] = $value;
224 foreach (
GetModuleEvents(
'sale',
'OnBeforeAffiliatePlanUpdate',
true) as $arEvent)
232 if (!isset($arFields1[
'TIMESTAMP_X']))
237 $arFields[
'~TIMESTAMP_X'] = $helper->getCurrentDateTimeFunction();
241 $strUpdate =
$DB->PrepareUpdate(
"b_sale_affiliate_plan",
$arFields);
243 foreach ($arFields1 as
$key => $value)
245 if ($strUpdate <>
'') $strUpdate .=
", ";
246 $strUpdate .=
$key.
"=".$value.
" ";
249 $strSql =
"UPDATE b_sale_affiliate_plan SET ".$strUpdate.
" WHERE ID = ".
$ID.
" ";
252 unset(
$GLOBALS[
"SALE_AFFILIATE_PLAN"][
"SALE_AFFILIATE_PLAN_CACHE_".
$ID]);
254 foreach (
GetModuleEvents(
'sale',
'OnAfterAffiliatePlanUpdate',
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']