MediaWiki REL1_31
|
Handles searching prefixes of titles and finding any page names that match. More...
Public Member Functions | |
defaultSearchBackend ( $namespaces, $search, $limit, $offset) | |
Unless overridden by PrefixSearchBackend hook... This is case-sensitive (First character may be automatically capitalized by Title::secureAndSpit() later on depending on $wgCapitalLinks) | |
search ( $search, $limit, $namespaces=[], $offset=0) | |
Do a prefix search of titles and return a list of matching page names. | |
searchWithVariants ( $search, $limit, array $namespaces, $offset=0) | |
Do a prefix search for all possible variants of the prefix. | |
Static Public Member Functions | |
static | titleSearch ( $search, $limit, $namespaces=[], $offset=0) |
Do a prefix search of titles and return a list of matching page names. | |
Protected Member Functions | |
extractNamespace ( $input) | |
Figure out if given input contains an explicit namespace. | |
searchBackend ( $namespaces, $search, $limit, $offset) | |
Do a prefix search of titles and return a list of matching page names. | |
specialSearch ( $search, $limit, $offset) | |
Prefix search special-case for Special: namespace. | |
strings (array $strings) | |
When implemented in a descendant class, receives an array of titles as strings and returns either an unmodified array or an array of Title objects corresponding to strings received. | |
titles (array $titles) | |
When implemented in a descendant class, receives an array of Title objects and returns either an unmodified array or an array of strings corresponding to titles passed to it. | |
validateNamespaces ( $namespaces) | |
Validate an array of numerical namespace indexes. | |
Private Member Functions | |
handleResultFromHook ( $srchres, $namespaces, $search, $limit, $offset) | |
Handles searching prefixes of titles and finding any page names that match.
Used largely by the OpenSearch implementation.
Definition at line 30 of file PrefixSearch.php.
PrefixSearch::defaultSearchBackend | ( | $namespaces, | |
$search, | |||
$limit, | |||
$offset ) |
Unless overridden by PrefixSearchBackend hook... This is case-sensitive (First character may be automatically capitalized by Title::secureAndSpit() later on depending on $wgCapitalLinks)
array | null | $namespaces | Namespaces to search in |
string | $search | Term |
int | $limit | Max number of items to return |
int | $offset | Number of items to skip |
Definition at line 293 of file PrefixSearch.php.
References $dbr, $namespaces, $options, $res, DB_REPLICA, LIST_AND, LIST_OR, TitleArray\newFromResult(), NS_MAIN, NS_SPECIAL, specialSearch(), and wfGetDB().
Referenced by searchBackend(), and SearchEngine\simplePrefixSearch().
|
protected |
Figure out if given input contains an explicit namespace.
string | $input |
Definition at line 79 of file PrefixSearch.php.
References $input, and NS_MAIN.
Referenced by search().
|
private |
Definition at line 189 of file PrefixSearch.php.
References $namespaces.
Referenced by searchBackend().
PrefixSearch::search | ( | $search, | |
$limit, | |||
$namespaces = [], | |||
$offset = 0 ) |
Do a prefix search of titles and return a list of matching page names.
string | $search | |
int | $limit | |
array | $namespaces | Used if query is not explicitly prefixed |
int | $offset | How many results to offset from the beginning |
Definition at line 55 of file PrefixSearch.php.
References $namespaces, extractNamespace(), list, searchBackend(), and validateNamespaces().
Referenced by CategoryTreePage\prefixSearchSubpages(), searchWithVariants(), PrefixSearchTest\testSearch(), PrefixSearchTest\testSearchBackend(), PrefixSearchTest\testSearchWithOffset(), and titleSearch().
|
protected |
Do a prefix search of titles and return a list of matching page names.
array | $namespaces | |
string | $search | |
int | $limit | |
int | $offset | How many results to offset from the beginning |
Definition at line 169 of file PrefixSearch.php.
References $namespaces, defaultSearchBackend(), handleResultFromHook(), NS_FILE, NS_MEDIA, NS_SPECIAL, specialSearch(), strings, and titles().
Referenced by search().
PrefixSearch::searchWithVariants | ( | $search, | |
$limit, | |||
array | $namespaces, | ||
$offset = 0 ) |
Do a prefix search for all possible variants of the prefix.
string | $search | |
int | $limit | |
array | $namespaces | |
int | $offset | How many results to offset from the beginning |
Definition at line 118 of file PrefixSearch.php.
References $namespaces, $wgContLang, and search().
|
protected |
Prefix search special-case for Special: namespace.
string | $search | Term |
int | $limit | Max number of items to return |
int | $offset | Number of items to offset |
Definition at line 209 of file PrefixSearch.php.
References $keys, $matches, $wgContLang, SpecialPageFactory\getNames(), SpecialPageFactory\getPage(), and NS_SPECIAL.
Referenced by defaultSearchBackend(), and searchBackend().
|
abstractprotected |
When implemented in a descendant class, receives an array of titles as strings and returns either an unmodified array or an array of Title objects corresponding to strings received.
array | $strings |
Reimplemented in TitlePrefixSearch, and StringPrefixSearch.
|
abstractprotected |
When implemented in a descendant class, receives an array of Title objects and returns either an unmodified array or an array of strings corresponding to titles passed to it.
array | $titles |
Reimplemented in TitlePrefixSearch, and StringPrefixSearch.
Referenced by searchBackend().
|
static |
Do a prefix search of titles and return a list of matching page names.
string | $search | |
int | $limit | |
array | $namespaces | Used if query is not explicitly prefixed |
int | $offset | How many results to offset from the beginning |
Definition at line 41 of file PrefixSearch.php.
References $namespaces, and search().
|
protected |
Validate an array of numerical namespace indexes.
array | $namespaces |
Definition at line 349 of file PrefixSearch.php.
References $namespaces, $wgContLang, and NS_MAIN.
Referenced by search().