MediaWiki
1.23.2
|
Query module to perform full text search within wiki titles and content. More...
Public Member Functions | |
__construct ( $query, $moduleName) | |
execute () | |
Evaluates the parameters, performs the requested query, and sets up the result. More... | |
executeGenerator ( $resultPageSet) | |
Execute this module as a generator. More... | |
getAllowedParams () | |
Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed. More... | |
getCacheMode ( $params) | |
Get the cache mode for the data generated by this module. More... | |
getDescription () | |
Returns the description string for this module. More... | |
getExamples () | |
Returns usage examples for this module. More... | |
getHelpUrls () | |
getParamDescription () | |
Returns an array of parameter descriptions. More... | |
getPossibleErrors () | |
getResultProperties () | |
Returns possible properties in the result, grouped by the value of the prop parameter that shows them. More... | |
Public Member Functions inherited from ApiQueryGeneratorBase | |
encodeParamName ( $paramName) | |
Overrides base class to prepend 'g' to every generator parameter. More... | |
setGeneratorMode (ApiPageSet $generatorPageSet) | |
Switch this module to generator mode. More... | |
Public Member Functions inherited from ApiQueryBase | |
__construct (ApiBase $query, $moduleName, $paramPrefix='') | |
getDirectionDescription ( $p='', $extraDirText='') | |
Gets the personalised direction parameter description. More... | |
getQuery () | |
Get the main Query module. More... | |
keyPartToTitle ( $keyPart) | |
An alternative to keyToTitle() that doesn't trim trailing spaces. More... | |
keyToTitle ( $key) | |
The inverse of titleToKey() More... | |
prepareUrlQuerySearchString ( $query=null, $protocol=null) | |
requestExtraData ( $pageSet) | |
Override this method to request extra fields from the pageSet using $pageSet->requestField('fieldName') More... | |
selectNamedDB ( $name, $db, $groups) | |
Selects the query database connection with the given name. More... | |
showHiddenUsersAddBlockInfo ( $showBlockInfo) | |
Filters hidden users (where the user doesn't have the right to view them) Also adds relevant block information. More... | |
titlePartToKey ( $titlePart, $defaultNamespace=NS_MAIN) | |
An alternative to titleToKey() that doesn't trim trailing spaces, and does not mangle the input if starts with something that looks like a namespace. More... | |
titleToKey ( $title) | |
Convert a title to a DB key. More... | |
userCanSeeRevDel () | |
Check whether the current user has permission to view revision-deleted fields. More... | |
validateSha1Base36Hash ( $hash) | |
validateSha1Hash ( $hash) | |
Public Member Functions inherited from ApiBase | |
__construct ( $mainModule, $moduleName, $modulePrefix='') | |
Constructor. More... | |
createContext () | |
Create a new RequestContext object to use e.g. More... | |
dieReadOnly () | |
Helper function for readonly errors. More... | |
dieStatus ( $status) | |
Throw a UsageException based on the errors in the Status object. More... | |
dieUsage ( $description, $errorCode, $httpRespCode=0, $extradata=null) | |
Throw a UsageException, which will (if uncaught) call the main module's error handler and die with an error message. More... | |
dieUsageMsg ( $error) | |
Output the error message related to a certain array. More... | |
dieUsageMsgOrDebug ( $error) | |
Will only set a warning instead of failing if the global $wgDebugAPI is set to true. More... | |
extractRequestParams ( $parseLimit=true) | |
Using getAllowedParams(), this function makes an array of the values provided by the user, with key being the name of the variable, and value - validated value from user or default. More... | |
getCustomPrinter () | |
If the module may only be used with a certain format module, it should override this method to return an instance of that formatter. More... | |
getErrorFromStatus ( $status) | |
Get error (as code, string) from a Status object. More... | |
getFinalDescription () | |
Get final module description, after hooks have had a chance to tweak it as needed. More... | |
getFinalParamDescription () | |
Get final parameter descriptions, after hooks have had a chance to tweak it as needed. More... | |
getFinalParams ( $flags=0) | |
Get final list of parameters, after hooks have had a chance to tweak it as needed. More... | |
getFinalPossibleErrors () | |
Get final list of possible errors, after hooks have had a chance to tweak it as needed. More... | |
getFinalResultProperties () | |
Get final possible result properties, after hooks have had a chance to tweak it as needed. More... | |
getMain () | |
Get the main module. More... | |
getModuleManager () | |
Get the module manager, or null if this module has no sub-modules. More... | |
getModuleName () | |
Get the name of the module being executed by this instance. More... | |
getModulePrefix () | |
Get parameter prefix (usually two letters or an empty string). More... | |
getModuleProfileName ( $db=false) | |
Get the name of the module as shown in the profiler log. More... | |
getProfileDBTime () | |
Total time the module used the database. More... | |
getProfileTime () | |
Total time the module was executed. More... | |
getRequireAtLeastOneParameterErrorMessages ( $params) | |
Generates the possible errors requireAtLeastOneParameter() can die with. More... | |
getRequireMaxOneParameterErrorMessages ( $params) | |
Generates the possible error requireMaxOneParameter() can die with. More... | |
getRequireOnlyOneParameterErrorMessages ( $params) | |
Generates the possible errors requireOnlyOneParameter() can die with. More... | |
getResult () | |
Get the result object. More... | |
getResultData () | |
Get the result data array (read-only) More... | |
getTitleOrPageId ( $params, $load=false) | |
getTitleOrPageIdErrorMessage () | |
getTokenSalt () | |
Returns the token salt if there is one, '' if the module doesn't require a salt, else false if the module doesn't need a token You have also to override needsToken() Value is passed to User::getEditToken. More... | |
getVersion () | |
Returns a string that identifies the version of the extending class. More... | |
getWatchlistUser ( $params) | |
Gets the user for whom to get the watchlist. More... | |
isMain () | |
Returns true if this module is the main module ($this === $this->mMainModule), false otherwise. More... | |
isReadMode () | |
Indicates whether this module requires read rights. More... | |
isWriteMode () | |
Indicates whether this module requires write mode. More... | |
makeHelpMsg () | |
Generates help message for this module, or false if there is no description. More... | |
makeHelpMsgParameters () | |
Generates the parameter descriptions for this module, to be displayed in the module's help. More... | |
mustBePosted () | |
Indicates whether this module must be called with a POST request. More... | |
needsToken () | |
Returns whether this module requires a token to execute It is used to show possible errors in action=paraminfo see bug 25248. More... | |
parseErrors ( $errors) | |
Parses a list of errors into a standardised format. More... | |
parseMsg ( $error) | |
Return the error message related to a certain array. More... | |
profileDBIn () | |
Start module profiling. More... | |
profileDBOut () | |
End database profiling. More... | |
profileIn () | |
Start module profiling. More... | |
profileOut () | |
End module profiling. More... | |
requireAtLeastOneParameter ( $params) | |
Die if none of a certain set of parameters is set and not false. More... | |
requireMaxOneParameter ( $params) | |
Die if more than one of a certain set of parameters is set and not false. More... | |
requireOnlyOneParameter ( $params) | |
Die if none or more than one of a certain set of parameters is set and not false. More... | |
safeProfileOut () | |
When modules crash, sometimes it is needed to do a profileOut() regardless of the profiling state the module was in. More... | |
setWarning ( $warning) | |
Set warning section for this module. More... | |
shouldCheckMaxlag () | |
Indicates if this module needs maxlag to be checked. More... | |
validateLimit ( $paramName, &$value, $min, $max, $botMax=null, $enforceLimits=false) | |
Validate the value against the minimum and user/bot maximum limits. More... | |
validateTimestamp ( $value, $encParamName) | |
Validate and normalize of parameters of type 'timestamp'. More... | |
Public Member Functions inherited from ContextSource | |
canUseWikiPage () | |
Check whether a WikiPage object can be get with getWikiPage(). More... | |
exportSession () | |
Export the resolved user IP, HTTP headers, user ID, and session ID. More... | |
getConfig () | |
Get the Config object. More... | |
getContext () | |
Get the RequestContext object. More... | |
getLang () | |
Get the Language object. More... | |
getLanguage () | |
Get the Language object. More... | |
getOutput () | |
Get the OutputPage object. More... | |
getRequest () | |
Get the WebRequest object. More... | |
getSkin () | |
Get the Skin object. More... | |
getTitle () | |
Get the Title object. More... | |
getUser () | |
Get the User object. More... | |
getWikiPage () | |
Get the WikiPage object. More... | |
msg () | |
Get a Message object with context set Parameters are the same as wfMessage() More... | |
setContext (IContextSource $context) | |
Set the IContextSource object. More... | |
Public Attributes | |
const | BACKEND_NULL_PARAM = 'database-backed' |
When $wgSearchType is null, $wgSearchAlternatives[0] is null. More... | |
Public Attributes inherited from ApiQueryBase | |
$fields | |
$join_conds | |
$mDb | |
$options | |
$tables | |
$where | |
Public Attributes inherited from ApiBase | |
$mDBTime = 0 | |
$mModuleName | |
$mModulePrefix | |
$mModuleTime = 0 | |
const | GET_VALUES_FOR_HELP = 1 |
getAllowedParams() flag: When set, the result could take longer to generate, but should be more thorough. More... | |
const | LIMIT_BIG1 = 500 |
const | LIMIT_BIG2 = 5000 |
const | LIMIT_SML1 = 50 |
const | LIMIT_SML2 = 500 |
const | PARAM_ALLOW_DUPLICATES = 6 |
const | PARAM_DEPRECATED = 7 |
const | PARAM_DFLT = 0 |
const | PARAM_ISMULTI = 1 |
const | PARAM_MAX = 3 |
const | PARAM_MAX2 = 4 |
const | PARAM_MIN = 5 |
const | PARAM_RANGE_ENFORCE = 9 |
const | PARAM_REQUIRED = 8 |
const | PARAM_TYPE = 2 |
const | PROP_LIST = 'LIST' |
const | PROP_NULLABLE = 1 |
const | PROP_ROOT = 'ROOT' |
const | PROP_TYPE = 0 |
Private Member Functions | |
run ( $resultPageSet=null) | |
Additional Inherited Members | |
Static Public Member Functions inherited from ApiQueryBase | |
static | addTitleInfo (&$arr, $title, $prefix='') |
Add information (title and namespace) about a Title object to a result array. More... | |
Static Public Member Functions inherited from ApiBase | |
static | debugPrint ( $value, $name='unknown', $backtrace=false) |
Debugging function that prints a value and an optional backtrace. More... | |
static | truncateArray (&$arr, $limit) |
Truncate an array to a certain length. More... | |
Static Public Attributes inherited from ApiBase | |
static | $messageMap |
Array that maps message keys to error messages. More... | |
Protected Member Functions inherited from ApiQueryGeneratorBase | |
getPageSet () | |
Get the PageSet object to work on. More... | |
setContinueEnumParameter ( $paramName, $paramValue) | |
Overrides base in case of generator & smart continue to notify ApiQueryMain instead of adding them to the result right away. More... | |
Protected Member Functions inherited from ApiQueryBase | |
addFields ( $value) | |
Add a set of fields to select to the internal array. More... | |
addFieldsIf ( $value, $condition) | |
Same as addFields(), but add the fields only if a condition is met. More... | |
addJoinConds ( $join_conds) | |
Add a set of JOIN conditions to the internal array. More... | |
addOption ( $name, $value=null) | |
Add an option such as LIMIT or USE INDEX. More... | |
addPageSubItem ( $pageId, $item, $elemname=null) | |
Same as addPageSubItems(), but one element of $data at a time. More... | |
addPageSubItems ( $pageId, $data) | |
Add a sub-element under the page element with the given page ID. More... | |
addTables ( $tables, $alias=null) | |
Add a set of tables to the internal array. More... | |
addTimestampWhereRange ( $field, $dir, $start, $end, $sort=true) | |
Add a WHERE clause corresponding to a range, similar to addWhereRange, but converts $start and $end to database timestamps. More... | |
addWhere ( $value) | |
Add a set of WHERE clauses to the internal array. More... | |
addWhereFld ( $field, $value) | |
Equivalent to addWhere(array($field => $value)) More... | |
addWhereIf ( $value, $condition) | |
Same as addWhere(), but add the WHERE clauses only if a condition is met. More... | |
addWhereRange ( $field, $dir, $start, $end, $sort=true) | |
Add a WHERE clause corresponding to a range, and an ORDER BY clause to sort in the right direction. More... | |
checkRowCount () | |
Estimate the row count for the SELECT query that would be run if we called select() right now, and check if it's acceptable. More... | |
getDB () | |
Get the Query database connection (read-only) More... | |
resetQueryParams () | |
Blank the internal arrays with query parameters. More... | |
select ( $method, $extraQuery=array()) | |
Execute a SELECT query based on the values in the internal arrays. More... | |
Protected Member Functions inherited from ApiBase | |
dieContinueUsageIf ( $condition) | |
Die with the $prefix. More... | |
getParameter ( $paramName, $parseLimit=true) | |
Get a value for the given parameter. More... | |
getParameterFromSettings ( $paramName, $paramSettings, $parseLimit) | |
Using the settings determine the value for the given parameter. More... | |
getWatchlistValue ( $watchlist, $titleObj, $userOption=null) | |
Return true if we're to watch the page, false if not, null if no change. More... | |
makeHelpArrayToString ( $prefix, $title, $input) | |
parseMultiValue ( $valueName, $value, $allowMultiple, $allowedValues) | |
Return an array of values that were given in a 'a|b|c' notation, after it optionally validates them against the list allowed values. More... | |
setWatch ( $watch, $titleObj, $userOption=null) | |
Set a watch (or unwatch) based the based on a watchlist parameter. More... | |
Static Protected Member Functions inherited from ApiBase | |
static | addTokenProperties (&$props, $tokenFunctions) |
Add token properties to the array used by getResultProperties, based on a token functions mapping. More... | |
static | dieDebug ( $method, $message) |
Internal code errors should be reported with this method. More... | |
Query module to perform full text search within wiki titles and content.
Definition at line 32 of file ApiQuerySearch.php.
ApiQuerySearch::__construct | ( | $query, | |
$moduleName | |||
) |
Definition at line 42 of file ApiQuerySearch.php.
References $query.
ApiQuerySearch::execute | ( | ) |
Evaluates the parameters, performs the requested query, and sets up the result.
Concrete implementations of ApiBase must override this method to provide whatever functionality their module offers. Implementations must not produce any output on their own and are not expected to handle any errors.
The execute() method will be invoked directly by ApiMain immediately before the result of the module is output. Aside from the constructor, implementations should assume that no other methods will be called externally on the module before the result is processed.
The result data should be stored in the ApiResult object available through getResult().
Reimplemented from ApiBase.
Definition at line 46 of file ApiQuerySearch.php.
References run().
ApiQuerySearch::executeGenerator | ( | $resultPageSet | ) |
Execute this module as a generator.
$resultPageSet | ApiPageSet: All output should be appended to this object |
Reimplemented from ApiQueryGeneratorBase.
Definition at line 50 of file ApiQuerySearch.php.
References run().
ApiQuerySearch::getAllowedParams | ( | ) |
Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed.
Some derived classes may choose to handle an integer $flags parameter in the overriding methods. Callers of this method can pass zero or more OR-ed flags like GET_VALUES_FOR_HELP.
Reimplemented from ApiBase.
Definition at line 255 of file ApiQuerySearch.php.
References $params, array(), BACKEND_NULL_PARAM, SearchEngine\getSearchTypes(), global, ApiBase\LIMIT_SML1, ApiBase\LIMIT_SML2, NS_MAIN, ApiBase\PARAM_DFLT, ApiBase\PARAM_ISMULTI, ApiBase\PARAM_MAX, ApiBase\PARAM_MAX2, ApiBase\PARAM_MIN, ApiBase\PARAM_REQUIRED, and ApiBase\PARAM_TYPE.
ApiQuerySearch::getCacheMode | ( | $params | ) |
Get the cache mode for the data generated by this module.
Override this in the module subclass. For possible return values and other details about cache modes, see ApiMain::setCacheMode()
Public caching will only be allowed if all the modules that supply data for a given request return a cache mode of public.
$params |
Reimplemented from ApiQueryBase.
Definition at line 251 of file ApiQuerySearch.php.
ApiQuerySearch::getDescription | ( | ) |
Returns the description string for this module.
Reimplemented from ApiBase.
Definition at line 415 of file ApiQuerySearch.php.
ApiQuerySearch::getExamples | ( | ) |
Returns usage examples for this module.
Return false if no examples are available.
Reimplemented from ApiBase.
Definition at line 427 of file ApiQuerySearch.php.
References array().
ApiQuerySearch::getHelpUrls | ( | ) |
Reimplemented from ApiBase.
Definition at line 435 of file ApiQuerySearch.php.
ApiQuerySearch::getParamDescription | ( | ) |
Returns an array of parameter descriptions.
Don't call this function directly: use getFinalParamDescription() to allow hooks to modify descriptions as needed.
Reimplemented from ApiBase.
Definition at line 326 of file ApiQuerySearch.php.
References array(), and SearchEngine\getSearchTypes().
ApiQuerySearch::getPossibleErrors | ( | ) |
Reimplemented from ApiQueryBase.
Definition at line 419 of file ApiQuerySearch.php.
References array().
ApiQuerySearch::getResultProperties | ( | ) |
Returns possible properties in the result, grouped by the value of the prop parameter that shows them.
Properties that are shown always are in a group with empty string as a key. Properties that can be shown by several values of prop are included multiple times. If some properties are part of a list and some are on the root object (see ApiQueryQueryPage), those on the root object are under the key PROP_ROOT. The array can also contain a boolean under the key PROP_LIST, indicating whether the result is a list.
Don't call this function directly: use getFinalResultProperties() to allow hooks to modify descriptions as needed.
Reimplemented from ApiBase.
Definition at line 358 of file ApiQuerySearch.php.
References array(), ApiBase\PROP_NULLABLE, and ApiBase\PROP_TYPE.
|
private |
$resultPageSet | ApiPageSet |
Definition at line 58 of file ApiQuerySearch.php.
References $count, $limit, $matches, $params, $query, $title, $titles, $wgContLang, ApiQueryBase\addTitleInfo(), array(), SearchEngine\create(), ApiBase\dieUsage(), ApiBase\extractRequestParams(), ApiBase\getModuleName(), SearchEngine\getNearMatchResultSet(), ApiBase\getResult(), global, ApiQueryGeneratorBase\setContinueEnumParameter(), TS_ISO_8601, and wfTimestamp().
Referenced by execute(), and executeGenerator().
const ApiQuerySearch::BACKEND_NULL_PARAM = 'database-backed' |
When $wgSearchType is null, $wgSearchAlternatives[0] is null.
Null isn't a valid option for an array for PARAM_TYPE, so we'll use a fake name that can't possibly be a class name and describes what the null behavior does
Definition at line 40 of file ApiQuerySearch.php.
Referenced by getAllowedParams().