MediaWiki  master
MediaWiki\Site\MediaWikiPageNameNormalizer Class Reference

Service for normalizing a page name using a MediaWiki api. More...

Collaboration diagram for MediaWiki\Site\MediaWikiPageNameNormalizer:

Public Member Functions

 __construct (Http $http=null)
 
 normalizePageName ( $pageName, $apiUrl, $followRedirect=self::FOLLOW_REDIRECT)
 Returns the normalized form of the given page title, using the normalization rules of the given site. More...
 

Public Attributes

const FOLLOW_REDIRECT = 1
 
const NOFOLLOW_REDIRECT = 2
 

Static Private Member Functions

static extractPageRecord ( $externalData, $pageTitle)
 Get normalization record for a given page title from an API response. More...
 

Private Attributes

Http $http
 

Detailed Description

Service for normalizing a page name using a MediaWiki api.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html

Since
1.27
Note
GPL-2.0-or-later
Author
John Erling Blad < jebla.nosp@m.d@gm.nosp@m.ail.c.nosp@m.om >
Daniel Kinzler
Jeroen De Dauw < jeroe.nosp@m.nded.nosp@m.auw@g.nosp@m.mail.nosp@m..com >
Marius Hoch

Definition at line 36 of file MediaWikiPageNameNormalizer.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Site\MediaWikiPageNameNormalizer::__construct ( Http  $http = null)
Parameters
Http | null$http

Definition at line 49 of file MediaWikiPageNameNormalizer.php.

References MediaWiki\Site\MediaWikiPageNameNormalizer\$http.

Member Function Documentation

◆ extractPageRecord()

static MediaWiki\Site\MediaWikiPageNameNormalizer::extractPageRecord (   $externalData,
  $pageTitle 
)
staticprivate

Get normalization record for a given page title from an API response.

Parameters
array$externalDataA reply from the API on a external server.
string$pageTitleIdentifies the page at the external site, needing normalization.
Returns
array|bool A 'page' structure representing the page identified by $pageTitle.

Definition at line 166 of file MediaWikiPageNameNormalizer.php.

◆ normalizePageName()

MediaWiki\Site\MediaWikiPageNameNormalizer::normalizePageName (   $pageName,
  $apiUrl,
  $followRedirect = self::FOLLOW_REDIRECT 
)

Returns the normalized form of the given page title, using the normalization rules of the given site.

If $followRedirect is set to self::FOLLOW_REDIRECT (default) and the given title is a redirect, the redirect will be resolved and the redirect target is returned. Only titles of existing pages will be returned.

Note
This actually makes an API request to the remote site, so beware that this function is slow and depends on an external service.
See also
Site::normalizePageName
Since
1.27
1.37 Added $followRedirect
Parameters
string$pageName
string$apiUrl
int$followRedirecteither self::FOLLOW_REDIRECT or self::NOFOLLOW_REDIRECT
Returns
string|false The normalized form of the title, or false to indicate an invalid title, a missing page, or some other kind of error.
Exceptions

Definition at line 82 of file MediaWikiPageNameNormalizer.php.

References $args, FormatJson\decode(), wfAppendQuery(), and wfDebugLog().

Member Data Documentation

◆ $http

Http MediaWiki\Site\MediaWikiPageNameNormalizer::$http
private

◆ FOLLOW_REDIRECT

const MediaWiki\Site\MediaWikiPageNameNormalizer::FOLLOW_REDIRECT = 1

Definition at line 38 of file MediaWikiPageNameNormalizer.php.

◆ NOFOLLOW_REDIRECT

const MediaWiki\Site\MediaWikiPageNameNormalizer::NOFOLLOW_REDIRECT = 2

Definition at line 39 of file MediaWikiPageNameNormalizer.php.


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