1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
currency.php
См. документацию.
1<?php
2
7
9{
10 protected static array $currencyCache = [];
11
12/*
13* @deprecated deprecated since currency 9.0.0
14* @see CCurrency::GetByID()
15*/
16 public static function GetCurrency($currency)
17 {
19 }
20
21 public static function CheckFields($ACTION, &$arFields, $strCurrencyID = false)
22 {
23 global $APPLICATION, $DB, $USER;
24
25 $arMsg = [];
26
27 $ACTION = mb_strtoupper($ACTION);
28 if ($ACTION !== 'UPDATE' && $ACTION !== 'ADD')
29 {
30 return false;
31 }
32 if (!is_array($arFields))
33 {
34 return false;
35 }
36
38 'SORT' => 100,
39 'BASE' => 'N',
40 ];
41
42 $whiteList = [
43 'CURRENCY' => true,
44 'AMOUNT_CNT' => true,
45 'AMOUNT' => true,
46 'SORT' => true,
47 'NUMCODE' => true,
48 'BASE' => true,
49 'MODIFIED_BY' => true,
50 // external keys
51 'LANG' => true,
52 ];
53 if ($ACTION === 'ADD')
54 {
55 $whiteList['CREATED_BY'] = true;
56 }
57
58 $arFields = array_filter($arFields, [__CLASS__, 'clearFields']);
59 $arFields = array_intersect_key($arFields, $whiteList);
60 if (empty($arFields))
61 {
62 return false;
63 }
64
65 if ($ACTION === 'ADD')
66 {
67 $arFields = array_merge($defaultValues, $arFields);
68 if (!isset($arFields['CURRENCY']))
69 {
70 $arMsg[] = [
71 'id' => 'CURRENCY',
72 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_CUR_ID_ABSENT'),
73 ];
74 }
75 elseif (!preg_match("~^[a-z]{3}$~i", $arFields['CURRENCY']))
76 {
77 $arMsg[] = [
78 'id' => 'CURRENCY',
79 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_CUR_ID_LAT_EXT'),
80 ];
81 }
82 else
83 {
84 $arFields['CURRENCY'] = mb_strtoupper($arFields['CURRENCY']);
85 $currencyExist = Currency\CurrencyTable::getRow([
86 'select' => ['CURRENCY'],
87 'filter' => ['=CURRENCY' => $arFields['CURRENCY']],
88 ]);
89 if (!empty($currencyExist))
90 {
91 $arMsg[] = [
92 'id' => 'CURRENCY',
93 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_CUR_ID_EXISTS'),
94 ];
95 }
96 unset($currencyExist);
97 }
98
99 if (!isset($arFields['AMOUNT_CNT']))
100 {
101 $arMsg[] = [
102 'id' => 'AMOUNT_CNT',
103 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_AMOUNT_CNT_ABSENT'),
104 ];
105 }
106
107 if (!isset($arFields['AMOUNT']))
108 {
109 $arMsg[] = [
110 'id' => 'AMOUNT',
111 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_AMOUNT_ABSENT'),
112 ];
113 }
114 }
115
116 if ($ACTION === 'UPDATE')
117 {
118 $strCurrencyID = Currency\CurrencyManager::checkCurrencyID($strCurrencyID);
119 if ($strCurrencyID === false)
120 {
121 $arMsg[] = [
122 'id' => 'CURRENCY',
123 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_CUR_ID_BAD'),
124 ];
125 }
127 'select' => ['*'],
128 'filter' => ['=CURRENCY' => $strCurrencyID],
129 ]);
130 if (($row['BASE'] ?? 'N') === 'Y')
131 {
132 if (isset($arFields['AMOUNT_CNT']))
133 {
134 $arFields['AMOUNT_CNT'] = (int)$arFields['AMOUNT_CNT'];
135 if ($arFields['AMOUNT_CNT'] !== 1)
136 {
137 $arMsg[] = [
138 'id' => 'AMOUNT_CNT',
139 'text' => Loc::getMessage('BX_CURRENCY_ERR_CURR_BASE_AMOUNT_CNT_BAD'),
140 ];
141 }
142 }
143 if (isset($arFields['AMOUNT']))
144 {
145 $arFields['AMOUNT'] = (float)$arFields['AMOUNT'];
146 if ($arFields['AMOUNT'] !== 1.0)
147 {
148 $arMsg[] = [
149 'id' => 'AMOUNT',
150 'text' => Loc::getMessage('BX_CURRENCY_ERR_CURR_BASE_AMOUNT_BAD'),
151 ];
152 }
153 }
154 }
155 unset($row);
156 }
157
158 if (empty($arMsg))
159 {
160 if (isset($arFields['AMOUNT_CNT']))
161 {
162 $arFields['AMOUNT_CNT'] = (int)$arFields['AMOUNT_CNT'];
163 if ($arFields['AMOUNT_CNT'] <= 0)
164 {
165 $arMsg[] = [
166 'id' => 'AMOUNT_CNT',
167 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_AMOUNT_CNT_BAD'),
168 ];
169 }
170 }
171 if (isset($arFields['AMOUNT']))
172 {
173 $arFields['AMOUNT'] = (float)$arFields['AMOUNT'];
174 if ($arFields['AMOUNT'] <= 0)
175 {
176 $arMsg[] = [
177 'id' => 'AMOUNT',
178 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_AMOUNT_BAD'),
179 ];
180 }
181 }
182 if (isset($arFields['SORT']))
183 {
184 $arFields['SORT'] = (int)$arFields['SORT'];
185 if ($arFields['SORT'] <= 0)
186 {
187 $arFields['SORT'] = $defaultValues['SORT'];
188 }
189 }
190 if (isset($arFields['BASE']))
191 {
192 $arFields['BASE'] = ($arFields['BASE'] === 'Y' ? 'Y' : 'N');
193 }
194
195 if (isset($arFields['NUMCODE']))
196 {
197 $arFields['NUMCODE'] = (string)$arFields['NUMCODE'];
198 if ($arFields['NUMCODE'] === '')
199 {
200 unset($arFields['NUMCODE']);
201 }
202 elseif (!preg_match("~^[0-9]{3}$~", $arFields['NUMCODE']))
203 {
204 $arMsg[] = [
205 'id' => 'NUMCODE',
206 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_NUMCODE_IS_BAD'),
207 ];
208 }
209 }
210 }
211
212 $boolUserExist = self::isUserExists();
213 $intUserID = ($boolUserExist ? (int)$USER->GetID() : 0);
214
215 $arFields['~DATE_UPDATE'] = $DB->GetNowFunction();
216 $arFields['MODIFIED_BY'] = (int)($arFields['MODIFIED_BY'] ?? $intUserID);
217 if ($arFields['MODIFIED_BY'] < 0)
218 {
219 $arFields['MODIFIED_BY'] = $intUserID;
220 }
221
222 if ($ACTION === 'ADD')
223 {
224 $arFields['~DATE_CREATE'] = $arFields['~DATE_UPDATE'];
225 $arFields['CREATED_BY'] = (int)($arFields['CREATED_BY'] ?? $intUserID);
226 if ($arFields['CREATED_BY'] < 0)
227 {
228 $arFields['CREATED_BY'] = $intUserID;
229 }
230 }
231
232 if (isset($arFields['LANG']))
233 {
234 if (empty($arFields['LANG']) || !is_array($arFields['LANG']))
235 {
236 $arMsg[] = [
237 'id' => 'LANG',
238 'text' => Loc::getMessage('BT_MOD_CURR_ERR_CURR_LANG_BAD'),
239 ];
240 }
241 else
242 {
243 $langSettings = [];
244 $currency = ($ACTION === 'ADD' ? $arFields['CURRENCY'] : $strCurrencyID);
245 foreach ($arFields['LANG'] as $lang => $settings)
246 {
247 if (empty($settings) || !is_array($settings))
248 {
249 continue;
250 }
251 $langAction = (CCurrencyLang::isExistCurrencyLanguage($currency, $lang) ? 'UPDATE' : 'ADD');
252 $checkLang = CCurrencyLang::checkFields($langAction, $settings, $currency, $lang, true);
253 $settings['CURRENCY'] = $currency;
254 $settings['LID'] = $lang;
255 $settings['IS_EXIST'] = ($langAction === 'ADD' ? 'N' : 'Y');
256 $langSettings[$lang] = $settings;
257 if (is_array($checkLang))
258 {
259 $arMsg = array_merge($arMsg, $checkLang);
260 }
261 }
262 $arFields['LANG'] = $langSettings;
263 unset($settings, $lang, $currency, $langSettings);
264 }
265 }
266
267 if (!empty($arMsg))
268 {
269 $obError = new CAdminException($arMsg);
270 $APPLICATION->ResetException();
271 $APPLICATION->ThrowException($obError);
272
273 return false;
274 }
275
276 return true;
277 }
278
279 public static function Add($arFields)
280 {
281 global $DB;
282
283 foreach (GetModuleEvents("currency", "OnBeforeCurrencyAdd", true) as $arEvent)
284 {
285 if (ExecuteModuleEventEx($arEvent, [&$arFields]) === false)
286 {
287 return false;
288 }
289 }
290
292 {
293 return false;
294 }
295
296 $arInsert = $DB->PrepareInsert('b_catalog_currency', $arFields);
297
298 $strSql = "insert into b_catalog_currency(".$arInsert[0].") values(".$arInsert[1].")";
299 $DB->Query($strSql);
300
301 if (isset($arFields['LANG']))
302 {
303 foreach ($arFields['LANG'] as $lang => $settings)
304 {
305 if ($settings['IS_EXIST'] === 'N')
306 {
307 CCurrencyLang::Add($settings);
308 }
309 else
310 {
311 CCurrencyLang::Update($arFields['CURRENCY'], $lang, $settings);
312 }
313 }
314 unset($settings, $lang);
315 }
316
320
321 foreach (GetModuleEvents('currency', 'OnCurrencyAdd', true) as $arEvent)
322 {
323 ExecuteModuleEventEx($arEvent, [$arFields['CURRENCY'], $arFields]);
324 }
325
326 if (isset(self::$currencyCache[$arFields['CURRENCY']]))
327 {
328 unset(self::$currencyCache[$arFields['CURRENCY']]);
329 }
330
331 return $arFields['CURRENCY'];
332 }
333
334 public static function Update($currency, $arFields)
335 {
336 global $DB;
337
338 foreach (GetModuleEvents('currency', 'OnBeforeCurrencyUpdate', true) as $arEvent)
339 {
340 if (ExecuteModuleEventEx($arEvent, [$currency, &$arFields]) === false)
341 {
342 return false;
343 }
344 }
345
348 {
349 return false;
350 }
351
352 $strUpdate = $DB->PrepareUpdate('b_catalog_currency', $arFields);
353 if (!empty($strUpdate))
354 {
355 $strSql = "update b_catalog_currency set ".$strUpdate." where CURRENCY = '".$DB->ForSql($currency)."'";
356 $DB->Query($strSql);
357
360 if (isset(self::$currencyCache[$currency]))
361 {
362 unset(self::$currencyCache[$currency]);
363 }
364 }
365 if (isset($arFields['LANG']))
366 {
367 foreach ($arFields['LANG'] as $lang => $settings)
368 {
369 if ($settings['IS_EXIST'] === 'N')
370 {
371 CCurrencyLang::Add($settings);
372 }
373 else
374 {
375 CCurrencyLang::Update($currency, $lang, $settings);
376 }
377 }
378 unset($settings, $lang);
379 }
380 if (!empty($strUpdate) || isset($arFields['LANG']))
381 {
383 }
385
386 foreach (GetModuleEvents('currency', 'OnCurrencyUpdate', true) as $arEvent)
387 {
389 }
390
391 return $currency;
392 }
393
394 public static function Delete($currency)
395 {
397 if ($currency === false)
398 {
399 return false;
400 }
401
402 foreach (GetModuleEvents('currency', 'OnBeforeCurrencyDelete', true) as $arEvent)
403 {
404 if (ExecuteModuleEventEx($arEvent, array($currency)) === false)
405 {
406 return false;
407 }
408 }
409
410 $existCurrency = Currency\CurrencyTable::getRow([
411 'select' => [
412 'CURRENCY',
413 'BASE',
414 ],
415 'filter' => [
416 '=CURRENCY' => $currency,
417 ],
418 ]);
419
420 if ($existCurrency === null)
421 {
422 return false;
423 }
424 if ($existCurrency['BASE'] === 'Y')
425 {
426 return false;
427 }
428
429 foreach (GetModuleEvents('currency', 'OnCurrencyDelete', true) as $arEvent)
430 {
432 }
433
435 $success = $result->isSuccess();
436
437 if ($success)
438 {
439 if (isset(self::$currencyCache[$currency]))
440 {
441 unset(self::$currencyCache[$currency]);
442 }
445
448 }
449
450 return $success;
451 }
452
453 public static function GetByID($currency)
454 {
456 if ($currency === false)
457 return false;
458
459 if (!isset(self::$currencyCache[$currency]))
460 {
461 self::$currencyCache[$currency] = false;
462 $currencyIterator = Currency\CurrencyTable::getById($currency);
463 if ($currencyData = $currencyIterator->fetch())
464 {
465 $currencyData['DATE_UPDATE_FORMAT'] = (
466 $currencyData['DATE_UPDATE'] instanceof Main\Type\DateTime
467 ? $currencyData['DATE_UPDATE']->toString()
468 : null
469 );
470 $currencyData['DATE_CREATE_FORMAT'] = (
471 $currencyData['DATE_CREATE'] instanceof Main\Type\DateTime
472 ? $currencyData['DATE_CREATE']->toString()
473 : null
474 );
475 unset($currencyData['DATE_UPDATE'], $currencyData['DATE_CREATE']);
476 self::$currencyCache[$currency] = $currencyData;
477 }
478 unset($currencyData, $currencyIterator);
479 }
480 return self::$currencyCache[$currency];
481 }
482
489 public static function GetBaseCurrency()
490 {
491 return Currency\CurrencyManager::getBaseCurrency();
492 }
493
494 public static function SetBaseCurrency($currency)
495 {
497 if ($currency === false)
498 return false;
499
500 $existCurrency = Currency\CurrencyTable::getRow([
501 'select' => ['CURRENCY', 'BASE'],
502 'filter' => ['=CURRENCY' => $currency]
503 ]);
504 if (!empty($existCurrency))
505 {
506 if ($existCurrency['BASE'] === 'Y')
507 {
508 return true;
509 }
511 if ($result)
512 {
514 }
515
516 return $result;
517 }
518
519 return false;
520 }
521
522 public static function SelectBox($sFieldName, $sValue, $sDefaultValue = '', $bFullName = true, $JavaFunc = '', $sAdditionalParams = '')
523 {
524 $s = '<select name="'.$sFieldName.'"';
525 if ('' != $JavaFunc) $s .= ' onchange="'.$JavaFunc.'"';
526 if ('' != $sAdditionalParams) $s .= ' '.$sAdditionalParams.' ';
527 $s .= '>';
528 $s1 = '';
529 $found = false;
530
532 if (!empty($currencyList) && is_array($currencyList))
533 {
534 foreach ($currencyList as $currency => $title)
535 {
536 $found = ($currency == $sValue);
537 $s1 .= '<option value="'.$currency.'"'.($found ? ' selected' : '').'>'.($bFullName ? htmlspecialcharsbx($title) : $currency).'</option>';
538 }
539 }
540 if ('' != $sDefaultValue)
541 $s .= '<option value=""'.($found ? '' : ' selected').'>'.htmlspecialcharsbx($sDefaultValue).'</option>';
542 return $s.$s1.'</select>';
543 }
544
554 public static function GetList($by = 'sort', $order = 'asc', $lang = LANGUAGE_ID)
555 {
556 global $CACHE_MANAGER;
557
558 $by = strtolower($by);
559 $order = strtolower($order);
560
561 if (
562 defined("CURRENCY_SKIP_CACHE") && CURRENCY_SKIP_CACHE
563 || $by == "name"
564 || $by == "currency"
565 || $order == "desc"
566 )
567 {
569 $dbCurrencyList = static::__GetList($by, $order, $lang);
570 }
571 else
572 {
573 $cacheTime = (int)CURRENCY_CACHE_DEFAULT_TIME;
574 if (defined("CURRENCY_CACHE_TIME"))
575 $cacheTime = (int)CURRENCY_CACHE_TIME;
576
577 if ($CACHE_MANAGER->Read($cacheTime, "currency_currency_list_".$lang, 'b_catalog_currency'))
578 {
579 $arCurrencyList = $CACHE_MANAGER->Get("currency_currency_list_".$lang);
580 $dbCurrencyList = new CDBResult();
581 $dbCurrencyList->InitFromArray($arCurrencyList);
582 }
583 else
584 {
585 $arCurrencyList = [];
587 $dbCurrencyList = static::__GetList($by, $order, $lang);
588 while ($arCurrency = $dbCurrencyList->Fetch())
589 $arCurrencyList[] = $arCurrency;
590
591 $CACHE_MANAGER->Set("currency_currency_list_".$lang, $arCurrencyList);
592
593 $dbCurrencyList = new CDBResult();
594 $dbCurrencyList->InitFromArray($arCurrencyList);
595 }
596 }
597
598 return $dbCurrencyList;
599 }
600
610 public static function __GetList($by = 'sort', $order = 'asc', $lang = LANGUAGE_ID)
611 {
612 $lang = substr((string)$lang, 0, 2);
613 $normalBy = strtolower($by);
614 if ($normalBy != 'currency' && $normalBy != 'name')
615 {
616 $normalBy = 'sort';
617 }
618 $normalOrder = strtoupper($order);
619 if ($normalOrder != 'DESC')
620 {
621 $normalOrder = 'ASC';
622 }
623 switch($normalBy)
624 {
625 case 'currency':
626 $currencyOrder = array('CURRENCY' => $normalOrder);
627 break;
628 case 'name':
629 $currencyOrder = array('FULL_NAME' => $normalOrder);
630 break;
631 case 'sort':
632 default:
633 $currencyOrder = array('SORT' => $normalOrder);
634 break;
635 }
636 unset($normalOrder, $normalBy);
637
639 $currencyIterator = Currency\CurrencyTable::getList(array(
640 'select' => array(
641 'CURRENCY', 'AMOUNT_CNT', 'AMOUNT', 'SORT', 'BASE', 'NUMCODE', 'CREATED_BY', 'MODIFIED_BY',
642 new Main\Entity\ExpressionField('DATE_UPDATE_FORMAT', $datetimeField, array('DATE_UPDATE'), array('data_type' => 'datetime')),
643 new Main\Entity\ExpressionField('DATE_CREATE_FORMAT', $datetimeField, array('DATE_CREATE'), array('data_type' => 'datetime')),
644 'FULL_NAME' => 'RT_LANG.FULL_NAME', 'LID' => 'RT_LANG.LID', 'FORMAT_STRING' => 'RT_LANG.FORMAT_STRING',
645 'DEC_POINT' => 'RT_LANG.DEC_POINT', 'THOUSANDS_SEP' => 'RT_LANG.THOUSANDS_SEP',
646 'DECIMALS' => 'RT_LANG.DECIMALS', 'HIDE_ZERO' => 'RT_LANG.HIDE_ZERO'
647 ),
648 'order' => $currencyOrder,
649 'runtime' => array(
650 'RT_LANG' => array(
651 'data_type' => 'Bitrix\Currency\CurrencyLang',
652 'reference' => array(
653 '=this.CURRENCY' => 'ref.CURRENCY',
654 '=ref.LID' => new Main\DB\SqlExpression('?', $lang)
655 )
656 )
657 )
658 ));
659 unset($datetimeField);
660 $currencyList = [];
661 while ($currency = $currencyIterator->fetch())
662 {
663 $currency['DATE_UPDATE'] = $currency['DATE_UPDATE_FORMAT'];
664 $currency['DATE_CREATE'] = $currency['DATE_CREATE_FORMAT'];
665 $currencyList[] = $currency;
666 }
667 unset($currency, $currencyIterator);
668 $result = new CDBResult();
669 $result->InitFromArray($currencyList);
670 return $result;
671 }
672
673 public static function isUserExists()
674 {
675 global $USER;
676
677 return (isset($USER) && $USER instanceof CUser);
678 }
679
686 public static function getInstalledCurrencies()
687 {
689 }
690
697 public static function clearCurrencyCache()
698 {
700 }
701
713
714 public static function checkCurrencyID($currency)
715 {
717 }
718
730
737 public static function updateAllCurrencyBaseRate()
738 {
740 }
741
742 public static function initCurrencyBaseRateAgent()
743 {
744 if (!ModuleManager::isModuleInstalled('bitrix24'))
745 {
746 $agentIterator = CAgent::GetList(
747 [],
748 [
749 'MODULE_ID' => 'currency',
750 '=NAME' => '\Bitrix\Currency\CurrencyManager::currencyBaseRateAgent();',
751 ]
752 );
753 if ($agentIterator)
754 {
755 $currencyAgent = $agentIterator->Fetch();
756 if (!$currencyAgent)
757 {
759 $checkDate = Main\Type\DateTime::createFromTimestamp(strtotime('tomorrow 00:01:00'));
760 CAgent::AddAgent(
761 '\Bitrix\Currency\CurrencyManager::currencyBaseRateAgent();',
762 'currency',
763 'Y',
764 86400,
765 '',
766 'Y',
767 $checkDate->toString(),
768 100,
769 false,
770 true
771 );
772 }
773 }
774 }
775
776 return '';
777 }
778
786 protected static function updateBaseCurrency($currency)
787 {
789 }
790
798 protected static function updateBaseRates($currency = '', $updateCurrency = '')
799 {
801 }
802
803 protected static function clearFields($value): bool
804 {
805 return ($value !== null);
806 }
807}
808
810{
811}
global $APPLICATION
Определения include.php:80
static getDatetimeExpressionTemplate()
Определения tools.php:24
static deleteByCurrency(string $currency)
Определения currencylang.php:154
static clearTagCache($currency)
Определения currencymanager.php:458
static clearCurrencyCache($language='')
Определения currencymanager.php:416
static getCurrencyList()
Определения currencymanager.php:109
static updateBaseRates($updateCurrency='')
Определения currencymanager.php:488
static updateBaseCurrency($currency)
Определения currencymanager.php:534
static getInstalledCurrencies()
Определения currencymanager.php:280
static checkCurrencyID($currency)
Определения currencymanager.php:35
static deleteByCurrency(string $currency)
Определения currencyrate.php:122
static isModuleInstalled($moduleName)
Определения modulemanager.php:125
static cleanCache()
Определения datamanager.php:1983
static getRow(array $parameters)
Определения datamanager.php:398
static getById($id)
Определения datamanager.php:364
static getList(array $parameters=array())
Определения datamanager.php:431
static delete($primary)
Определения datamanager.php:1644
static createFromTimestamp($timestamp)
Определения datetime.php:246
toString(Context\Culture $culture=null)
Определения datetime.php:86
Определения currency.php:9
static Update($currency, $arFields)
Определения currency.php:334
static updateAllCurrencyBaseRate()
Определения currency.php:737
static GetList($by='sort', $order='asc', $lang=LANGUAGE_ID)
Определения currency.php:554
static array $currencyCache
Определения currency.php:10
static updateCurrencyBaseRate($currency)
Определения currency.php:726
static updateBaseRates($currency='', $updateCurrency='')
Определения currency.php:798
static clearTagCache($currency)
Определения currency.php:709
static Add($arFields)
Определения currency.php:279
static isUserExists()
Определения currency.php:673
static CheckFields($ACTION, &$arFields, $strCurrencyID=false)
Определения currency.php:21
static SelectBox($sFieldName, $sValue, $sDefaultValue='', $bFullName=true, $JavaFunc='', $sAdditionalParams='')
Определения currency.php:522
static __GetList($by='sort', $order='asc', $lang=LANGUAGE_ID)
Определения currency.php:610
static updateBaseCurrency($currency)
Определения currency.php:786
static GetCurrency($currency)
Определения currency.php:16
static GetByID($currency)
Определения currency.php:453
static getInstalledCurrencies()
Определения currency.php:686
static clearCurrencyCache()
Определения currency.php:697
static Delete($currency)
Определения currency.php:394
static initCurrencyBaseRateAgent()
Определения currency.php:742
static GetBaseCurrency()
Определения currency.php:489
static SetBaseCurrency($currency)
Определения currency.php:494
static clearFields($value)
Определения currency.php:803
static checkCurrencyID($currency)
Определения currency.php:714
Определения currency.php:810
Определения dbresult.php:88
Определения user.php:6037
global $CACHE_MANAGER
Определения clear_component_cache.php:7
const CURRENCY_CACHE_DEFAULT_TIME
Определения include.php:47
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$defaultValues
Определения iblock_catalog_edit.php:124
global $DB
Определения cron_frame.php:29
global $USER
Определения csv_new_run.php:40
$ACTION
Определения csv_new_setup.php:27
$success
Определения mail_entry.php:69
if(!defined('SITE_ID')) $lang
Определения include.php:91
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
Определения arrayresult.php:2
Определения ufield.php:9
$order
Определения payment.php:8
$settings
Определения product_settings.php:43
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$currency
Определения template.php:266
$title
Определения pdf.php:123