foreach (GetModuleEvents("catalog", "OnBeforeCatalogImport1C", true) as $arEvent) { $strError = ExecuteModuleEventEx($arEvent, array($arParams, $ABS_FILE_NAME)); } } else { $strError = GetMessage("CC_BSC1_TABLE_CREATE_ERROR"); } } elseif ($NS["STEP"] == 2) { $fp = fopen($ABS_FILE_NAME, "rb"); $total = filesize($ABS_FILE_NAME); if ($total > 0 && is_resource($fp)) { $obXMLFile = new CIBlockXMLFile(); if ($obXMLFile->ReadXMLToDatabase($fp, $NS, $arParams["INTERVAL"])) { $NS["STEP"] = 3; $strMessage = GetMessage("CC_BSC1_FILE_READ"); } else { $strMessage = GetMessage("CC_BSC1_FILE_PROGRESS", array("#PERCENT#" => $total > 0 ? round($obXMLFile->GetFilePosition() / $total * 100, 2) : 0)); } fclose($fp); } else { $strError = GetMessage("CC_BSC1_FILE_ERROR"); } } elseif ($NS["STEP"] == 3) { if (CIBlockXMLFile::IndexTemporaryTables()) { $strMessage = GetMessage("CC_BSC1_INDEX_CREATED"); $NS["STEP"] = 4; } else { $strError = GetMessage("CC_BSC1_INDEX_CREATE_ERROR"); } } elseif ($NS["STEP"] == 4) { $obCatalog = new CIBlockCMLImport(); $obCatalog->InitEx($NS, array("files_dir" => $WORK_DIR_NAME, "use_crc" => $arParams["USE_CRC"], "preview" => $preview, "detail" => $detail, "use_offers" => $arParams["USE_OFFERS"], "force_offers" => $arParams["FORCE_OFFERS"], "use_iblock_type_id" => $arParams["USE_IBLOCK_TYPE_ID"], "translit_on_add" => $arParams["TRANSLIT_ON_ADD"], "translit_on_update" => $arParams["TRANSLIT_ON_UPDATE"], "translit_params" => $arTranslitParams, "skip_root_section" => $arParams["SKIP_ROOT_SECTION"], "disable_change_price_name" => $arParams["DISABLE_CHANGE_PRICE_NAME"]));
elseif($NS["STEP"] < 2) echo "<b>".GetMessage("IBLOCK_CML2_TABLES_CREATION")."</b>"; else echo GetMessage("IBLOCK_CML2_TABLES_CREATED"); if($NS["STEP"] < 2) $progressItems[] = GetMessage("IBLOCK_CML2_FILE_READING"); elseif($NS["STEP"] < 3) { if(file_exists($ABS_FILE_NAME)) $file_size = filesize($ABS_FILE_NAME); else $file_size = 0; $progressItems[] = "<b>".GetMessage("IBLOCK_CML2_FILE_PROGRESS2")."</b><br>#PROGRESS_BAR#"; $progressTotal = $file_size; $progressValue = $obXMLFile->GetFilePosition(); } else $progressItems[] = GetMessage("IBLOCK_CML2_FILE_READ"); if($NS["STEP"] < 3) $progressItems[] = GetMessage("IBLOCK_CML2_INDEX_CREATION"); elseif($NS["STEP"] < 4) $progressItems[] = "<b>".GetMessage("IBLOCK_CML2_INDEX_CREATION")."</b>"; else $progressItems[] = GetMessage("IBLOCK_CML2_INDEX_CREATED"); if($NS["STEP"] < 4) $progressItems[] = GetMessage("IBLOCK_CML2_METADATA"); elseif($NS["STEP"] < 5) $progressItems[] = "<b>".GetMessage("IBLOCK_CML2_METADATA")."</b>";