Loc::getMessage( 'SALE_LOCATION_ADMIN_SEARCH_HELPER_ENTITY_INVALID_SINDEX', array('#ANCHOR_INDEX_RESTORE#' => '', "#ANCHOR_END#" => '') ), 'type' => 'ERROR', 'HTML' => true)); } public static function checkIndexValid() { return Option::get('sale', self::INDEX_VALID_OPT, '', '') != 'N'; } public static function setIndexValid() { Option::set('sale', self::INDEX_VALID_OPT, 'Y', ''); } public static function setIndexInvalid() { Option::set('sale', self::INDEX_VALID_OPT, 'N', ''); } protected static function showDBIndexNotification() { \CAdminMessage::ShowMessage(array('MESSAGE' => Loc::getMessage( 'SALE_LOCATION_ADMIN_SEARCH_HELPER_ENTITY_INVALID_DBINDEX', array('#ANCHOR_INDEX_RESTORE#' => '', "#ANCHOR_END#" => '') ), 'type' => 'ERROR', 'HTML' => true)); } public static function checkIndexesValid() { if(!Finder::checkIndexValid()) static::showSearchNotification(); $cnt = static::getCounter(); if($cnt > static::HITS_BETWEEN_RECHECKS || !static::checkIndexValid()) { $allOk = true; $map = ImportProcess::getIndexMap(); if(is_array($map)) { foreach($map as $ixName => $ixInfo) { if(!$ixInfo['DROP_ONLY'] && !DB\Helper::checkIndexNameExists($ixName, $ixInfo['TABLE'])) { $allOk = false; break; } } } else $allOk = false; if($allOk) static::setIndexValid(); else static::setIndexInvalid(); static::setCounter(0); } else static::setCounter($cnt + 1); if(!static::checkIndexValid()) static::showDBIndexNotification(); } }