Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/yandex.market/lib/export/entity/formula/ |
Upload File : |
<?php namespace Yandex\Market\Export\Entity\Formula; use Bitrix\Main; use Bitrix\Iblock; use Yandex\Market; Main\Localization\Loc::loadMessages(__FILE__); class Source extends Market\Export\Entity\Template\Source implements Market\Export\Entity\Reference\HasFunctions, Market\Export\Entity\Reference\HasFieldCompilation { public function isTemplate() { return true; } public function getControl() { return Market\Export\Entity\Manager::CONTROL_FORMULA; } public function getFunctions(array $context = []) { $result = []; foreach (Market\Template\Functions\Registry::getTypes() as $type) { $function = Market\Template\Functions\Registry::createInstance($type); if ($function instanceof Market\Template\Functions\HasConfiguration) { $result[] = [ 'ID' => $type, 'VALUE' => $function->getTitle(), 'MULTIPLE' => $function->isMultiple(), ]; } } return $result; } public function compileField($field) { if (!empty($field['FUNCTION']) && !empty($field['PARTS'])) { $result = sprintf( '{=%s %s}', $field['FUNCTION'], implode(' ', (array)$field['PARTS']) ); } else { $result = null; } return $result; } public function parseField($compiledField) { $result = null; if (preg_match('/{=(\w+) (.*?)}/', $compiledField, $matches)) { list(, $function, $partsImploded) = $matches; $parts = explode(' ', $partsImploded); $result = [ 'FUNCTION' => $function, 'PARTS' => $parts, ]; } return $result; } protected function getLangPrefix() { return 'FORMULA_'; } }