1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
cataloggroup.php
См. документацию.
1<?php
2
4
5require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/cataloggroup.php");
6
8{
9 public static function Add($arFields)
10 {
11 global $DB, $CACHE_MANAGER;
12
13 foreach(GetModuleEvents("catalog", "OnBeforeGroupAdd", true) as $arEvent)
14 {
15 if (ExecuteModuleEventEx($arEvent, array(&$arFields))===false)
16 return false;
17 }
18
19 if (!static::CheckFields("ADD", $arFields, 0))
20 return false;
21
22 if ($arFields["BASE"] == "Y")
23 {
25 }
26
27 $arInsert = $DB->PrepareInsert("b_catalog_group", $arFields);
28
29 $strSql = "INSERT INTO b_catalog_group(".$arInsert[0].") VALUES(".$arInsert[1].")";
30 $DB->Query($strSql);
31
32 $groupID = (int)$DB->LastID();
33
34 foreach ($arFields["USER_GROUP"] as &$intValue)
35 {
36 $strSql = "INSERT INTO b_catalog_group2group(CATALOG_GROUP_ID, GROUP_ID, BUY) VALUES(".$groupID.", ".$intValue.", 'N')";
37 $DB->Query($strSql);
38 }
39 if (isset($intValue))
40 unset($intValue);
41
42 foreach ($arFields["USER_GROUP_BUY"] as &$intValue)
43 {
44 $strSql = "INSERT INTO b_catalog_group2group(CATALOG_GROUP_ID, GROUP_ID, BUY) VALUES(".$groupID.", ".$intValue.", 'Y')";
45 $DB->Query($strSql);
46 }
47 if (isset($intValue))
48 unset($intValue);
49
50 if (isset($arFields["USER_LANG"]) && is_array($arFields["USER_LANG"]) && !empty($arFields["USER_LANG"]))
51 {
52 foreach ($arFields["USER_LANG"] as $key => $value)
53 {
54 $strSql =
55 "INSERT INTO b_catalog_group_lang(CATALOG_GROUP_ID, LANG, NAME) VALUES(".$groupID.", '".$DB->ForSql($key)."', '".$DB->ForSql($value)."')";
56 $DB->Query($strSql);
57 }
58 }
59
60 if (!defined("CATALOG_SKIP_CACHE") || !CATALOG_SKIP_CACHE)
61 {
62 $CACHE_MANAGER->CleanDir("catalog_group");
63 $CACHE_MANAGER->Clean("catalog_group_perms");
64 }
65
68
69 foreach(GetModuleEvents("catalog", "OnGroupAdd", true) as $arEvent)
70 {
71 ExecuteModuleEventEx($arEvent, array($groupID, $arFields));
72 }
73 // strange copy-paste bug
74 foreach(GetModuleEvents("catalog", "OnGroupUpdate", true) as $arEvent)
75 {
76 ExecuteModuleEventEx($arEvent, array($groupID, $arFields));
77 }
78
79 return $groupID;
80 }
81
82 public static function Update($ID, $arFields)
83 {
84 global $DB, $CACHE_MANAGER;
85
86 $ID = (int)$ID;
87 if ($ID <= 0)
88 return false;
89
90 foreach(GetModuleEvents("catalog", "OnBeforeGroupUpdate", true) as $arEvent)
91 {
92 if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields))===false)
93 return false;
94 }
95
96 if (!static::CheckFields("UPDATE", $arFields, $ID))
97 return false;
98
99 $strUpdate = $DB->PrepareUpdate("b_catalog_group", $arFields);
100 if (!empty($strUpdate))
101 {
102 if (isset($arFields["BASE"]) && $arFields["BASE"] == "Y")
103 {
105 }
106
107 $strSql = "UPDATE b_catalog_group SET ".$strUpdate." WHERE ID = ".$ID;
108 $DB->Query($strSql);
109 }
110
111 if (isset($arFields["USER_GROUP"]) && is_array($arFields["USER_GROUP"]) && !empty($arFields["USER_GROUP"]))
112 {
113 $DB->Query("DELETE FROM b_catalog_group2group WHERE CATALOG_GROUP_ID = ".$ID." AND BUY <> 'Y'");
114 foreach ($arFields["USER_GROUP"] as &$intValue)
115 {
116 $strSql = "INSERT INTO b_catalog_group2group(CATALOG_GROUP_ID, GROUP_ID, BUY) VALUES(".$ID.", ".$intValue.", 'N')";
117 $DB->Query($strSql);
118 }
119 if (isset($intValue))
120 unset($intValue);
121 }
122
123 if (isset($arFields["USER_GROUP_BUY"]) && is_array($arFields["USER_GROUP_BUY"]) && !empty($arFields["USER_GROUP_BUY"]))
124 {
125 $DB->Query("DELETE FROM b_catalog_group2group WHERE CATALOG_GROUP_ID = ".$ID." AND BUY = 'Y'");
126 foreach ($arFields["USER_GROUP_BUY"] as &$intValue)
127 {
128 $strSql = "INSERT INTO b_catalog_group2group(CATALOG_GROUP_ID, GROUP_ID, BUY) VALUES(".$ID.", ".$intValue.", 'Y')";
129 $DB->Query($strSql);
130 }
131 if (isset($intValue))
132 unset($intValue);
133 }
134
135 if (isset($arFields["USER_LANG"]) && is_array($arFields["USER_LANG"]) && !empty($arFields["USER_LANG"]))
136 {
137 $DB->Query("DELETE FROM b_catalog_group_lang WHERE CATALOG_GROUP_ID = ".$ID);
138 foreach ($arFields["USER_LANG"] as $key => $value)
139 {
140 $strSql =
141 "INSERT INTO b_catalog_group_lang(CATALOG_GROUP_ID, LANG, NAME) VALUES(".$ID.", '".$DB->ForSql($key)."', '".$DB->ForSql($value)."')";
142 $DB->Query($strSql);
143 }
144 }
145
146 if (!defined("CATALOG_SKIP_CACHE") || !CATALOG_SKIP_CACHE)
147 {
148 $CACHE_MANAGER->CleanDir("catalog_group");
149 $CACHE_MANAGER->Clean("catalog_group_perms");
150 }
151
154
155 foreach(GetModuleEvents("catalog", "OnGroupUpdate", true) as $arEvent)
156 {
158 }
159
160 return true;
161 }
162
163 public static function Delete($ID)
164 {
166
167 $ID = (int)$ID;
168 if ($ID <= 0)
169 return false;
170
171 if ($res = static::GetByID($ID))
172 {
173 if ($res["BASE"] != "Y")
174 {
175 foreach(GetModuleEvents("catalog", "OnBeforeGroupDelete", true) as $arEvent)
176 {
177 if (ExecuteModuleEventEx($arEvent, array($ID))===false)
178 return false;
179 }
180
181 foreach(GetModuleEvents("catalog", "OnGroupDelete", true) as $arEvent)
182 {
183 ExecuteModuleEventEx($arEvent, array($ID));
184 }
185
186 if (!defined("CATALOG_SKIP_CACHE") || !CATALOG_SKIP_CACHE)
187 {
188 $CACHE_MANAGER->CleanDir("catalog_group");
189 $CACHE_MANAGER->Clean("catalog_group_perms");
190 }
191
192 $DB->Query("DELETE FROM b_catalog_price WHERE CATALOG_GROUP_ID = ".$ID);
193 $DB->Query("DELETE FROM b_catalog_group2group WHERE CATALOG_GROUP_ID = ".$ID);
194 $DB->Query("DELETE FROM b_catalog_group_lang WHERE CATALOG_GROUP_ID = ".$ID);
198
199 return $DB->Query("DELETE FROM b_catalog_group WHERE ID = ".$ID, true);
200 }
201 else
202 {
203 $APPLICATION->ThrowException(GetMessage('BT_MOD_CAT_GROUP_ERR_CANNOT_DELETE_BASE_TYPE'), 'BASE');
204 }
205 }
206
207 return false;
208 }
209
218 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
219 {
220 global $DB, $USER;
221
222 // for old-style execution
223 if (!is_array($arOrder) && !is_array($arFilter))
224 {
225 $arOrder = strval($arOrder);
226 $arFilter = strval($arFilter);
227 if ('' != $arOrder && '' != $arFilter)
228 $arOrder = array($arOrder => $arFilter);
229 else
230 $arOrder = array();
231 if (is_array($arGroupBy))
232 $arFilter = $arGroupBy;
233 else
234 $arFilter = array();
235 $arGroupBy = false;
236 if ($arNavStartParams != false && '' != $arNavStartParams)
237 $arFilter["LID"] = $arNavStartParams;
238 else
239 $arFilter["LID"] = LANGUAGE_ID;
240 }
241 if (!isset($arFilter['LID']))
242 $arFilter['LID'] = LANGUAGE_ID;
243
244 $strUserGroups = (CCatalog::IsUserExists() ? $USER->GetGroups() : '2');
245
246 if (empty($arSelectFields))
247 $arSelectFields = array("ID", "NAME", "BASE", "SORT", "XML_ID", "MODIFIED_BY", "CREATED_BY", "DATE_CREATE", "TIMESTAMP_X", "NAME_LANG", "CAN_ACCESS", "CAN_BUY");
248 if ($arGroupBy == false)
249 $arGroupBy = array("ID", "NAME", "BASE", "SORT", "XML_ID", "MODIFIED_BY", "CREATED_BY", "DATE_CREATE", "TIMESTAMP_X", "NAME_LANG", "CAN_ACCESS", "CAN_BUY");
250
252 "ID" => array("FIELD" => "CG.ID", "TYPE" => "int"),
253 "NAME" => array("FIELD" => "CG.NAME", "TYPE" => "string"),
254 "BASE" => array("FIELD" => "CG.BASE", "TYPE" => "char"),
255 "SORT" => array("FIELD" => "CG.SORT", "TYPE" => "int"),
256 "XML_ID" => array("FIELD" => "CG.XML_ID", "TYPE" => "string"),
257 "TIMESTAMP_X" => array("FIELD" => "CG.TIMESTAMP_X", "TYPE" => "datetime"),
258 "MODIFIED_BY" => array("FIELD" => "CG.MODIFIED_BY", "TYPE" => "int"),
259 "DATE_CREATE" => array("FIELD" => "CG.DATE_CREATE", "TYPE" => "datetime"),
260 "CREATED_BY" => array("FIELD" => "CG.CREATED_BY", "TYPE" => "int"),
261 "NAME_LANG" => array("FIELD" => "CGL.NAME", "TYPE" => "string", "FROM" => "LEFT JOIN b_catalog_group_lang CGL ON (CG.ID = CGL.CATALOG_GROUP_ID AND CGL.LANG = '".$DB->ForSql($arFilter["LID"], 2)."')"),
262 );
263
264 $arFields["CAN_ACCESS"] = array(
265 "FIELD" => "CASE WHEN CGG.ID IS NULL THEN 'N' ELSE 'Y' END",
266 "TYPE" => "char",
267 "FROM" => "LEFT JOIN b_catalog_group2group CGG ON (CG.ID = CGG.CATALOG_GROUP_ID AND CGG.GROUP_ID IN (".$strUserGroups.") AND CGG.BUY <> 'Y')",
268 "GROUPED" => "N"
269 );
270 $arFields["CAN_BUY"] = array(
271 "FIELD" => "CASE WHEN CGG1.ID IS NULL THEN 'N' ELSE 'Y' END",
272 "TYPE" => "char",
273 "FROM" => "LEFT JOIN b_catalog_group2group CGG1 ON (CG.ID = CGG1.CATALOG_GROUP_ID AND CGG1.GROUP_ID IN (".$strUserGroups.") AND CGG1.BUY = 'Y')",
274 "GROUPED" => "N"
275 );
276
277 $arSqls = CCatalog::_PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
278
279 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
280
281 if (empty($arGroupBy) && is_array($arGroupBy))
282 {
283 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group CG ".$arSqls["FROM"];
284 if (!empty($arSqls["WHERE"]))
285 $strSql .= " WHERE ".$arSqls["WHERE"];
286 if (!empty($arSqls["GROUPBY"]))
287 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
288 if (!empty($arSqls["HAVING"]))
289 $strSql .= " HAVING ".$arSqls["HAVING"];
290
291 $dbRes = $DB->Query($strSql);
292 if ($arRes = $dbRes->Fetch())
293 return $arRes["CNT"];
294 else
295 return false;
296 }
297
298 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group CG ".$arSqls["FROM"];
299 if (!empty($arSqls["WHERE"]))
300 $strSql .= " WHERE ".$arSqls["WHERE"];
301 if (!empty($arSqls["GROUPBY"]))
302 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
303 if (!empty($arSqls["HAVING"]))
304 $strSql .= " HAVING ".$arSqls["HAVING"];
305 if (!empty($arSqls["ORDERBY"]))
306 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
307
308 $intTopCount = 0;
309 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
310 if ($boolNavStartParams && array_key_exists('nTopCount', $arNavStartParams))
311 {
312 $intTopCount = intval($arNavStartParams["nTopCount"]);
313 }
314 if ($boolNavStartParams && 0 >= $intTopCount)
315 {
316 $strSql_tmp = "SELECT COUNT('x') as CNT FROM b_catalog_group CG ".$arSqls["FROM"];
317 if (!empty($arSqls["WHERE"]))
318 $strSql_tmp .= " WHERE ".$arSqls["WHERE"];
319 if (!empty($arSqls["GROUPBY"]))
320 $strSql_tmp .= " GROUP BY ".$arSqls["GROUPBY"];
321 if (!empty($arSqls["HAVING"]))
322 $strSql_tmp .= " HAVING ".$arSqls["HAVING"];
323
324 $dbRes = $DB->Query($strSql_tmp);
325 $cnt = 0;
326 if (empty($arSqls["GROUPBY"]))
327 {
328 if ($arRes = $dbRes->Fetch())
329 $cnt = $arRes["CNT"];
330 }
331 else
332 {
333 $cnt = $dbRes->SelectedRowsCount();
334 }
335
336 $dbRes = new CDBResult();
337
338 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
339 }
340 else
341 {
342 if ($boolNavStartParams && 0 < $intTopCount)
343 {
344 $strSql .= " LIMIT ".$intTopCount;
345 }
346 $dbRes = $DB->Query($strSql);
347 }
348
349 return $dbRes;
350 }
351
360 public static function GetListEx($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
361 {
362 global $DB;
363
364 if (empty($arSelectFields))
365 $arSelectFields = array("ID", "NAME", "BASE", "SORT", "NAME_LANG", "XML_ID", "MODIFIED_BY", "CREATED_BY", "DATE_CREATE", "TIMESTAMP_X");
366
368 "ID" => array("FIELD" => "CG.ID", "TYPE" => "int"),
369 "NAME" => array("FIELD" => "CG.NAME", "TYPE" => "string"),
370 "BASE" => array("FIELD" => "CG.BASE", "TYPE" => "char"),
371 "SORT" => array("FIELD" => "CG.SORT", "TYPE" => "int"),
372 "XML_ID" => array("FIELD" => "CG.XML_ID", "TYPE" => "string"),
373 "TIMESTAMP_X" => array("FIELD" => "CG.TIMESTAMP_X", "TYPE" => "datetime"),
374 "MODIFIED_BY" => array("FIELD" => "CG.MODIFIED_BY", "TYPE" => "int"),
375 "DATE_CREATE" => array("FIELD" => "CG.DATE_CREATE", "TYPE" => "datetime"),
376 "CREATED_BY" => array("FIELD" => "CG.CREATED_BY", "TYPE" => "int"),
377
378 "GROUP_ID" => array("FIELD" => "CG2G.ID", "TYPE" => "int", "FROM" => "INNER JOIN b_catalog_group2group CG2G ON (CG.ID = CG2G.CATALOG_GROUP_ID)"),
379 "GROUP_CATALOG_GROUP_ID" => array("FIELD" => "CG2G.CATALOG_GROUP_ID", "TYPE" => "int", "FROM" => "INNER JOIN b_catalog_group2group CG2G ON (CG.ID = CG2G.CATALOG_GROUP_ID)"),
380 "GROUP_GROUP_ID" => array("FIELD" => "CG2G.GROUP_ID", "TYPE" => "int", "FROM" => "INNER JOIN b_catalog_group2group CG2G ON (CG.ID = CG2G.CATALOG_GROUP_ID)"),
381 "GROUP_BUY" => array("FIELD" => "CG2G.BUY", "TYPE" => "char", "FROM" => "INNER JOIN b_catalog_group2group CG2G ON (CG.ID = CG2G.CATALOG_GROUP_ID)"),
382
383 "NAME_LANG" => array("FIELD" => "CGL.NAME", "TYPE" => "string", "FROM" => "LEFT JOIN b_catalog_group_lang CGL ON (CG.ID = CGL.CATALOG_GROUP_ID AND CGL.LANG = '".LANGUAGE_ID."')"),
384 );
385
386 $arSqls = CCatalog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
387
388 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
389
390 if (empty($arGroupBy) && is_array($arGroupBy))
391 {
392 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group CG ".$arSqls["FROM"];
393 if (!empty($arSqls["WHERE"]))
394 $strSql .= " WHERE ".$arSqls["WHERE"];
395 if (!empty($arSqls["GROUPBY"]))
396 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
397 if (!empty($arSqls["HAVING"]))
398 $strSql .= " HAVING ".$arSqls["HAVING"];
399
400 $dbRes = $DB->Query($strSql);
401 if ($arRes = $dbRes->Fetch())
402 return $arRes["CNT"];
403 else
404 return false;
405 }
406
407 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group CG ".$arSqls["FROM"];
408 if (!empty($arSqls["WHERE"]))
409 $strSql .= " WHERE ".$arSqls["WHERE"];
410 if (!empty($arSqls["GROUPBY"]))
411 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
412 if (!empty($arSqls["HAVING"]))
413 $strSql .= " HAVING ".$arSqls["HAVING"];
414 if (!empty($arSqls["ORDERBY"]))
415 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
416
417 $intTopCount = 0;
418 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
419 if ($boolNavStartParams && array_key_exists('nTopCount', $arNavStartParams))
420 {
421 $intTopCount = intval($arNavStartParams["nTopCount"]);
422 }
423 if ($boolNavStartParams && 0 >= $intTopCount)
424 {
425 $strSql_tmp = "SELECT COUNT('x') as CNT FROM b_catalog_group CG ".$arSqls["FROM"];
426 if (!empty($arSqls["WHERE"]))
427 $strSql_tmp .= " WHERE ".$arSqls["WHERE"];
428 if (!empty($arSqls["GROUPBY"]))
429 $strSql_tmp .= " GROUP BY ".$arSqls["GROUPBY"];
430 if (!empty($arSqls["HAVING"]))
431 $strSql_tmp .= " HAVING ".$arSqls["HAVING"];
432
433 $dbRes = $DB->Query($strSql_tmp);
434 $cnt = 0;
435 if (empty($arSqls["GROUPBY"]))
436 {
437 if ($arRes = $dbRes->Fetch())
438 $cnt = $arRes["CNT"];
439 }
440 else
441 {
442 $cnt = $dbRes->SelectedRowsCount();
443 }
444
445 $dbRes = new CDBResult();
446
447 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
448 }
449 else
450 {
451 if ($boolNavStartParams && 0 < $intTopCount)
452 {
453 $strSql .= " LIMIT ".$intTopCount;
454 }
455 $dbRes = $DB->Query($strSql);
456 }
457
458 return $dbRes;
459 }
460
461 public static function GetGroupsList($arFilter = array())
462 {
463 global $DB;
464
466 "ID" => array("FIELD" => "CGG.ID", "TYPE" => "int"),
467 "CATALOG_GROUP_ID" => array("FIELD" => "CGG.CATALOG_GROUP_ID", "TYPE" => "int"),
468 "GROUP_ID" => array("FIELD" => "CGG.GROUP_ID", "TYPE" => "int"),
469 "BUY" => array("FIELD" => "CGG.BUY", "TYPE" => "char")
470 );
471
472 $arSqls = CCatalog::PrepareSql($arFields, array(), $arFilter, false, array());
473
474 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
475
476 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group2group CGG ".$arSqls["FROM"];
477 if (!empty($arSqls["WHERE"]))
478 $strSql .= " WHERE ".$arSqls["WHERE"];
479 if (!empty($arSqls["GROUPBY"]))
480 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
481 if (!empty($arSqls["ORDERBY"]))
482 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
483
484 return $DB->Query($strSql);
485 }
486
487 public static function GetLangList($arFilter = array())
488 {
489 global $DB;
490
492 "ID" => array("FIELD" => "CGL.ID", "TYPE" => "int"),
493 "CATALOG_GROUP_ID" => array("FIELD" => "CGL.CATALOG_GROUP_ID", "TYPE" => "int"),
494 "LID" => array("FIELD" => "CGL.LANG", "TYPE" => "string"),
495 "LANG" => array("FIELD" => "CGL.LANG", "TYPE" => "string"),
496 "NAME" => array("FIELD" => "CGL.NAME", "TYPE" => "string")
497 );
498
499 $arSqls = CCatalog::PrepareSql($arFields, array(), $arFilter, false, array());
500
501 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
502
503 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_group_lang CGL ".$arSqls["FROM"];
504 if (!empty($arSqls["WHERE"]))
505 $strSql .= " WHERE ".$arSqls["WHERE"];
506 if (!empty($arSqls["GROUPBY"]))
507 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
508 if (!empty($arSqls["ORDERBY"]))
509 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
510
511 return $DB->Query($strSql);
512 }
513
514 protected static function clearBaseGroupFlag(?int $id, array $fields): void
515 {
516 global $DB;
517
518 $data = [
519 'BASE' => 'N',
520 '~TIMESTAMP_X' => $DB->GetNowFunction(),
521 ];
522 if (isset($fields['MODIFIED_BY']))
523 {
524 $data['MODIFIED_BY'] = $fields['MODIFIED_BY'];
525 }
526
527 $parsedData = $DB->PrepareUpdate('b_catalog_group', $data);
528
529 $query = 'UPDATE b_catalog_group SET '.$parsedData.' WHERE ';
530 $query .= $id !== null ? 'ID != '.$id.' and BASE = \'Y\'' : 'BASE = \'Y\'';
531 $DB->Query($query);
532
535 self::$arBaseGroupCache = [];
536 if (defined('CATALOG_GLOBAL_VARS') && 'Y' == CATALOG_GLOBAL_VARS)
537 {
539 global $CATALOG_BASE_GROUP;
540 $CATALOG_BASE_GROUP = self::$arBaseGroupCache;
541 }
542 }
543}
global $APPLICATION
Определения include.php:80
static clearSettings()
Определения price.php:762
static deleteByPriceType(string|int $priceType)
Определения rounding.php:421
static cleanCache()
Определения datamanager.php:1983
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:389
static _PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:819
static IsUserExists()
Определения catalog.php:1812
Определения cataloggroup.php:8
static clearBaseGroupFlag(?int $id, array $fields)
Определения cataloggroup.php:514
static Delete($ID)
Определения cataloggroup.php:163
static GetGroupsList($arFilter=array())
Определения cataloggroup.php:461
static Add($arFields)
Определения cataloggroup.php:9
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения cataloggroup.php:218
static GetListEx($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения cataloggroup.php:360
static GetLangList($arFilter=array())
Определения cataloggroup.php:487
static Update($ID, $arFields)
Определения cataloggroup.php:82
global $CACHE_MANAGER
Определения clear_component_cache.php:7
$arFields
Определения dblapprove.php:5
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$query
Определения get_search.php:11
if($ajaxMode) $ID
Определения get_user.php:27
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
global $USER
Определения csv_new_run.php:40
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if(empty($signedUserToken)) $key
Определения quickway.php:257
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168
$fields
Определения yandex_run.php:501