public function importXMLData() { if (!$this->_bIBlockSelected) { return false; } $bTypeSuccess = $this->createIBlockType(); if (!$bTypeSuccess) { return false; } if (!$this->deleteOldIBlockData()) { return false; } // Это если мы реинсталлируем данные инфоблоков if ($this->_iblockID == 0) { $arFields = Tools::arrayMergeRecursiveDistinct(self::$_arDefaultIBlockFields, $this->_arConfig['IBLOCK'][$this->_iblockCode]); $arPermissions = $arFields['PERMISSIONS']; $dbGroup = \CGroup::GetList($by = "", $order = "", array("STRING_ID" => "content_editor")); if ($arGroup = $dbGroup->Fetch()) { $arPermissions[$arGroup["ID"]] = 'W'; } unset($arFields['IBLOCK_TYPE_ID']); unset($arFields['XML_FILE']); unset($arFields['FORM_SETTINGS']); unset($arFields['PERMISSIONS']); $arFields['CODE'] = $this->_iblockCode; $arFields['LID'] = WIZARD_SITE_ID; $this->_iblockID = \WizardServices::ImportIBlockFromXML($this->_iblockXMLFile, $this->_iblockCode, $this->_iblockType, WIZARD_SITE_ID, $arPermissions); if ($this->_iblockID < 1) { die('Error importing xml-data:' . "<br /> \n" . 'xml file: "' . htmlspecialchars($this->_iblockXMLFile) . '"' . ",<br /> \n" . 'iblock code: "' . htmlspecialchars($this->_iblockCode) . '"' . ",<br /> \n" . 'iblock type: "' . htmlspecialchars($this->_iblockType) . '"'); } $iblock = new \CIBlock(); $iblock->Update($this->_iblockID, $arFields); } else { $arSites = self::getIBlockSites($this->_iblockID); if (!in_array(WIZARD_SITE_ID, $arSites)) { $arSites[] = WIZARD_SITE_ID; $iblock = new \CIBlock(); $iblock->Update($this->_iblockID, array("LID" => $arSites)); } } }