Language name search: Avoid searching for very long search keys

Such searches are not useful and unnecessarily creates processing load.

The length limit 100 should cover the longest language names.

Bug: T293749
Change-Id: Ide32704cca578b9aecbce34bdcc0ac25c2a09a4d
This commit is contained in:
Santhosh Thottingal
2021-10-20 15:48:11 +05:30
committed by jenkins-bot
parent a31ad3e783
commit 613b8ae5ba

View File

@@ -41,6 +41,11 @@ class LanguageNameSearch {
$results = []; $results = [];
$searchKey = mb_strtolower( $searchKey ); $searchKey = mb_strtolower( $searchKey );
if ( mb_strlen( $searchKey ) > 100 ) {
// Searching with long search keys for language names is not useful. So, return early.
return [];
}
// Always prefer exact language code match // Always prefer exact language code match
if ( Language::isKnownLanguageTag( $searchKey ) ) { if ( Language::isKnownLanguageTag( $searchKey ) ) {
$name = mb_strtolower( Language::fetchLanguageName( $searchKey, $userLanguage ) ); $name = mb_strtolower( Language::fetchLanguageName( $searchKey, $userLanguage ) );