if ($isAllDigits) { $d = Definition::get_by_id($cuv); if ($d) { util_redirect(util_getWwwRoot() . "definitie/{$d->lexicon}/{$d->id}" . ($xml ? '/xml' : '')); } } if ($text) { $searchType = SEARCH_FULL_TEXT; if (Lock::exists(LOCK_FULL_TEXT_INDEX)) { smarty_assign('lockExists', true); $definitions = array(); } else { $words = preg_split('/ +/', $cuv); list($properWords, $stopWords) = StringUtil::separateStopWords($words, $hasDiacritics); smarty_assign('stopWords', $stopWords); $defIds = Definition::searchFullText($properWords, $hasDiacritics); smarty_assign('numResults', count($defIds)); // Show at most 50 definitions; $defIds = array_slice($defIds, 0, 500); // Load definitions in the given order $definitions = array(); foreach ($defIds as $id) { if ($res = Definition::get_by_id($id)) { $definitions[] = $res; } } if (!count($defIds)) { FlashMessage::add('Nicio definiție nu conține toate cuvintele căutate.'); } } $searchResults = SearchResult::mapDefinitionArray($definitions);
$isAllDigits = $arr[2]; } if ($isAllDigits) { $d = Definition::get_by_id($cuv); if ($d) { util_redirect(util_getWwwRoot() . "definitie/{$d->lexicon}/{$d->id}" . ($xml ? '/xml' : '')); } } if ($text) { $searchType = SEARCH_FULL_TEXT; if (Lock::exists(LOCK_FULL_TEXT_INDEX)) { SmartyWrap::assign('lockExists', true); $definitions = array(); } else { $words = preg_split('/ +/', $cuv); list($defIds, $stopWords) = Definition::searchFullText($words, $hasDiacritics, $sourceId); SmartyWrap::assign('numResults', count($defIds)); SmartyWrap::assign('stopWords', $stopWords); // Show at most 500 definitions; $defIds = array_slice($defIds, 0, LIMIT_FULLTEXT_DISPLAY); // Load definitions in the given order $definitions = array(); foreach ($defIds as $id) { $definitions[] = Definition::get_by_id($id); } if (!count($defIds)) { FlashMessage::add('Nicio definiție nu conține toate cuvintele căutate.'); } Definition::highlight($words, $definitions); } $searchResults = SearchResult::mapDefinitionArray($definitions);