MediaWiki  1.23.13
PrefixSearch Class Reference

Handles searching prefixes of titles and finding any page names that match. More...

Inheritance diagram for PrefixSearch:

Public Member Functions

 search ( $search, $limit, $namespaces=array())
 Do a prefix search of titles and return a list of matching page names. More...
 
 searchWithVariants ( $search, $limit, array $namespaces)
 Do a prefix search for all possible variants of the prefix. More...
 

Static Public Member Functions

static titleSearch ( $search, $limit, $namespaces=array())
 Do a prefix search of titles and return a list of matching page names. More...
 

Protected Member Functions

 defaultSearchBackend ( $namespaces, $search, $limit)
 Unless overridden by PrefixSearchBackend hook... More...
 
 searchBackend ( $namespaces, $search, $limit)
 Do a prefix search of titles and return a list of matching page names. More...
 
 specialSearch ( $search, $limit)
 Prefix search special-case for Special: namespace. More...
 
 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. More...
 
 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. More...
 
 validateNamespaces ( $namespaces)
 Validate an array of numerical namespace indexes. More...
 

Detailed Description

Handles searching prefixes of titles and finding any page names that match.

Used largely by the OpenSearch implementation.

Definition at line 29 of file PrefixSearch.php.

Member Function Documentation

◆ defaultSearchBackend()

PrefixSearch::defaultSearchBackend (   $namespaces,
  $search,
  $limit 
)
protected

Unless overridden by PrefixSearchBackend hook...

This is case-sensitive (First character may be automatically capitalized by Title::secureAndSpit() later on depending on $wgCapitalLinks)

Parameters
array$namespacesnamespaces to search in
string$searchterm
$limitInteger: max number of items to return
Returns
Array of Title objects

Definition at line 221 of file PrefixSearch.php.

References $dbr, $limit, $namespaces, $res, $t, array(), as, DB_SLAVE, Title\newFromRow(), Title\newFromText(), NS_MAIN, and wfGetDB().

Referenced by searchBackend().

◆ search()

PrefixSearch::search (   $search,
  $limit,
  $namespaces = array() 
)

Do a prefix search of titles and return a list of matching page names.

Parameters
$searchString
$limitInteger
array$namespacesused if query is not explicitly prefixed
Returns
Array of strings or Title objects

Definition at line 52 of file PrefixSearch.php.

References $limit, $namespaces, $title, array(), Title\newFromText(), NS_MAIN, searchBackend(), and validateNamespaces().

Referenced by searchWithVariants(), and titleSearch().

◆ searchBackend()

PrefixSearch::searchBackend (   $namespaces,
  $search,
  $limit 
)
protected

Do a prefix search of titles and return a list of matching page names.

Parameters
$namespacesArray
$searchString
$limitInteger
Returns
Array of strings

Definition at line 143 of file PrefixSearch.php.

References $limit, $namespaces, array(), defaultSearchBackend(), NS_FILE, NS_MEDIA, NS_SPECIAL, specialSearch(), strings(), titles(), and wfRunHooks().

Referenced by search().

◆ searchWithVariants()

PrefixSearch::searchWithVariants (   $search,
  $limit,
array  $namespaces 
)

Do a prefix search for all possible variants of the prefix.

Parameters
$searchString
$limitInteger
array$namespaces
Returns
array

Definition at line 91 of file PrefixSearch.php.

References $limit, $namespaces, $wgContLang, array(), as, global, search(), wfProfileIn(), and wfProfileOut().

Referenced by ApiOpenSearch\execute().

◆ specialSearch()

PrefixSearch::specialSearch (   $search,
  $limit 
)
protected

Prefix search special-case for Special: namespace.

Parameters
string$searchterm
$limitInteger: max number of items to return
Returns
Array

Definition at line 166 of file PrefixSearch.php.

References $keys, $limit, $wgContLang, array(), as, SpecialPageFactory\getList(), global, Title\makeTitleSafe(), and NS_SPECIAL.

Referenced by searchBackend().

◆ strings()

PrefixSearch::strings ( array  $strings)
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.

Parameters
array$strings
Returns
array

Reimplemented in StringPrefixSearch, and TitlePrefixSearch.

Referenced by searchBackend().

◆ titles()

PrefixSearch::titles ( array  $titles)
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.

Parameters
array$titles
Returns
array

Reimplemented in StringPrefixSearch, and TitlePrefixSearch.

Referenced by searchBackend().

◆ titleSearch()

static PrefixSearch::titleSearch (   $search,
  $limit,
  $namespaces = array() 
)
static

Do a prefix search of titles and return a list of matching page names.

Deprecated:
: Since 1.23, use TitlePrefixSearch or StringPrefixSearch classes
Parameters
$searchString
$limitInteger
array$namespacesused if query is not explicitly prefixed
Returns
Array of strings

Definition at line 39 of file PrefixSearch.php.

References $limit, $namespaces, and search().

◆ validateNamespaces()

PrefixSearch::validateNamespaces (   $namespaces)
protected

Validate an array of numerical namespace indexes.

Parameters
$namespacesArray
Returns
Array (default: contains only NS_MAIN)

Definition at line 252 of file PrefixSearch.php.

References $namespaces, $wgContLang, array(), as, global, and NS_MAIN.

Referenced by search().


The documentation for this class was generated from the following file: