check(ActionDictionary::ACTION_PRICE_EDIT)) { require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php'); ShowError(Loc::getMessage('BX_CATALOG_REINDEX_ACCESS_DENIED')); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php'); die(); } if (!check_bitrix_sessid()) { require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php'); ShowError(Loc::getMessage('BX_CATALOG_REINDEX_ERRORS_INCORRECT_SESSION')); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php'); die(); } $request = Main\Context::getCurrent()->getRequest(); if ( $request->getRequestMethod() == 'GET' && $request['operation'] == 'Y' ) { CUtil::JSPostUnescape(); $params = array( 'sessID' => $request['ajaxSessionID'], 'maxExecutionTime' => $request['maxExecutionTime'], 'maxOperationCounter' => $request['maxOperationCounter'], 'counter' => $request['counter'], 'operationCounter' => $request['operationCounter'], 'lastID' => $request['lastID'], 'IBLOCK_ID' => $request['iblockId'] ); $catalogReindex = new CCatalogIblockReindex( $params['sessID'], $params['maxExecutionTime'], $params['maxOperationCounter'] ); $catalogReindex->initStep($params['counter'], $params['operationCounter'], $params['lastID']); $catalogReindex->setParams($params); $catalogReindex->run(); $result = $catalogReindex->saveStep(); header('Content-Type: application/x-javascript; charset='.LANG_CHARSET); echo CUtil::PhpToJSObject($result, false, true); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php'); } elseif ( $request->getRequestMethod() == 'GET' && $request['getIblock'] == 'Y' ) { $result = CCatalogIblockReindex::getIblockList($request['iblock']); header('Content-Type: application/x-javascript; charset='.LANG_CHARSET); echo CUtil::PhpToJSObject($result, false, true); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php'); } elseif ( $request->getRequestMethod() == 'GET' && $request['finalRequest'] == 'Y' ) { $iblockList = $request['iblockList']; if (!empty($iblockList) && is_array($iblockList)) { foreach ($iblockList as &$iblock) CIBlock::clearIblockTagCache($iblock); unset($iblock); } $emptyAvailable = Catalog\ProductTable::getList(array( 'select' => array('ID', 'AVAILABLE'), 'filter' => array('=AVAILABLE' => null), 'limit' => 1 ))->fetch(); if (empty($emptyAvailable)) \CCatalogIblockReindex::removeNotify(); unset($emptyAvailable); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php'); } else { $APPLICATION->SetTitle(Loc::getMessage('BX_CATALOG_REINDEX_PAGE_TITLE')); $oneStepTime = CCatalogIblockReindex::getDefaultExecutionTime(); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php'); $tabList = array( array('DIV' => 'catalogReindexTab01', 'TAB' => Loc::getMessage('BX_CATALOG_REINDEX_TAB'), 'ICON' => 'sale', 'TITLE' => Loc::getMessage('BX_CATALOG_REINDEX_TAB_TITLE')) ); $tabControl = new CAdminTabControl('catalogReindex', $tabList, true, true); Main\Page\Asset::getInstance()->addJs('/bitrix/js/catalog/step_operations.js'); ?>
Begin(); $tabControl->BeginNextTab(); ?> array('IBLOCK_ID'), 'filter' => array('=PRODUCT_IBLOCK_ID' => 0) )); while ($catalog = $catalogIterator->fetch()) { $catalog['IBLOCK_ID'] = (int)$catalog['IBLOCK_ID']; $catalogList[$catalog['IBLOCK_ID']] = $catalog['IBLOCK_ID']; } unset($catalog, $catalogIterator); $catalogIterator = Catalog\CatalogIblockTable::getList(array( 'select' => array('PRODUCT_IBLOCK_ID'), 'filter' => array('>PRODUCT_IBLOCK_ID' => 0) )); while ($catalog = $catalogIterator->fetch()) { $catalog['PRODUCT_IBLOCK_ID'] = (int)$catalog['PRODUCT_IBLOCK_ID']; $catalogList[$catalog['PRODUCT_IBLOCK_ID']] = $catalog['PRODUCT_IBLOCK_ID']; } unset($catalog, $catalogIterator); if (!empty($catalogList)) echo GetIBlockDropDownList(0, 'catalog_reindex_iblock_type', 'catalog_reindex_iblock_id', array('ID' => $catalogList)); unset($catalogList); ?> Buttons(); ?> End(); ?>
$APPLICATION->GetCurPage(), 'options' => array( 'ajaxSessionID' => 'catalogReindex', 'maxExecutionTime' => $oneStepTime, 'maxOperationCounter' => 10, 'counter' => 0 ), 'visual' => array( 'startBtnID' => 'catalog_reindex_start_button', 'stopBtnID' => 'catalog_reindex_stop_button', 'catalogSelectID' => 'catalog_reindex_iblock_id', 'timeFieldID' => 'max_execution_time', 'reportID' => 'reindexReport', 'prefix' => 'catalog_reindex_iblock_', 'resultContID' => 'catalog_reindex_result_div_', 'errorContID' => 'catalog_reindex_error_cont_', 'errorDivID' => 'catalog_reindex_error_div_' ), 'ajaxParams' => array( 'operation' => 'Y' ) ); ?>