1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
CurrencyLangKZStepper.php
См. документацию.
1<?php
2
4
11
13{
14 private const CURRENCY_LIMIT = 100;
15 private const LANGUAGE_FOR_UPDATE = 'kz';
16
17 protected static $moduleId = 'currency';
18
19 public function execute(array &$option): bool
20 {
21 if (
22 !Loader::includeModule('currency')
23 || !Loader::includeModule('bitrix24')
24 )
25 {
26 return self::FINISH_EXECUTION;
27 }
28
29 $languageTableResult = LanguageTable::getRow([
30 'select' => ['ID'],
31 'filter' => ['=ID' => self::LANGUAGE_FOR_UPDATE],
32 ]);
33 if (!$languageTableResult)
34 {
35 return self::FINISH_EXECUTION;
36 }
37
38 $option['steps'] = (int)($option['steps'] ?? 0);
39 $option['count'] = (int)($option['count'] ?? CurrencyTable::getCount());
40
41 $currencyIterator = CurrencyTable::getList([
42 'select' => ['CURRENCY'],
43 'offset' => $option['steps'],
44 'limit' => self::CURRENCY_LIMIT,
45 'order' => ['CURRENCY' => 'ASC'],
46 ]);
47 while ($currency = $currencyIterator->fetch())
48 {
49 $option['steps']++;
50
51 $currencyLangData = CurrencyLangTable::getRow(
52 [
53 'select' => ['CURRENCY', 'LID'],
54 'filter' => [
55 '=CURRENCY' => $currency['CURRENCY'],
56 '=LID' => self::LANGUAGE_FOR_UPDATE,
57 ],
58 ],
59 );
60 if ($currencyLangData)
61 {
62 continue;
63 }
64
65 $currencyClassifierData = CurrencyClassifier::getCurrency(
66 $currency['CURRENCY'],
67 [self::LANGUAGE_FOR_UPDATE]
68 );
69 if (!$currencyClassifierData)
70 {
71 continue;
72 }
73 $languageData = $currencyClassifierData[mb_strtoupper(self::LANGUAGE_FOR_UPDATE)];
74
75 $datetimeEntity = new \Bitrix\Main\DB\SqlExpression(
76 \Bitrix\Main\Application::getConnection()->getSqlHelper()->getCurrentDateTimeFunction()
77 );
79 'CURRENCY' => $currency['CURRENCY'],
80 'LID' => self::LANGUAGE_FOR_UPDATE,
81 'FORMAT_STRING' => str_replace('#VALUE#', '#', $languageData['FORMAT_STRING']),
82 'FULL_NAME' => $languageData['FULL_NAME'],
83 'DEC_POINT' => $languageData['DEC_POINT'],
84 'THOUSANDS_SEP' => null,
85 'DECIMALS' => $languageData['DECIMALS'],
86 'THOUSANDS_VARIANT' => $languageData['THOUSANDS_VARIANT'],
87 'HIDE_ZERO' => 'Y',
88 'CREATED_BY' => null,
89 'DATE_CREATE' => $datetimeEntity,
90 'MODIFIED_BY' => null,
91 'TIMESTAMP_X' => $datetimeEntity,
92 ]);
94 }
95
96 return $option['steps'] < $option['count'] ? self::CONTINUE_EXECUTION : self::FINISH_EXECUTION;
97 }
98}
static getCurrency(string $currency, array $languages, ?string $b24Area=null)
Определения currencyclassifier.php:39
static clearCurrencyCache($language='')
Определения currencymanager.php:416
Определения loader.php:13
static getRow(array $parameters)
Определения datamanager.php:398
static getList(array $parameters=array())
Определения datamanager.php:431
static getCount($filter=array(), array $cache=array())
Определения datamanager.php:516
static add(array $data)
Определения datamanager.php:877
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$currency
Определения template.php:266
$option
Определения options.php:1711