MediaWiki  REL1_21
Title Class Reference

Represents a title within MediaWiki. More...

Inheritance diagram for Title:

List of all members.

Public Member Functions

 __construct ()
 Constructor.
 __toString ()
 Return a string representation of this title.
 areRestrictionsCascading ()
 Returns cascading restrictions for the current article.
 canExist ()
 Is this in a namespace that allows actual pages?
 canTalk ()
 Could this title have a corresponding talk page?
 canUseNoindex ()
 Whether the magic words __INDEX__ and __NOINDEX__ function for this page.
 countAuthorsBetween ($old, $new, $limit, $options=array())
 Get the number of authors between the given revisions or revision IDs.
 countRevisionsBetween ($old, $new)
 Get the number of revisions between the given revision.
 deleteTitleProtection ()
 Remove any title protection due to page existing.
 equals (Title $title)
 Compare with another title.
 escapeCanonicalURL ($query= '', $query2=false)
 HTML-escaped version of getCanonicalURL()
 escapeFullURL ($query= '', $query2=false)
 Get an HTML-escaped version of the URL form, suitable for using in a link, including the server name and fragment.
 escapeLocalURL ($query= '', $query2=false)
 Get an HTML-escaped version of the URL form, suitable for using in a link, without a server name or fragment.
 estimateRevisionCount ()
 Get the approximate revision count of this page.
 exists ()
 Check if page exists.
 fixSpecialName ()
 If the Title refers to a special page alias which is not the local default, resolve the alias, and localise the name as necessary.
 flushRestrictions ()
 Flush the protection cache in this object and force reload from the database.
 getArticleID ($flags=0)
 Get the article ID for this Title from the link cache, adding it if necessary.
 getBacklinkCache ()
 Get a backlink cache object.
 getBaseText ()
 Get the base page name without a namespace, i.e.
 getBaseTitle ()
 Get the base page name title, i.e.
 getBrokenLinksFrom ()
 Get an array of Title objects referring to non-existent articles linked from this page.
 getCanonicalURL ($query= '', $query2=false)
 Get the URL for a canonical link, for use in things like IRC and e-mail notifications.
 getCascadeProtectionSources ($getPages=true)
 Cascading protection: Get the source of any cascading restrictions on this page.
 getCategorySortkey ($prefix= '')
 Returns the raw sort key to be used for categories, with the specified prefix.
 getContentModel ()
 Get the page's content model id, see the CONTENT_MODEL_XXX constants.
 getDBkey ()
 Get the main part with underscores.
 getDefaultMessageText ()
 Get the default message text or false if the message doesn't exist.
 getDefaultNamespace ()
 Get the default namespace index, for when there is no namespace.
 getEarliestRevTime ($flags=0)
 Get the oldest revision timestamp of this page.
 getEditNotices ()
 Get a list of rendered edit notices for this page.
 getEditURL ()
 Get the edit URL for this Title.
 getEscapedText ()
 Get the HTML-escaped displayable text form.
 getFirstRevision ($flags=0)
 Get the first revision of the page.
 getFragment ()
 Get the Title fragment (i.e. the bit after the #) in text form.
 getFragmentForURL ()
 Get the fragment in URL form, including the "#" character if there is one.
 getFullText ()
 Get the prefixed title with spaces, plus any fragment (part beginning with '#')
 getFullURL ($query= '', $query2=false, $proto=PROTO_RELATIVE)
 Get a real URL referring to this title, with interwiki link and fragment.
 getIndexTitle ()
 Get title for search index.
 getInternalURL ($query= '', $query2=false)
 Get the URL form for an internal link.
 getInterwiki ()
 Get the interwiki prefix (or null string)
 getLatestRevID ($flags=0)
 What is the page_latest field for this page?
 getLength ($flags=0)
 What is the length of this page? Uses link cache, adding it if necessary.
 getLinksFrom ($options=array(), $table= 'pagelinks', $prefix= 'pl')
 Get an array of Title objects linked from this Title Also stores the IDs in the link cache.
 getLinksTo ($options=array(), $table= 'pagelinks', $prefix= 'pl')
 Get an array of Title objects linking to this Title Also stores the IDs in the link cache.
 getLinkURL ($query= '', $query2=false, $proto=PROTO_RELATIVE)
 Get a URL that's the simplest URL that will be valid to link, locally, to the current Title.
 getLocalURL ($query= '', $query2=false)
 Get a URL with no fragment or server name.
 getNamespace ()
 Get the namespace index, i.e.
 getNamespaceKey ($prepend= 'nstab-')
 Generate strings used for xml 'id' names in monobook tabs.
 getNextRevisionID ($revId, $flags=0)
 Get the revision ID of the next revision.
 getNotificationTimestamp ($user=null)
 Get the timestamp when this page was updated since the user last saw it.
 getNsText ()
 Get the namespace text.
 getPageLanguage ()
 Get the language in which the content of this page is written in wikitext.
 getPageViewLanguage ()
 Get the language in which the content of this page is written when viewed by user.
 getParentCategories ()
 Get categories to which this Title belongs and return an array of categories' names.
 getParentCategoryTree ($children=array())
 Get a tree of parent categories.
 getPartialURL ()
 Get the URL-encoded form of the main part.
 getPrefixedDBkey ()
 Get the prefixed database key form.
 getPrefixedText ()
 Get the prefixed title with spaces.
 getPrefixedURL ()
 Get a URL-encoded title (not an actual URL) including interwiki.
 getPreviousRevisionID ($revId, $flags=0)
 Get the revision ID of the previous revision.
 getRedirectsHere ($ns=null)
 Get all extant redirects to this Title.
 getRestrictionExpiry ($action)
 Get the expiry time for the restriction against a given action.
 getRestrictions ($action)
 Accessor/initialisation for mRestrictions.
 getRestrictionTypes ()
 Returns restriction types for the current Title.
 getRootText ()
 Get the root page name text without a namespace, i.e.
 getRootTitle ()
 Get the root page name title, i.e.
 getSkinFromCssJsSubpage ()
 Trim down a .css or .js subpage title to get the corresponding skin name.
 getSquidURLs ()
 Get a list of URLs to purge from the Squid cache when this page changes.
 getSubjectNsText ()
 Get the namespace text of the subject (rather than talk) page.
 getSubjectPage ()
 Get a title object associated with the subject page of this talk page.
 getSubpage ($text)
 Get the title for a subpage of the current page.
 getSubpages ($limit=-1)
 Get all subpages of this page.
 getSubpageText ()
 Get the lowest-level subpage name, i.e.
 getSubpageUrlForm ()
 Get a URL-encoded form of the subpage text.
 getTalkNsText ()
 Get the namespace text of the talk page.
 getTalkPage ()
 Get a Title object associated with the talk page of this article.
 getTemplateLinksFrom ($options=array())
 Get an array of Title objects used on this Title as a template Also stores the IDs in the link cache.
 getTemplateLinksTo ($options=array())
 Get an array of Title objects using this Title as a template Also stores the IDs in the link cache.
 getText ()
 Get the text form (spaces not underscores) of the main part.
 getTouched ($db=null)
 Get the last touched timestamp.
 getTransWikiID ()
 Returns the DB name of the distant wiki which owns the object.
 getUserCaseDBKey ()
 Get the DB key with the initial letter case as specified by the user.
 getUserPermissionsErrors ($action, $user, $doExpensiveQueries=true, $ignoreErrors=array())
 Can $user perform $action on this page?
 hasContentModel ($id)
 Convenience method for checking a title's content model name.
 hasSourceText ()
 Does this page have source text?
 hasSubjectNamespace ($ns)
 Returns true if the title has the same subject namespace as the namespace specified.
 hasSubpages ()
 Does this have subpages? (Warning, usually requires an extra DB query.)
 inNamespace ($ns)
 Returns true if the title is inside the specified namespace.
 inNamespaces ()
 Returns true if the title is inside one of the specified namespaces.
 invalidateCache ()
 Updates page_touched for this page; called from LinksUpdate.php.
 isAlwaysKnown ()
 Should links to this title be shown as potentially viewable (i.e.
 isBigDeletion ()
 Check whether the number of revisions of this page surpasses $wgDeleteRevisionsLimit.
 isCascadeProtected ()
 Cascading protection: Return true if cascading restrictions apply to this page, false if not.
 isContentPage ()
 Is this Title in a namespace which contains content? In other words, is this a content page, for the purposes of calculating statistics, etc?
 isConversionTable ()
 Is this a conversion table for the LanguageConverter?
 isCssJsSubpage ()
 Is this a .css or .js subpage of a user page?
 isCssOrJsPage ()
 Could this page contain custom CSS or JavaScript for the global UI.
 isCssSubpage ()
 Is this a .css subpage of a user page?
 isDeleted ()
 Is there a version of this page in the deletion archive?
 isDeletedQuick ()
 Is there a version of this page in the deletion archive?
 isExternal ()
 Is this Title interwiki?
 isJsSubpage ()
 Is this a .js subpage of a user page?
 isKnown ()
 Does this title refer to a page that can (or might) be meaningfully viewed? In particular, this function may be used to determine if links to the title should be rendered as "bluelinks" (as opposed to "redlinks" to non-existent pages).
 isLocal ()
 Determine whether the object refers to a page within this project.
 isMainPage ()
 Is this the mainpage?
 isMovable ()
 Would anybody with sufficient privileges be able to move this page? Some pages just aren't movable.
 isNamespaceProtected (User $user)
 Determines if $user is unable to edit this page because it has been protected by $wgNamespaceProtection.
 isNewPage ()
 Check if this is a new page.
 isProtected ($action= '')
 Does the title correspond to a protected article?
 isRedirect ($flags=0)
 Is this an article that is a redirect page? Uses link cache, adding it if necessary.
 isSemiProtected ($action= 'edit')
 Is this page "semi-protected" - the *only* protection is autoconfirm?
 isSingleRevRedirect ()
 Checks if this page is just a one-rev redirect.
 isSpecial ($name)
 Returns true if this title resolves to the named special page.
 isSpecialPage ()
 Returns true if this is a special page.
 isSubpage ()
 Is this a subpage?
 isSubpageOf (Title $title)
 Check if this title is a subpage of another title.
 isTalkPage ()
 Is this a talk page of some sort?
 isTrans ()
 Determine whether the object refers to a page within this project and is transcludable.
 isValidMoveOperation (&$nt, $auth=true, $reason= '')
 Check whether a given move operation would be valid.
 isValidMoveTarget ($nt)
 Checks if $this can be moved to a given Title.
 isValidRedirectTarget ()
 Check if this Title is a valid redirect target.
 isWatchable ()
 Can this title be added to a user's watchlist?
 isWikitextPage ()
 Does that page contain wikitext, or it is JS, CSS or whatever?
 loadFromRow ($row)
 Load Title object fields from a DB row.
 loadRestrictions ($oldFashionedRestrictions=null)
 Load restrictions from the page_restrictions table.
 loadRestrictionsFromRows ($rows, $oldFashionedRestrictions=null)
 Compiles list of active page restrictions from both page table (pre 1.10) and page_restrictions table for this existing page.
 moveNoAuth (&$nt)
 Move this page without authentication.
 moveSubpages ($nt, $auth=true, $reason= '', $createRedirect=true)
 Move this page's subpages to be subpages of $nt.
 moveTo (&$nt, $auth=true, $reason= '', $createRedirect=true)
 Move a title to a new location.
 pageCond ()
 Get an associative array for selecting this title from the "page" table.
 purgeSquid ()
 Purge all applicable Squid URLs.
 quickUserCan ($action, $user=null)
 Can $user perform $action on this page? This skips potentially expensive cascading permission checks as well as avoids expensive error formatting.
 resetArticleID ($newid)
 This clears some fields in this object, and clears any associated keys in the "bad links" section of the link cache.
 setFragment ($fragment)
 Set the fragment for this title.
 touchLinks ()
 Update page_touched timestamps and send squid purge messages for pages linking to this title.
 updateTitleProtection ($create_perm, $reason, $expiry)
 Update the title protection status.
 userCan ($action, $user=null, $doExpensiveQueries=true)
 Can $user perform $action on this page?
 userCanEditCssSubpage ()
 Protect css subpages of user pages: can $wgUser edit this page?
 userCanEditJsSubpage ()
 Protect js subpages of user pages: can $wgUser edit this page?
 userCanRead ()
 Can $wgUser read this page?
 userIsWatching ()
 Is $wgUser watching this page?

Static Public Member Functions

static capitalize ($text, $ns=NS_MAIN)
 Capitalize a text string for a title if it belongs to a namespace that capitalizes.
static compare ($a, $b)
 Callback for usort() to do title sorts by (namespace, title)
static escapeFragmentForURL ($fragment)
 Escape a text fragment, say from a link, for a URL.
static getFilteredRestrictionTypes ($exists=true)
 Get a filtered list of all restriction types supported by this wiki.
static getTitleInvalidRegex ()
 Returns a simple regex that will match on characters and sequences invalid in titles.
static indexTitle ($ns, $title)
 Get a string representation of a title suitable for including in a search index.
static legalChars ()
 Get a regex character class describing the legal characters in a link.
static makeName ($ns, $title, $fragment= '', $interwiki= '')
 Make a prefixed DB key from a DB key and a namespace index.
static & makeTitle ($ns, $title, $fragment= '', $interwiki= '')
 Create a new Title from a namespace index and a DB key.
static makeTitleSafe ($ns, $title, $fragment= '', $interwiki= '')
 Create a new Title from a namespace index and a DB key.
static nameOf ($id)
 Get the prefixed DB key associated with an ID.
static newFromDBkey ($key)
 Create a new Title from a prefixed DB key.
static newFromID ($id, $flags=0)
 Create a new Title from an article ID.
static newFromIDs ($ids)
 Make an array of titles from an array of IDs.
static newFromRedirect ($text)
 Extract a redirect destination from a string and return the Title, or null if the text doesn't contain a valid redirect This will only return the very next target, useful for the redirect table and other checks that don't need full recursion.
static newFromRedirectArray ($text)
 Extract a redirect destination from a string and return an array of Titles, or null if the text doesn't contain a valid redirect The last element in the array is the final destination after all redirects have been resolved (up to $wgMaxRedirects times)
static newFromRedirectRecurse ($text)
 Extract a redirect destination from a string and return the Title, or null if the text doesn't contain a valid redirect This will recurse down $wgMaxRedirects times or until a non-redirect target is hit in order to provide (hopefully) the Title of the final destination instead of another redirect.
static newFromRow ($row)
 Make a Title object from a DB row.
static newFromText ($text, $defaultNamespace=NS_MAIN)
 Create a new Title from text, such as what one would find in a link.
static newFromURL ($url)
 THIS IS NOT THE FUNCTION YOU WANT.
static newMainPage ()
 Create a new Title for the Main Page.
static purgeExpiredRestrictions ()
 Purge expired restrictions from the page_restrictions table.

Public Attributes

const CACHE_MAX = 1000
 Title::newFromText maintains a cache to avoid expensive re-normalization of commonly used titles.
const GAID_FOR_UPDATE = 1
 Used to be GAID_FOR_UPDATE define.

Protected Member Functions

 getUserPermissionsErrorsInternal ($action, $user, $doExpensiveQueries=true, $short=false)
 Can $user perform $action on this page? This is an internal function, which checks ONLY that previously checked by userCan (i.e.
 validateFileMoveOperation ($nt)
 Check if the requested move target is a valid file move target.

Static Protected Member Functions

static getSelectFields ()
 Returns a list of fields that are to be selected for initializing Title objects or LinkCache entries.

Private Member Functions

 checkActionPermissions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check action permissions not already checked in checkQuickPermissions.
 checkCascadingSourcesRestrictions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check restrictions on cascading pages.
 checkCSSandJSPermissions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check CSS/JS sub-page permissions.
 checkPageRestrictions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check against page_restrictions table requirements on this page.
 checkPermissionHooks ($action, $user, $errors, $doExpensiveQueries, $short)
 Check various permission hooks.
 checkQuickPermissions ($action, $user, $errors, $doExpensiveQueries, $short)
 Permissions checks that fail most often, and which are easiest to test.
 checkReadPermissions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check that the user is allowed to read this page.
 checkSpecialsAndNSPermissions ($action, $user, $errors, $doExpensiveQueries, $short)
 Check permissions on special pages & namespaces.
 checkUserBlock ($action, $user, $errors, $doExpensiveQueries, $short)
 Check that the user isn't blocked from editing.
 getTitleProtection ()
 Is this title subject to title protection? Title protection is the one applied against creation of such title.
 loadRestrictionsFromResultWrapper ($res, $oldFashionedRestrictions=null)
 Loads a string into mRestrictions array.
 missingPermissionError ($action, $short)
 Get a description array when the user doesn't have the right to perform $action (i.e.
 moveToInternal (&$nt, $reason= '', $createRedirect=true)
 Move page to a title which is either a redirect to the source page or nonexistent.
 prefix ($name)
 Prefix some arbitrary text with the namespace or interwiki prefix of this object.
 resultToError ($errors, $result)
 Add the resulting error code to the errors array.
 secureAndSplit ()
 Secure and split - main initialisation function for this object.

Static Private Member Functions

static fixUrlQueryArgs ($query, $query2=false)
 Helper to fix up the get{Local,Full,Link,Canonical}URL args get{Canonical,Full,Link,Local}URL methods accepted an optional second argument named variant.

Static Private Attributes

Static cache variables
static $titleCache = array()

Private member variables

Please use the accessor functions instead.

Access:
private
 $mTextform = ''
 Cascade restrictions on this page to included templates and images?
 $mUrlform = ''
 Cascade restrictions on this page to included templates and images?
 $mDbkeyform = ''
 Cascade restrictions on this page to included templates and images?
 $mUserCaseDBKey
 Cascade restrictions on this page to included templates and images?
 $mNamespace = NS_MAIN
 Cascade restrictions on this page to included templates and images?
 $mInterwiki = ''
 Cascade restrictions on this page to included templates and images?
 $mFragment
 Cascade restrictions on this page to included templates and images?
 $mArticleID = -1
 Cascade restrictions on this page to included templates and images?
 $mLatestID = false
 Cascade restrictions on this page to included templates and images?
 $mContentModel = false
 Cascade restrictions on this page to included templates and images?
 $mRestrictions = array()
 Cascade restrictions on this page to included templates and images?
 $mOldRestrictions = false
 Cascade restrictions on this page to included templates and images?
 $mCascadeRestriction
 Cascade restrictions on this page to included templates and images?
 $mCascadingRestrictions
 Cascade restrictions on this page to included templates and images?
 $mRestrictionsExpiry = array()
 When do the restrictions on this page expire?
 $mHasCascadingRestrictions
 Are cascading restrictions in effect on this page?
 $mCascadeSources
 Where are the cascading restrictions coming from on this page?
 $mRestrictionsLoaded = false
 Boolean for initialisation on demand.
 $mPrefixedText
 Text form including namespace/interwiki, initialised on demand.
 $mTitleProtection
 Cached value for getTitleProtection (create protection)
 $mDefaultNamespace = NS_MAIN
 Cascade restrictions on this page to included templates and images?
 $mWatched = null
 Cascade restrictions on this page to included templates and images?
 $mLength = -1
 Cascade restrictions on this page to included templates and images?
 $mRedirect = null
 Cascade restrictions on this page to included templates and images?
 $mNotificationTimestamp = array()
 Cascade restrictions on this page to included templates and images?
 $mHasSubpage
 Cascade restrictions on this page to included templates and images?
 $mEstimateRevisions
 Cascade restrictions on this page to included templates and images?

Detailed Description

Represents a title within MediaWiki.

Optionally may contain an interwiki designation or namespace.

Note:
This class can fetch various kinds of data from the database; however, it does so inefficiently.

Definition at line 33 of file Title.php.


Constructor & Destructor Documentation

Constructor.

Definition at line 94 of file Title.php.


Member Function Documentation

Return a string representation of this title.

Returns:
String representation of this title

Definition at line 1165 of file Title.php.

References getPrefixedText().

Returns cascading restrictions for the current article.

Returns:
Boolean

Reimplemented in FakeTitle.

Definition at line 2631 of file Title.php.

References loadRestrictions().

Is this in a namespace that allows actual pages?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 773 of file Title.php.

Could this title have a corresponding talk page?

Returns:
Bool TRUE or FALSE

Reimplemented in FakeTitle.

Definition at line 763 of file Title.php.

References MWNamespace\canTalk().

Whether the magic words __INDEX__ and __NOINDEX__ function for this page.

Returns:
Boolean

Reimplemented in FakeTitle.

Definition at line 4695 of file Title.php.

References global.

static Title::capitalize ( text,
ns = NS_MAIN 
) [static]

Capitalize a text string for a title if it belongs to a namespace that capitalizes.

Parameters:
string$textcontaining title to capitalize
int$nsnamespace index, defaults to NS_MAIN
Returns:
String containing capitalized title

Definition at line 3068 of file Title.php.

References $wgContLang, global, and MWNamespace\isCapitalized().

Referenced by CategoryPager\__construct(), UploadBase\checkWarnings(), WithoutInterwikiPage\execute(), and secureAndSplit().

Title::checkActionPermissions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check action permissions not already checked in checkQuickPermissions.

Parameters:
string$actionthe action to check
$userUser to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1978 of file Title.php.

References $user, $wgLang, array(), getNsText(), getTitleProtection(), getUserPermissionsErrorsInternal(), global, isBigDeletion(), MWNamespace\isMovable(), isMovable(), userCan(), and User\whoIs().

Title::checkCascadingSourcesRestrictions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check restrictions on cascading pages.

Parameters:
string$actionthe action to check
$userUser to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1939 of file Title.php.

References $page, $user, array(), as, getCascadeProtectionSources(), isCssJsSubpage(), and list.

Title::checkCSSandJSPermissions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check CSS/JS sub-page permissions.

Parameters:
string$actionthe action to check
$userUser user to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1879 of file Title.php.

References $user, array(), isCssSubpage(), and isJsSubpage().

Title::checkPageRestrictions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check against page_restrictions table requirements on this page.

The user must possess all required rights for this action.

Parameters:
string$actionthe action to check
$userUser user to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1908 of file Title.php.

References $user, array(), as, and getRestrictions().

Title::checkPermissionHooks ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check various permission hooks.

Parameters:
string$actionthe action to check
$userUser user to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1817 of file Title.php.

References $result, $user, array(), resultToError(), and wfRunHooks().

Title::checkQuickPermissions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Permissions checks that fail most often, and which are easiest to test.

Parameters:
string$actionthe action to check
$userUser user to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1734 of file Title.php.

References $user, array(), User\groupHasPermission(), isSubpage(), isTalkPage(), and missingPermissionError().

Title::checkReadPermissions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check that the user is allowed to read this page.

Parameters:
string$actionthe action to check
$userUser to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 2099 of file Title.php.

References $name, $user, array(), as, empty, getDBkey(), getNamespace(), getPrefixedDBkey(), getPrefixedText(), SpecialPage\getTitleFor(), global, User\groupHasPermission(), isSpecial(), isSpecialPage(), list, missingPermissionError(), SpecialPageFactory\resolveAlias(), and wfRunHooks().

Title::checkSpecialsAndNSPermissions ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check permissions on special pages & namespaces.

Parameters:
string$actionthe action to check
$userUser user to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 1850 of file Title.php.

References $user, array(), getNsText(), isNamespaceProtected(), and wfMessage().

Title::checkUserBlock ( action,
user,
errors,
doExpensiveQueries,
short 
) [private]

Check that the user isn't blocked from editing.

Parameters:
string$actionthe action to check
$userUser to check
array$errorslist of current errors
$doExpensiveQueriesBoolean whether or not to perform expensive queries
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 2034 of file Title.php.

References $link, $name, $user, $wgContLang, $wgLang, array(), false, global, wfMessage(), wfTimestamp(), and User\whoIs().

static Title::compare ( a,
b 
) [static]

Callback for usort() to do title sorts by (namespace, title)

Parameters:
$aTitle
$bTitle
Returns:
Integer: result of string comparison, or namespace comparison

Definition at line 562 of file Title.php.

Referenced by ApiQueryInfo\execute().

Title::countAuthorsBetween ( old,
new,
limit,
options = array() 
)

Get the number of authors between the given revisions or revision IDs.

Used for diffs and other things that really need it.

Parameters:
int | Revision$oldOld revision or rev ID (first before range by default)
int | Revision$newNew revision or rev ID (first after range by default)
int$limitMaximum number of authors
string | array$options(Optional): Single option, or an array of options: 'include_old' Include $old in the range; $new is excluded. 'include_new' Include $new in the range; $old is excluded. 'include_both' Include both $old and $new in the range. Unknown option values are ignored.
Returns:
int Number of revision authors in the range; zero if not both revisions exist

Definition at line 4293 of file Title.php.

References $dbr, $limit, $options, $res, array(), getArticleID(), Revision\newFromTitle(), and wfGetDB().

Title::countRevisionsBetween ( old,
new 
)

Get the number of revisions between the given revision.

Used for diffs and other things that really need it.

Parameters:
int | Revision$oldOld revision or rev ID (first before range)
int | Revision$newNew revision or rev ID (first after range)
Returns:
Int Number of revisions between these revisions.

Reimplemented in FakeTitle.

Definition at line 4258 of file Title.php.

References $dbr, array(), getArticleID(), Revision\newFromTitle(), and wfGetDB().

Remove any title protection due to page existing.

Reimplemented in FakeTitle.

Definition at line 2398 of file Title.php.

References array(), getDBkey(), getNamespace(), and wfGetDB().

Title::equals ( Title title)

Compare with another title.

Parameters:
$titleTitle
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4346 of file Title.php.

References getDBkey(), getInterwiki(), and getNamespace().

Referenced by inNamespace(), isMainPage(), and isValidMoveOperation().

Title::escapeCanonicalURL ( query = '',
query2 = false 
)

HTML-escaped version of getCanonicalURL()

See getLocalURL for the arguments.

See also:
self::getLocalURL
Since:
1.18
Returns:
string
Deprecated:
since 1.19

Definition at line 1607 of file Title.php.

References $query, getCanonicalURL(), and wfDeprecated().

static Title::escapeFragmentForURL ( fragment) [static]

Escape a text fragment, say from a link, for a URL.

Parameters:
string$fragmentcontaining a URL or link fragment (after the "#")
Returns:
String: escaped string

Definition at line 546 of file Title.php.

References Sanitizer\escapeId().

Referenced by getFragmentForURL().

Title::escapeFullURL ( query = '',
query2 = false 
)

Get an HTML-escaped version of the URL form, suitable for using in a link, including the server name and fragment.

See getLocalURL for the arguments.

See also:
self::getLocalURL
Returns:
String the URL
Deprecated:
since 1.19

Reimplemented in FakeTitle.

Definition at line 1549 of file Title.php.

References $query, getFullURL(), and wfDeprecated().

Title::escapeLocalURL ( query = '',
query2 = false 
)

Get an HTML-escaped version of the URL form, suitable for using in a link, without a server name or fragment.

See getLocalURL for the arguments.

See also:
self::getLocalURL
Parameters:
$querystring
$query2bool|string
Returns:
String the URL
Deprecated:
since 1.19

Reimplemented in FakeTitle.

Definition at line 1534 of file Title.php.

References $query, getLocalURL(), and wfDeprecated().

Get the approximate revision count of this page.

Returns:
int

Definition at line 4236 of file Title.php.

References $dbr, array(), exists(), getArticleID(), and wfGetDB().

Referenced by isBigDeletion().

Check if page exists.

For historical reasons, this function simply checks for the existence of the title in the page table, and will thus return false for interwiki links, special pages and the like. If you want to know if a title can be meaningfully viewed, you should probably call the isKnown() method instead.

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4374 of file Title.php.

References getArticleID().

Referenced by estimateRevisionCount(), getRestrictionTypes(), getTitleProtection(), hasSourceText(), isAlwaysKnown(), isKnown(), isSemiProtected(), isValidMoveOperation(), and loadRestrictions().

If the Title refers to a special page alias which is not the local default, resolve the alias, and localise the name as necessary.

Otherwise, return $this

Returns:
Title

Reimplemented in FakeTitle.

Definition at line 817 of file Title.php.

References SpecialPageFactory\getLocalNameFor(), isSpecialPage(), list, makeTitle(), and SpecialPageFactory\resolveAlias().

static Title::fixUrlQueryArgs ( query,
query2 = false 
) [static, private]

Helper to fix up the get{Local,Full,Link,Canonical}URL args get{Canonical,Full,Link,Local}URL methods accepted an optional second argument named variant.

This was deprecated in favor of passing an array of option with a "variant" key Once $query2 is removed for good, this helper can be dropped and the wfArrayToCgi moved to getLocalURL();

Since:
1.19 (r105919)
Parameters:
$query
$query2bool
Returns:
String

Definition at line 1342 of file Title.php.

References $query, array(), wfArrayToCgi(), and wfDeprecated().

Referenced by getCanonicalURL(), getFullURL(), getInternalURL(), and getLocalURL().

Flush the protection cache in this object and force reload from the database.

This is used when updating protection from WikiPage::doUpdateRestrictions().

Definition at line 2788 of file Title.php.

Get a backlink cache object.

Returns:
BacklinkCache

Reimplemented in FakeTitle.

Definition at line 4686 of file Title.php.

References BacklinkCache\get().

Get the base page name without a namespace, i.e.

the part before the subpage name

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getBaseText();
 # returns: 'Foo/Bar'
Returns:
String Base name

Reimplemented in FakeTitle.

Definition at line 1230 of file Title.php.

References getText(), and MWNamespace\hasSubpages().

Referenced by getBaseTitle().

Get the base page name title, i.e.

the part before the subpage name

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getBaseTitle();
 # returns: Title{User:Foo/Bar}
Returns:
Title Base title
Since:
1.20

Definition at line 1255 of file Title.php.

References getBaseText(), getNamespace(), and makeTitle().

Get an array of Title objects referring to non-existent articles linked from this page.

Todo:
check if needed (used only in SpecialBrokenRedirects.php, and should use redirect table in this case)
Returns:
Array of Title the Title objects

Reimplemented in FakeTitle.

Definition at line 3418 of file Title.php.

References $dbr, $res, array(), as, getArticleID(), makeTitle(), and wfGetDB().

Title::getCanonicalURL ( query = '',
query2 = false 
)

Get the URL for a canonical link, for use in things like IRC and e-mail notifications.

Uses $wgCanonicalServer and the GetCanonicalURL hook.

NOTE: Unlike getInternalURL(), the canonical URL includes the fragment

See getLocalURL for the arguments.

See also:
self::getLocalURL
Returns:
string The URL
Since:
1.18

Definition at line 1590 of file Title.php.

References $query, $url, array(), fixUrlQueryArgs(), getFragmentForURL(), getLocalURL(), wfExpandUrl(), and wfRunHooks().

Referenced by escapeCanonicalURL().

Cascading protection: Get the source of any cascading restrictions on this page.

Parameters:
bool$getPagesWhether or not to retrieve the actual pages that the restrictions have come from.
Returns:
Mixed Array of Title objects of the pages from which cascading restrictions have come, false for none, or true if such restrictions exist, but $getPages was not set. The restriction array is an array of each type, each of which contains a array of unique groups.

Reimplemented in FakeTitle.

Definition at line 2507 of file Title.php.

References $dbr, $res, $wgContLang, array(), as, getDBkey(), getNamespace(), global, makeTitle(), purgeExpiredRestrictions(), wfGetDB(), wfProfileIn(), wfProfileOut(), and wfTimestampNow().

Referenced by checkCascadingSourcesRestrictions(), and isCascadeProtected().

Title::getCategorySortkey ( prefix = '')

Returns the raw sort key to be used for categories, with the specified prefix.

This will be fed to Collation::getSortKey() to get a binary sortkey that can be used for actual sorting.

Parameters:
string$prefixThe prefix to be used, specified using {{defaultsort:}} or like [[Category:Foo|prefix]]. Empty for no prefix.
Returns:
string

Definition at line 4716 of file Title.php.

References array(), getText(), and wfRunHooks().

Get the page's content model id, see the CONTENT_MODEL_XXX constants.

Exceptions:
MWException
Returns:
String: Content model id

Definition at line 682 of file Title.php.

References ContentHandler\getDefaultModelFor(), and LinkCache\singleton().

Referenced by ContentHandler\getForTitle(), hasContentModel(), isValidMoveOperation(), loadFromRow(), and makeTitle().

Get the default message text or false if the message doesn't exist.

Returns:
String or false

Definition at line 4480 of file Title.php.

References $name, $wgContLang, getNamespace(), global, list, MessageCache\singleton(), and wfMessage().

Get the default namespace index, for when there is no namespace.

Returns:
Int Default namespace index

Reimplemented in FakeTitle.

Definition at line 1063 of file Title.php.

Title::getEarliestRevTime ( flags = 0)

Get the oldest revision timestamp of this page.

Parameters:
int$flagsTitle::GAID_FOR_UPDATE
Returns:
String: MW timestamp

Reimplemented in FakeTitle.

Definition at line 4200 of file Title.php.

References $flags, $rev, and getFirstRevision().

Get a list of rendered edit notices for this page.

Array is keyed by the original message key, and values are rendered using parseAsBlock, so they will already be wrapped in paragraphs.

Since:
1.21
Returns:
Array

Definition at line 4796 of file Title.php.

References array(), getDBkey(), getNamespace(), MWNamespace\hasSubpages(), and wfMessage().

Get the edit URL for this Title.

Returns:
String the URL, or a null string if this is an interwiki link

Reimplemented in FakeTitle.

Definition at line 1618 of file Title.php.

References $s, and getLocalURL().

Get the HTML-escaped displayable text form.

Used for the title field in tags.

Returns:
String the text, including any prefixes
Deprecated:
since 1.19

Reimplemented in FakeTitle.

Definition at line 1302 of file Title.php.

References getPrefixedText(), and wfDeprecated().

static Title::getFilteredRestrictionTypes ( exists = true) [static]

Get a filtered list of all restriction types supported by this wiki.

Parameters:
bool$existsTrue to get all restriction types that apply to titles that do exist, False for all restriction types that apply to titles that do not exist
Returns:
array

Definition at line 2300 of file Title.php.

References array(), and global.

Referenced by ApiQueryAllPages\getAllowedParams(), getRestrictionTypes(), and SpecialProtectedpages\getTypeMenu().

Title::getFirstRevision ( flags = 0)

Get the first revision of the page.

Parameters:
int$flagsTitle::GAID_FOR_UPDATE
Returns:
Revision|Null if page doesn't exist

Reimplemented in FakeTitle.

Definition at line 4178 of file Title.php.

References $flags, array(), GAID_FOR_UPDATE, getArticleID(), Revision\selectFields(), and wfGetDB().

Referenced by getEarliestRevTime().

Get the Title fragment (i.e. the bit after the #) in text form.

Returns:
String Title fragment

Reimplemented in FakeTitle.

Definition at line 1082 of file Title.php.

Referenced by getLinkURL(), and Linker\normaliseSpecialPage().

Get the fragment in URL form, including the "#" character if there is one.

Returns:
String Fragment in URL form

Reimplemented in FakeTitle.

Definition at line 1090 of file Title.php.

References escapeFragmentForURL().

Referenced by getCanonicalURL(), getFullURL(), and getLinkURL().

Get the prefixed title with spaces, plus any fragment (part beginning with '#')

Returns:
String the prefixed title, with spaces and the fragment, including '#'

Reimplemented in FakeTitle.

Definition at line 1175 of file Title.php.

References getPrefixedText().

Referenced by getParentCategories(), and WikitextContent\updateRedirect().

Title::getFullURL ( query = '',
query2 = false,
proto = PROTO_RELATIVE 
)

Get a real URL referring to this title, with interwiki link and fragment.

See getLocalURL for the arguments.

See also:
self::getLocalURL
wfExpandUrl
Parameters:
$query
$query2bool
$protoProtocol type to use in URL
Returns:
String the URL

Definition at line 1380 of file Title.php.

References $query, $url, array(), fixUrlQueryArgs(), getFragmentForURL(), getLocalURL(), wfExpandUrl(), and wfRunHooks().

Referenced by escapeFullURL(), and getLinkURL().

Get title for search index.

Returns:
String a stripped-down title string ready for the search index

Reimplemented in FakeTitle.

Definition at line 1073 of file Title.php.

References indexTitle().

Title::getInternalURL ( query = '',
query2 = false 
)

Get the URL form for an internal link.

  • Used in various Squid-related code, in case we have a different internal hostname for the server from the exposed one.

This uses $wgInternalServer to qualify the path, or $wgServer if $wgInternalServer is not set. If the server variable used is protocol-relative, the URL will be expanded to http://

See getLocalURL for the arguments.

See also:
self::getLocalURL
Returns:
String the URL

Reimplemented in FakeTitle.

Definition at line 1568 of file Title.php.

References $query, $url, array(), fixUrlQueryArgs(), getLocalURL(), global, wfExpandUrl(), and wfRunHooks().

Referenced by getSquidURLs().

Get the interwiki prefix (or null string)

Returns:
String Interwiki prefix

Reimplemented in FakeTitle.

Definition at line 600 of file Title.php.

Referenced by equals(), DoubleRedirectJob\getFinalDestination(), getRedirectsHere(), isMovable(), and isSubpageOf().

Title::getLatestRevID ( flags = 0)

What is the page_latest field for this page?

Parameters:
int$flagsa bit field; may be Title::GAID_FOR_UPDATE to select for update
Exceptions:
MWException
Returns:
Int or 0 if the page doesn't exist

Reimplemented in FakeTitle.

Definition at line 3011 of file Title.php.

References $flags, cache, check, GAID_FOR_UPDATE, getArticleID(), getPrefixedDBkey(), LinkCache\singleton(), that, and title.

Title::getLength ( flags = 0)

What is the length of this page? Uses link cache, adding it if necessary.

Parameters:
int$flagsa bit field; may be Title::GAID_FOR_UPDATE to select for update
Returns:
Int

Reimplemented in FakeTitle.

Definition at line 2982 of file Title.php.

References $flags, cache, check, getArticleID(), getPrefixedDBkey(), LinkCache\singleton(), that, title, wfBacktrace(), and wfDebug().

Title::getLinksFrom ( options = array(),
table = 'pagelinks',
prefix = 'pl' 
)

Get an array of Title objects linked from this Title Also stores the IDs in the link cache.

WARNING: do not use this function on arbitrary user-supplied titles! On heavily-used templates it will max out the memory.

Parameters:
array$optionsmay be FOR UPDATE
string$tabletable name
string$prefixfields prefix
Returns:
Array of Title objects linking here

Definition at line 3349 of file Title.php.

References $options, $res, array(), as, getArticleID(), global, makeTitle(), LinkCache\singleton(), and wfGetDB().

Referenced by getTemplateLinksFrom().

Title::getLinksTo ( options = array(),
table = 'pagelinks',
prefix = 'pl' 
)

Get an array of Title objects linking to this Title Also stores the IDs in the link cache.

WARNING: do not use this function on arbitrary user-supplied titles! On heavily-used templates it will max out the memory.

Parameters:
array$optionsmay be FOR UPDATE
string$tabletable name
string$prefixfields prefix
Returns:
Array of Title objects linking here

Reimplemented in FakeTitle.

Definition at line 3291 of file Title.php.

References $options, $res, array(), as, getDBkey(), getNamespace(), makeTitle(), LinkCache\singleton(), and wfGetDB().

Referenced by getTemplateLinksTo().

Title::getLinkURL ( query = '',
query2 = false,
proto = PROTO_RELATIVE 
)

Get a URL that's the simplest URL that will be valid to link, locally, to the current Title.

It includes the fragment, but does not include the server unless action=render is used (or the link is external). If there's a fragment but the prefixed text is empty, we just return a link to the fragment.

The result obviously should not be URL-escaped, but does need to be HTML-escaped if it's being output in HTML.

See getLocalURL for the arguments.

Parameters:
$query
$query2bool
$protoProtocol to use; setting this will cause a full URL to be used
See also:
self::getLocalURL
Returns:
String the URL

Definition at line 1509 of file Title.php.

References $query, $ret, getFragment(), getFragmentForURL(), getFullURL(), getLocalURL(), getPrefixedText(), isExternal(), wfProfileIn(), and wfProfileOut().

Title::getLocalURL ( query = '',
query2 = false 
)

Get a URL with no fragment or server name.

If this page is generated with action=render, $wgServer is prepended.

Parameters:
string | array$queryan optional query string, not used for interwiki links. Can be specified as an associative array as well, e.g., array( 'action' => 'edit' ) (keys and values will be URL-escaped). Some query patterns will trigger various shorturl path replacements.
$query2Mixed: An optional secondary query array. This one MUST be an array. If a string is passed it will be interpreted as a deprecated variant argument and urlencoded into a variant= argument. This second query argument will be added to the $query The second parameter is deprecated since 1.19. Pass it as a key,value pair in the first parameter array instead.
Returns:
String the URL

Reimplemented in FakeTitle.

Definition at line 1416 of file Title.php.

References $matches, $query, $url, $wgActionPaths, $wgArticlePath, array(), empty, Interwiki\fetch(), fixUrlQueryArgs(), getDBkey(), getNsText(), getPageLanguage(), getPrefixedDBkey(), global, wfAppendQuery(), wfRunHooks(), and wfUrlencode().

Referenced by escapeLocalURL(), getCanonicalURL(), getEditURL(), getFullURL(), getInternalURL(), getLinkURL(), and Linker\makeThumbLink2().

Title::getNamespaceKey ( prepend = 'nstab-')

Generate strings used for xml 'id' names in monobook tabs.

Parameters:
string$prependdefaults to 'nstab-'
Returns:
String XML 'id' name

Reimplemented in FakeTitle.

Definition at line 4597 of file Title.php.

References $wgContLang, MWNamespace\exists(), MWNamespace\getCanonicalName(), getNamespace(), MWNamespace\getSubject(), getSubjectNsText(), and global.

Title::getNextRevisionID ( revId,
flags = 0 
)

Get the revision ID of the next revision.

Parameters:
int$revIdRevision ID. Get the revision that was after this one.
int$flagsTitle::GAID_FOR_UPDATE
Returns:
Int|Bool Next revision ID, or FALSE if none exists

Reimplemented in FakeTitle.

Definition at line 4154 of file Title.php.

References $flags, array(), GAID_FOR_UPDATE, getArticleID(), and wfGetDB().

Title::getNotificationTimestamp ( user = null)

Get the timestamp when this page was updated since the user last saw it.

Parameters:
$userUser
Returns:
String|Null

Reimplemented in FakeTitle.

Definition at line 4559 of file Title.php.

References $dbr, $user, $wgUser, array(), getDBkey(), getNamespace(), global, and wfGetDB().

Get the language in which the content of this page is written in wikitext.

Defaults to $wgContLang, but in certain cases it can be e.g. $wgLang (such as special pages, which are in the user language).

Since:
1.18
Returns:
Language

Definition at line 4743 of file Title.php.

References $wgLang, ContentHandler\getForTitle(), global, isSpecialPage(), and wfGetLangObj().

Referenced by getLocalURL(), and getSquidURLs().

Get the language in which the content of this page is written when viewed by user.

Defaults to $wgContLang, but in certain cases it can be e.g. $wgLang (such as special pages, which are in the user language).

Since:
1.20
Returns:
Language

Definition at line 4766 of file Title.php.

References $wgLang, Language\factory(), ContentHandler\getForTitle(), global, and isSpecialPage().

Get categories to which this Title belongs and return an array of categories' names.

Returns:
Array of parents in the form: $parent => $currentarticle

Reimplemented in FakeTitle.

Definition at line 4051 of file Title.php.

References $dbr, $res, $wgContLang, array(), as, getArticleID(), getFullText(), global, and wfGetDB().

Referenced by getParentCategoryTree().

Title::getParentCategoryTree ( children = array())

Get a tree of parent categories.

Parameters:
array$childrenwith the children in the keys, to check for circular refs
Returns:
Array Tree of parent categories

Reimplemented in FakeTitle.

Definition at line 4086 of file Title.php.

References array(), as, getParentCategories(), and newFromText().

Get the URL-encoded form of the main part.

Returns:
String Main part of the title, URL-encoded

Reimplemented in FakeTitle.

Definition at line 645 of file Title.php.

Get the prefixed database key form.

Returns:
String the prefixed title, with underscores and any interwiki and namespace prefixes

Reimplemented in FakeTitle.

Definition at line 1138 of file Title.php.

References $s, and prefix().

Referenced by checkReadPermissions(), DoubleRedirectJob\getFinalDestination(), getLatestRevID(), getLength(), getLocalURL(), isRedirect(), isValidMoveTarget(), and Linker\makeImageLink().

Get the prefixed title with spaces.

This is the form usually used for display

Returns:
String the prefixed title, with spaces

Reimplemented in FakeTitle.

Definition at line 1150 of file Title.php.

References $s, empty, and prefix().

Referenced by __toString(), Linker\buildRollbackLink(), checkReadPermissions(), getEscapedText(), getFullText(), getLinkURL(), getRestrictionTypes(), SpecialContributions\getUserLinks(), invalidateCache(), Linker\makeBrokenImageLinkObj(), WikitextContentHandler\makeRedirectContent(), and moveTo().

Get a URL-encoded title (not an actual URL) including interwiki.

Returns:
String the URL-encoded form

Reimplemented in FakeTitle.

Definition at line 1323 of file Title.php.

References $s, prefix(), and wfUrlencode().

Title::getPreviousRevisionID ( revId,
flags = 0 
)

Get the revision ID of the previous revision.

Parameters:
int$revIdRevision ID. Get the revision that was before this one.
int$flagsTitle::GAID_FOR_UPDATE
Returns:
Int|Bool Old revision ID, or FALSE if none exists

Reimplemented in FakeTitle.

Definition at line 4129 of file Title.php.

References $flags, array(), GAID_FOR_UPDATE, getArticleID(), and wfGetDB().

Title::getRedirectsHere ( ns = null)

Get all extant redirects to this Title.

Parameters:
int | Null$nsSingle namespace to consider; NULL to consider all namespaces
Returns:
Array of Title redirects to this title

Reimplemented in FakeTitle.

Definition at line 4628 of file Title.php.

References $dbr, $res, array(), as, getDBkey(), getInterwiki(), getNamespace(), isExternal(), newFromRow(), and wfGetDB().

Get the expiry time for the restriction against a given action.

Parameters:
$action
Returns:
String|Bool 14-char timestamp, or 'infinity' if the page is protected forever or not protected at all, or false if the action is not recognised.

Reimplemented in FakeTitle.

Definition at line 2619 of file Title.php.

References loadRestrictions().

Title::getRestrictions ( action)

Accessor/initialisation for mRestrictions.

Parameters:
string$actionaction that permission needs to be checked for
Returns:
Array of Strings the array of groups allowed to edit this article

Reimplemented in FakeTitle.

Definition at line 2603 of file Title.php.

References array(), and loadRestrictions().

Referenced by checkPageRestrictions(), isProtected(), and isSemiProtected().

Returns restriction types for the current Title.

Returns:
array applicable restriction types

Reimplemented in FakeTitle.

Definition at line 2318 of file Title.php.

References array(), exists(), getFilteredRestrictionTypes(), getNamespace(), getPrefixedText(), isSpecialPage(), wfDebug(), and wfRunHooks().

Referenced by isProtected(), and loadRestrictionsFromRows().

Get the root page name text without a namespace, i.e.

the leftmost part before any slashes

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getRootText();
 # returns: 'Foo'
Returns:
String Root name
Since:
1.20

Definition at line 1195 of file Title.php.

References getText(), and MWNamespace\hasSubpages().

Referenced by getRootTitle().

Get the root page name title, i.e.

the leftmost part before any slashes

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getRootTitle();
 # returns: Title{User:Foo}
Returns:
Title Root title
Since:
1.20

Definition at line 1215 of file Title.php.

References getNamespace(), getRootText(), and makeTitle().

static Title::getSelectFields ( ) [static, protected]

Returns a list of fields that are to be selected for initializing Title objects or LinkCache entries.

Uses $wgContentHandlerUseDB to determine whether to include page_content_model.

Returns:
array

Definition at line 208 of file Title.php.

References array(), and global.

Trim down a .css or .js subpage title to get the corresponding skin name.

Returns:
string containing skin name from .css or .js subpage title

Reimplemented in FakeTitle.

Definition at line 996 of file Title.php.

References in.

Get a list of URLs to purge from the Squid cache when this page changes.

Returns:
Array of String the URLs

Reimplemented in FakeTitle.

Definition at line 3454 of file Title.php.

References $urls, array(), as, getInternalURL(), and getPageLanguage().

Referenced by purgeSquid().

Get the namespace text of the subject (rather than talk) page.

Returns:
String Namespace text

Reimplemented in FakeTitle.

Definition at line 743 of file Title.php.

References $wgContLang, MWNamespace\getSubject(), and global.

Referenced by getNamespaceKey().

Get a title object associated with the subject page of this talk page.

Returns:
Title the object for the subject page

Reimplemented in FakeTitle.

Definition at line 1049 of file Title.php.

References getDBkey(), getNamespace(), MWNamespace\getSubject(), and makeTitle().

Title::getSubpage ( text)

Get the title for a subpage of the current page.

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getSubpage("Asdf");
 # returns: Title{User:Foo/Bar/Baz/Asdf}
Parameters:
string$textThe subpage name to add to the title
Returns:
Title Subpage title
Since:
1.20

Definition at line 1291 of file Title.php.

References getNamespace(), getText(), and makeTitleSafe().

Title::getSubpages ( limit = -1)

Get all subpages of this page.

Parameters:
int$limitmaximum number of subpages to fetch; -1 for no limit
Returns:
mixed TitleArray, or empty array if this page's namespace doesn't allow subpages

Reimplemented in FakeTitle.

Definition at line 2848 of file Title.php.

References $dbr, $limit, $options, array(), getDBkey(), getNamespace(), MWNamespace\hasSubpages(), TitleArray\newFromResult(), and wfGetDB().

Referenced by hasSubpages(), and moveSubpages().

Get the lowest-level subpage name, i.e.

the rightmost part after any slashes

Example:
 Title::newFromText('User:Foo/Bar/Baz')->getSubpageText();
 # returns: "Baz"
Returns:
String Subpage name

Reimplemented in FakeTitle.

Definition at line 1270 of file Title.php.

References MWNamespace\hasSubpages().

Referenced by getSubpageUrlForm().

Get a URL-encoded form of the subpage text.

Returns:
String URL-encoded subpage name

Reimplemented in FakeTitle.

Definition at line 1312 of file Title.php.

References getSubpageText(), and wfUrlencode().

Get the namespace text of the talk page.

Returns:
String Namespace text

Reimplemented in FakeTitle.

Definition at line 753 of file Title.php.

References $wgContLang, MWNamespace\getTalk(), and global.

Get a Title object associated with the talk page of this article.

Returns:
Title the object for the talk page

Reimplemented in FakeTitle.

Definition at line 1039 of file Title.php.

References getDBkey(), getNamespace(), MWNamespace\getTalk(), and makeTitle().

Title::getTemplateLinksFrom ( options = array())

Get an array of Title objects used on this Title as a template Also stores the IDs in the link cache.

WARNING: do not use this function on arbitrary user-supplied titles! On heavily-used templates it will max out the memory.

Parameters:
array$optionsmay be FOR UPDATE
Returns:
Array of Title the Title objects used here

Definition at line 3408 of file Title.php.

References $options, and getLinksFrom().

Title::getTemplateLinksTo ( options = array())

Get an array of Title objects using this Title as a template Also stores the IDs in the link cache.

WARNING: do not use this function on arbitrary user-supplied titles! On heavily-used templates it will max out the memory.

Parameters:
array$optionsmay be FOR UPDATE
Returns:
Array of Title the Title objects linking here

Reimplemented in FakeTitle.

Definition at line 3333 of file Title.php.

References $options, and getLinksTo().

Get the text form (spaces not underscores) of the main part.

Returns:
String Main part of the title

Reimplemented in FakeTitle.

Definition at line 636 of file Title.php.

Referenced by CategoryViewer\addSubcategoryObject(), getBaseText(), getCategorySortkey(), ContentHandler\getDefaultModelFor(), getNsText(), ContentHandler\getPageLanguage(), getRootText(), getSubpage(), isConversionTable(), isSubpage(), and Linker\makeMediaLinkFile().

static Title::getTitleInvalidRegex ( ) [static]

Returns a simple regex that will match on characters and sequences invalid in titles.

Note that this doesn't pick up many things that could be wrong with titles, but that replacing this regex with something valid will make many titles valid.

Returns:
String regex string

Definition at line 469 of file Title.php.

References is, legalChars(), and URL.

Referenced by secureAndSplit().

Is this title subject to title protection? Title protection is the one applied against creation of such title.

Returns:
Mixed An associative array representing any existent title protection, or false if there's none.

Definition at line 2345 of file Title.php.

References $dbr, $res, array(), exists(), getDBkey(), getNamespace(), and wfGetDB().

Referenced by checkActionPermissions(), and loadRestrictions().

Title::getTouched ( db = null)

Get the last touched timestamp.

Parameters:
$dbDatabaseBase: optional db
Returns:
String last-touched timestamp

Reimplemented in FakeTitle.

Definition at line 4547 of file Title.php.

References pageCond(), and wfGetDB().

Returns the DB name of the distant wiki which owns the object.

Returns:
String the DB name

Definition at line 623 of file Title.php.

References Interwiki\fetch().

Get the DB key with the initial letter case as specified by the user.

Returns:
String DB key

Reimplemented in FakeTitle.

Definition at line 663 of file Title.php.

Title::getUserPermissionsErrors ( action,
user,
doExpensiveQueries = true,
ignoreErrors = array() 
)

Can $user perform $action on this page?

Todo:
FIXME: This *does not* check throttles (User::pingLimiter()).
Parameters:
string$actionaction that permission needs to be checked for
$userUser to check
bool$doExpensiveQueriesSet this to false to avoid doing unnecessary queries by skipping checks for cascading protections and user blocks.
array$ignoreErrorsof Strings Set this to a list of message keys whose corresponding errors may be ignored.
Returns:
Array of arguments to wfMessage to explain permissions problems.

Reimplemented in FakeTitle.

Definition at line 1708 of file Title.php.

References $error, $user, as, and getUserPermissionsErrorsInternal().

Referenced by isValidMoveOperation().

Title::getUserPermissionsErrorsInternal ( action,
user,
doExpensiveQueries = true,
short = false 
) [protected]

Can $user perform $action on this page? This is an internal function, which checks ONLY that previously checked by userCan (i.e.

it leaves out checks on wfReadOnly() and blocks)

Parameters:
string$actionaction that permission needs to be checked for
$userUser to check
bool$doExpensiveQueriesSet this to false to avoid doing unnecessary queries.
bool$shortSet this to true to stop after the first permission error.
Returns:
Array of arrays of the arguments to wfMessage to explain permissions problems.

Definition at line 2230 of file Title.php.

References $user, array(), wfProfileIn(), and wfProfileOut().

Referenced by checkActionPermissions(), getUserPermissionsErrors(), and userCan().

Convenience method for checking a title's content model name.

Parameters:
string$idThe content model ID (use the CONTENT_MODEL_XXX constants).
Returns:
Boolean true if $this->getContentModel() == $id

Definition at line 705 of file Title.php.

References getContentModel().

Referenced by isCssJsSubpage(), isCssOrJsPage(), isCssSubpage(), isJsSubpage(), and isWikitextPage().

Does this page have source text?

Returns:
Boolean

Definition at line 4456 of file Title.php.

References $name, $wgContLang, exists(), global, list, MessageCache\singleton(), and wfMessage().

Referenced by isAlwaysKnown().

Returns true if the title has the same subject namespace as the namespace specified.

For example this method will take NS_USER and return true if namespace is either NS_USER or NS_USER_TALK since both of them have NS_USER as their subject namespace.

This is MUCH simpler than individually testing for equivalence against both NS_USER and NS_USER_TALK, and is also forward compatible.

Since:
1.19
Parameters:
$nsint
Returns:
bool

Definition at line 879 of file Title.php.

References getNamespace(), and MWNamespace\subjectEquals().

Does this have subpages? (Warning, usually requires an extra DB query.)

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2820 of file Title.php.

References getSubpages(), and MWNamespace\hasSubpages().

Referenced by isSubpage().

static Title::indexTitle ( ns,
title 
) [static]

Get a string representation of a title suitable for including in a search index.

Parameters:
int$nsa namespace index
string$titletext-form main part
Returns:
String a stripped-down title string ready for the search index

Definition at line 497 of file Title.php.

References $t, $title, $wgContLang, global, and SearchEngine\legalSearchChars().

Referenced by SearchUpdate\doUpdate(), and getIndexTitle().

Title::inNamespace ( ns)

Returns true if the title is inside the specified namespace.

Please make use of this instead of comparing to getNamespace() This function is much more resistant to changes we may make to namespaces than code that makes direct comparisons.

Parameters:
int$nsThe namespace
Returns:
bool
Since:
1.19

Definition at line 840 of file Title.php.

References equals(), and getNamespace().

Referenced by inNamespaces().

Returns true if the title is inside one of the specified namespaces.

Parameters:
...$namespacesThe namespaces to check for
Returns:
bool
Since:
1.19

Definition at line 851 of file Title.php.

References as, and inNamespace().

Updates page_touched for this page; called from LinksUpdate.php.

Returns:
Bool true if the update succeeded

Reimplemented in FakeTitle.

Definition at line 4502 of file Title.php.

References $success, $wgMemc, array(), HTMLFileCache\clearFileCache(), WikiPage\factory(), getPrefixedText(), global, pageCond(), wfGetDB(), wfMemcKey(), and wfReadOnly().

Should links to this title be shown as potentially viewable (i.e.

as "bluelinks"), even if there's no record by this title in the page table?

This function is semi-deprecated for public use, as well as somewhat misleadingly named. You probably just want to call isKnown(), which calls this function internally.

(ISSUE: Most of these checks are cheap, but the file existence check can potentially be quite expensive. Including it here fixes a lot of existing code, but we might want to add an optional parameter to skip it and any other expensive checks.)

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4394 of file Title.php.

References array(), exists(), getDBkey(), hasSourceText(), wfFindFile(), and wfRunHooks().

Referenced by isKnown().

Check whether the number of revisions of this page surpasses $wgDeleteRevisionsLimit.

Returns:
bool

Definition at line 4220 of file Title.php.

References estimateRevisionCount(), and global.

Referenced by checkActionPermissions().

Cascading protection: Return true if cascading restrictions apply to this page, false if not.

Returns:
Bool If the page is subject to cascading restrictions.

Reimplemented in FakeTitle.

Definition at line 2492 of file Title.php.

References getCascadeProtectionSources(), and list.

Is this Title in a namespace which contains content? In other words, is this a content page, for the purposes of calculating statistics, etc?

Returns:
Boolean

Reimplemented in FakeTitle.

Definition at line 890 of file Title.php.

References getNamespace(), and MWNamespace\isContent().

Is this a conversion table for the LanguageConverter?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 941 of file Title.php.

References getNamespace(), and getText().

Is this a .css or .js subpage of a user page?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 985 of file Title.php.

References hasContentModel(), and isSubpage().

Referenced by checkCascadingSourcesRestrictions().

whether MediaWiki currently thinks this is a CSS JS page Hooks may change this value to override the return value of Title::isCssOrJsPage ( )

Could this page contain custom CSS or JavaScript for the global UI.

This is generally true for pages in the MediaWiki namespace having CONTENT_MODEL_CSS or CONTENT_MODEL_JAVASCRIPT.

This method does *not* return true for per-user JS/CSS. Use isCssJsSubpage() for that!

Note that this method should not return true for pages that contain and show "inactive" CSS or JS.

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 968 of file Title.php.

References array(), hasContentModel(), and wfRunHooks().

Is this a .css subpage of a user page?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1010 of file Title.php.

References hasContentModel(), and isSubpage().

Referenced by checkCSSandJSPermissions().

Is there a version of this page in the deletion archive?

Returns:
Int the number of archived revisions

Reimplemented in FakeTitle.

Definition at line 2875 of file Title.php.

References $dbr, $n, array(), getDBkey(), getNamespace(), and wfGetDB().

Is there a version of this page in the deletion archive?

Returns:
Boolean

Reimplemented in FakeTitle.

Definition at line 2900 of file Title.php.

References $dbr, array(), getDBkey(), getNamespace(), and wfGetDB().

Is this Title interwiki?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 591 of file Title.php.

Referenced by ParserOutput\addLink(), getLinkURL(), getRedirectsHere(), and isWatchable().

Is this a .js subpage of a user page?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1020 of file Title.php.

References hasContentModel(), and isSubpage().

Referenced by checkCSSandJSPermissions().

Does this title refer to a page that can (or might) be meaningfully viewed? In particular, this function may be used to determine if links to the title should be rendered as "bluelinks" (as opposed to "redlinks" to non-existent pages).

Adding something else to this function will cause inconsistency since LinkHolderArray calls isAlwaysKnown() and does its own page existence check.

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4447 of file Title.php.

References exists(), and isAlwaysKnown().

Determine whether the object refers to a page within this project.

Returns:
Bool TRUE if this is an in-project interwiki link or a wikilink, FALSE otherwise

Reimplemented in FakeTitle.

Definition at line 576 of file Title.php.

References Interwiki\fetch().

Is this the mainpage?

Note:
Title::newFromText seems to be sufficiently optimized by the title cache that we don't need to over-optimize by doing direct comparisons and accidentally creating new bugs where $title->equals( Title::newFromText() ) ends up reporting something differently than $title->isMainPage();
Since:
1.18
Returns:
Bool

Definition at line 921 of file Title.php.

References equals(), and newMainPage().

Would anybody with sufficient privileges be able to move this page? Some pages just aren't movable.

Returns:
Bool TRUE or FALSE

Reimplemented in FakeTitle.

Definition at line 900 of file Title.php.

References $result, array(), getInterwiki(), getNamespace(), MWNamespace\isMovable(), and wfRunHooks().

Referenced by checkActionPermissions(), and isValidMoveOperation().

Determines if $user is unable to edit this page because it has been protected by $wgNamespaceProtection.

Parameters:
$userUser object to check permissions
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2474 of file Title.php.

References $wgNamespaceProtection, array(), as, global, and User\isAllowed().

Referenced by checkSpecialsAndNSPermissions().

Check if this is a new page.

Returns:
bool

Reimplemented in FakeTitle.

Definition at line 4210 of file Title.php.

References $dbr, pageCond(), and wfGetDB().

Title::isProtected ( action = '')

Does the title correspond to a protected article?

Parameters:
string$actionthe action the page is protected from, by default checks all actions.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2442 of file Title.php.

References as, getRestrictions(), getRestrictionTypes(), global, and isSpecialPage().

Referenced by moveTo().

Title::isRedirect ( flags = 0)

Is this an article that is a redirect page? Uses link cache, adding it if necessary.

Parameters:
int$flagsa bit field; may be Title::GAID_FOR_UPDATE to select for update
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2951 of file Title.php.

References $flags, getArticleID(), getPrefixedDBkey(), LinkCache\singleton(), wfBacktrace(), and wfDebug().

Referenced by CategoryViewer\addSubcategoryObject().

Title::isSemiProtected ( action = 'edit')

Is this page "semi-protected" - the *only* protection is autoconfirm?

Parameters:
string$actionAction to check (default: edit)
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2415 of file Title.php.

References as, exists(), and getRestrictions().

Checks if this page is just a one-rev redirect.

Adds lock, so don't use just for light purposes.

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 3959 of file Title.php.

References array(), getDBkey(), getNamespace(), global, pageCond(), and wfGetDB().

Title::isSpecial ( name)

Returns true if this title resolves to the named special page.

Parameters:
string$nameThe special page name
Returns:
boolean

Reimplemented in FakeTitle.

Definition at line 801 of file Title.php.

References $name, getDBkey(), isSpecialPage(), list, and SpecialPageFactory\resolveAlias().

Referenced by checkReadPermissions(), and isValidRedirectTarget().

Returns true if this is a special page.

Returns:
boolean

Reimplemented in FakeTitle.

Definition at line 791 of file Title.php.

References getNamespace().

Referenced by SkinTemplate\buildPersonalUrls(), checkReadPermissions(), fixSpecialName(), getPageLanguage(), getPageViewLanguage(), getRestrictionTypes(), isProtected(), isSpecial(), and Linker\normaliseSpecialPage().

Is this a subpage?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 930 of file Title.php.

References getText(), and hasSubpages().

Referenced by checkQuickPermissions(), isCssJsSubpage(), isCssSubpage(), and isJsSubpage().

Title::isSubpageOf ( Title title)

Check if this title is a subpage of another title.

Parameters:
$titleTitle
Returns:
Bool

Definition at line 4359 of file Title.php.

References getDBkey(), getInterwiki(), and getNamespace().

Is this a talk page of some sort?

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1030 of file Title.php.

References getNamespace(), and MWNamespace\isTalk().

Referenced by checkQuickPermissions().

Determine whether the object refers to a page within this project and is transcludable.

Returns:
Bool TRUE if this is transcludable

Reimplemented in FakeTitle.

Definition at line 610 of file Title.php.

References Interwiki\fetch().

Title::isValidMoveOperation ( &$  nt,
auth = true,
reason = '' 
)

Check whether a given move operation would be valid.

Returns true if ok, or a getUserPermissionsErrors()-like array otherwise

Parameters:
$ntTitle the new title
bool$authindicates whether $wgUser's permissions should be checked
string$reasonis the log summary of the move, used for spam checking
Returns:
Mixed True on success, getUserPermissionsErrors()-like array on failure

Reimplemented in FakeTitle.

Definition at line 3503 of file Title.php.

References $wgUser, array(), check, empty, equals(), exists(), getArticleID(), getContentModel(), getDBkey(), ContentHandler\getLocalizedName(), getNamespace(), getNsText(), getUserPermissionsErrors(), global, isMovable(), isValidMoveTarget(), EditPage\matchSummarySpamRegex(), validateFileMoveOperation(), wfMergeErrorArrays(), and wfRunHooks().

Referenced by moveTo().

Checks if $this can be moved to a given Title.

  • Selects for update, so don't call it unless you mean business
Parameters:
$ntTitle the new title to check
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4004 of file Title.php.

References $file, $rev, getPrefixedDBkey(), Revision\newFromTitle(), IDBAccessObject\READ_LATEST, wfDebug(), and wfLocalFile().

Referenced by isValidMoveOperation().

Check if this Title is a valid redirect target.

Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 4664 of file Title.php.

References as, global, and isSpecial().

Can this title be added to a user's watchlist?

Returns:
Bool TRUE or FALSE

Reimplemented in FakeTitle.

Definition at line 782 of file Title.php.

References getNamespace(), and isExternal().

Does that page contain wikitext, or it is JS, CSS or whatever?

Returns:
Bool

Definition at line 953 of file Title.php.

References hasContentModel().

static Title::legalChars ( ) [static]

Get a regex character class describing the legal characters in a link.

Returns:
String the list of characters, not delimited

Definition at line 457 of file Title.php.

References global.

Referenced by ImageCleanup\buildSafeTitle(), languages\getMessagesWithDubiousLinks(), getTitleInvalidRegex(), Parser\pstPass2(), Parser_LinkHooks\replaceInternalLinks2(), TitleTest\testLegalChars(), and wfStripIllegalFilenameChars().

Title::loadFromRow ( row)

Load Title object fields from a DB row.

If false is given, the title will be treated as non-existing.

Parameters:
$rowObject|bool database row

Definition at line 290 of file Title.php.

References getContentModel(), if, and in.

Title::loadRestrictions ( oldFashionedRestrictions = null)

Load restrictions from the page_restrictions table.

Parameters:
string$oldFashionedRestrictionscomma-separated list of page restrictions from page table (pre 1.10)

Reimplemented in FakeTitle.

Definition at line 2747 of file Title.php.

References $dbr, $res, $wgContLang, array(), exists(), getArticleID(), getTitleProtection(), global, loadRestrictionsFromResultWrapper(), purgeExpiredRestrictions(), wfGetDB(), and wfTimestampNow().

Referenced by areRestrictionsCascading(), getRestrictionExpiry(), and getRestrictions().

Title::loadRestrictionsFromResultWrapper ( res,
oldFashionedRestrictions = null 
) [private]

Loads a string into mRestrictions array.

Parameters:
$resResource restrictions as an SQL result.
string$oldFashionedRestrictionscomma-separated list of page restrictions from page table (pre 1.10)

Definition at line 2646 of file Title.php.

References $res, array(), as, and loadRestrictionsFromRows().

Referenced by loadRestrictions().

Title::loadRestrictionsFromRows ( rows,
oldFashionedRestrictions = null 
)

Compiles list of active page restrictions from both page table (pre 1.10) and page_restrictions table for this existing page.

Public for usage by LiquidThreads.

Parameters:
array$rowsof db result objects
string$oldFashionedRestrictionscomma-separated list of page restrictions from page table (pre 1.10)

Reimplemented in FakeTitle.

Definition at line 2665 of file Title.php.

References $dbr, $wgContLang, array(), as, getArticleID(), getRestrictionTypes(), global, purgeExpiredRestrictions(), wfGetDB(), and wfTimestampNow().

Referenced by loadRestrictionsFromResultWrapper().

static Title::makeName ( ns,
title,
fragment = '',
interwiki = '' 
) [static]

Make a prefixed DB key from a DB key and a namespace index.

Parameters:
int$nsnumerical representation of the namespace
string$titlethe DB key form the title
string$fragmentThe link fragment (after the "#")
string$interwikiThe interwiki prefix
Returns:
String the prefixed form of the title

Definition at line 526 of file Title.php.

References $name, $title, $wgContLang, and global.

Referenced by MovePageForm\doSubmit(), makeTitleSafe(), nameOf(), and TitleCleanup\processRow().

static& Title::makeTitle ( ns,
title,
fragment = '',
interwiki = '' 
) [static]

Create a new Title from a namespace index and a DB key.

It's assumed that $ns and $title are *valid*, for instance when they came directly from the database or a special page name. For convenience, spaces are converted to underscores so that eg user_text fields can be used directly.

Parameters:
int$nsthe namespace of the article
string$titlethe unprefixed database key form
string$fragmentthe link fragment (after the "#")
string$interwikithe interwiki prefix
Returns:
Title the new object

Definition at line 326 of file Title.php.

References $t, $title, getContentModel(), in, and wfUrlencode().

Referenced by FakeDimensionFile\__construct(), NewParserTest\addDBData(), LinkBatch\addResultToCache(), ProtectionForm\buildForm(), LocalRepo\checkRedirect(), Orphans\checkSeparation(), CompressOld\compressWithConcat(), SpecialTags\doTagRow(), LinkHolderArray\doVariants(), CheckBadRedirects\execute(), ApiQueryDeletedrevs\execute(), DeleteDefaultMessages\execute(), ApiQueryFilearchive\execute(), DumpSisterSites\execute(), AttachLatest\execute(), FixDoubleRedirects\execute(), DumpLinks\execute(), NukeNS\execute(), DeleteEqualMessages\execute(), ApiQueryRandom\extractRowInfo(), ApiQueryWatchlist\extractRowInfo(), ApiQueryLogEvents\extractRowInfo(), ApiQueryContributions\extractRowInfo(), ApiQueryRecentChanges\extractRowInfo(), ApiFeedContributions\feedItem(), SpecialNewpages\feedItem(), SpecialRecentChanges\filterByCategories(), ForeignAPIRepo\findBySha1(), DoubleRedirectJob\fixRedirects(), fixSpecialName(), FeedUtils\formatDiff(), UncategorizedCategoriesPage\formatResult(), WantedCategoriesPage\formatResult(), UnusedCategoriesPage\formatResult(), AncientPagesPage\formatResult(), UnusedtemplatesPage\formatResult(), MIMEsearchPage\formatResult(), BrokenRedirectsPage\formatResult(), ListredirectsPage\formatResult(), DoubleRedirectsPage\formatResult(), DisambiguationsPage\formatResult(), LinkSearchPage\formatResult(), CategoryPager\formatRow(), NewFilesPager\formatRow(), DeletedContribsPager\formatRow(), ImageListPager\formatValue(), ChangesFeed\generateFeed(), JobQueueDB\getAllQueuedJobs(), getBaseTitle(), getBrokenLinksFrom(), getCascadeProtectionSources(), DoubleRedirectJob\getFinalDestination(), RevDel_LogItem\getHTML(), SpecialExport\getLinks(), getLinksFrom(), getLinksTo(), ApiQueryInfo\getProtectionInfo(), DisambiguationsPage\getQueryFromLinkBatch(), SpecialMypage\getRedirect(), SpecialMytalk\getRedirect(), ListredirectsPage\getRedirectTarget(), ApiPageSet\getRedirectTargets(), RollbackEdits\getRollbackTitles(), getRootTitle(), getSubjectPage(), getTalkPage(), DatabaseLogEntry\getTarget(), RCDatabaseLogEntry\getTarget(), TitleDependency\getTitle(), ResourceLoaderWikiModule\getTitleMtimes(), UserRightsProxy\getUserPage(), ApiPageSet\initFromQueryResult(), MediaWiki\main(), SquidUpdate\newFromLinksTo(), ForeignDBFile\newFromRow(), OldLocalFile\newFromRow(), newFromRow(), PageORMTableForTesting\newRow(), SpecialBlock\postText(), SpecialBlock\processForm(), WatchlistCleanup\processRow(), CapsCleanup\processRow(), SpecialUnblock\processUnblock(), GlobalWithDBTest\provideWfIsBadImageList(), PurgeDeletedFiles\purgeFromLogType(), PurgeList\purgeNamespace(), LinkHolderArray\replaceInternal(), ApiQueryProtectedTitles\run(), ApiQueryLangBacklinks\run(), ApiQueryImages\run(), ApiQueryIWBacklinks\run(), ApiQueryWatchlistRaw\run(), ApiQueryExtLinksUsage\run(), ApiQueryCategoryMembers\run(), ApiQueryCategories\run(), ApiQueryAllCategories\run(), ApiQueryPagesWithProp\run(), ApiQueryAllPages\run(), ApiQueryQueryPage\run(), ApiQueryAllImages\run(), ApiQueryLinks\run(), ApiQueryAllLinks\run(), DoubleRedirectJob\run(), ApiQueryRecentChanges\run(), ArticleTest\setUp(), SpecialRevisionDelete\showForm(), SpecialPrefixindex\showPrefixChunk(), NewParserTest\testFuzzTests(), CoreParserFunctions\urlFunction(), Linker\userLink(), Linker\userTalkLink(), and wfIsBadImage().

static Title::makeTitleSafe ( ns,
title,
fragment = '',
interwiki = '' 
) [static]

Create a new Title from a namespace index and a DB key.

The parameters will be checked for validity, which is a bit slower than makeTitle() but safer for user-provided data.

Parameters:
int$nsthe namespace of the article
string$titledatabase key form
string$fragmentthe link fragment (after the "#")
string$interwikiinterwiki prefix
Returns:
Title the new object, or NULL on an error

Definition at line 350 of file Title.php.

References $t, $title, MWNamespace\exists(), and makeName().

Referenced by UsersPager\__construct(), ImageCleanup\buildSafeTitle(), JobQueueDB\doPop(), MovePageForm\doSubmit(), LinkHolderArray\doVariants(), SpecialContributions\execute(), SpecialExport\execute(), ApiFeedContributions\execute(), ImportSiteScripts\execute(), MovePageForm\execute(), SpecialLog\execute(), RebuildFileCache\execute(), ApiQueryInfo\execute(), SpecialNewpages\form(), Linker\formatAutocommentsCallback(), Linker\formatLinksInCommentCallback(), PageQueryPage\formatResult(), PopularPagesPage\formatResult(), FewestrevisionsPage\formatResult(), UnwatchedpagesPage\formatResult(), MostlinkedCategoriesPage\formatResult(), ShortPagesPage\formatResult(), MostcategoriesPage\formatResult(), MostlinkedPage\formatResult(), MostinterwikisPage\formatResult(), MostlinkedTemplatesPage\formatResult(), SpecialProtectedtitles\formatRow(), SpecialProtectedpages\formatRow(), ImageListPager\formatValue(), Preferences\generateSkinOptions(), CategoryPager\getBody(), LinksUpdate\getCategoryInsertions(), SpecialStatistics\getMostViewedPages(), SpecialEditWatchlist\getNormalForm(), WantedFilesPage\getPageHeader(), ResourceLoaderUserModule\getPages(), DisambiguationsPage\getQueryFromLinkBatch(), RandomPage\getRandomTitle(), LogPager\getStartBody(), MergeHistoryPager\getStartBody(), getSubpage(), SpecialBlock\getTargetUserTitle(), UploadBase\getTitle(), SpecialEditWatchlist\getWatchlist(), LogPager\limitPerformer(), Skin\makeNSUrl(), Linker\makeThumbLink2(), TitleCleanup\moveInconsistentPage(), moveSubpages(), ImageQueryPage\outputResults(), CoreParserFunctions\pagesincategory(), ImageCleanup\processRow(), WikiImporter\processTitle(), RevisionDeleteUser\setUsernameBitfields(), SpecialBookSources\showList(), Preferences\skinPreferences(), PrefixSearch\specialSearch(), ExtraParserTest\testTrackingCategory(), LinksUpdateTest\testUpdate_iwlinks(), and ApiBase\validateUser().

Title::missingPermissionError ( action,
short 
) [private]

Get a description array when the user doesn't have the right to perform $action (i.e.

when User::isAllowed() returns false)

Parameters:
string$actionthe action to check
$shortBoolean short circuit on first error
Returns:
Array list of errors

Definition at line 2198 of file Title.php.

References $wgLang, array(), User\getGroupsWithPermission(), and global.

Referenced by checkQuickPermissions(), and checkReadPermissions().

Title::moveNoAuth ( &$  nt)

Move this page without authentication.

Parameters:
$ntTitle the new page Title
Returns:
Mixed true on success, getUserPermissionsErrors()-like array on failure

Reimplemented in FakeTitle.

Definition at line 3489 of file Title.php.

References moveTo().

Title::moveSubpages ( nt,
auth = true,
reason = '',
createRedirect = true 
)

Move this page's subpages to be subpages of $nt.

Parameters:
$ntTitle Move target
bool$authWhether $wgUser's permissions should be checked
string$reasonThe reason for the move
bool$createRedirectWhether to create redirects from the old subpages to the new ones Ignored if the user doesn't have the 'suppressredirect' right
Returns:
mixed array with old page titles as keys, and strings (new page titles) or arrays (errors) as values, or an error array with numeric indices if no pages were moved

Reimplemented in FakeTitle.

Definition at line 3892 of file Title.php.

References $count, $retval, $success, array(), as, bug, StringUtils\escapeRegexReplacement(), getArticleID(), MWNamespace\getCanonicalName(), getDBkey(), getNamespace(), getSubpages(), global, MWNamespace\hasSubpages(), makeTitleSafe(), and userCan().

Title::moveTo ( &$  nt,
auth = true,
reason = '',
createRedirect = true 
)

Move a title to a new location.

Parameters:
$ntTitle the new title
bool$authindicates whether $wgUser's permissions should be checked
string$reasonthe reason for the move
bool$createRedirectWhether to create a redirect from the old title to the new title. Ignored if the user doesn't have the suppressredirect right.
Returns:
Mixed true on success, getUserPermissionsErrors()-like array on failure

Reimplemented in FakeTitle.

Definition at line 3649 of file Title.php.

References $comment, $file, $wgUser, array(), as, cache, WatchedItem\duplicateEntries(), getArticleID(), getDBkey(), getNamespace(), getPrefixedText(), MWNamespace\getSubject(), global, isProtected(), isValidMoveOperation(), moveToInternal(), Collation\singleton(), RepoGroup\singleton(), was, wfGetDB(), wfLocalFile(), wfMessage(), and wfRunHooks().

Referenced by moveNoAuth().

Title::moveToInternal ( &$  nt,
reason = '',
createRedirect = true 
) [private]

Move page to a title which is either a redirect to the source page or nonexistent.

Parameters:
$ntTitle the page to move to, which should be a redirect or nonexistent
string$reasonThe reason for the move
bool$createRedirectWhether to leave a redirect at the old title. Does not check if the user has the suppressredirect right
Exceptions:
MWException

Definition at line 3765 of file Title.php.

References $comment, $wgContLang, $wgUser, array(), WikiPage\factory(), getArticleID(), ContentHandler\getForTitle(), global, RequestContext\newExtraneousContext(), LogFormatter\newFromEntry(), Revision\newNullRevision(), WikiPage\onArticleCreate(), WikiPage\onArticleDelete(), resetArticleID(), wfGetDB(), wfMessage(), and wfRunHooks().

Referenced by moveTo().

static Title::nameOf ( id) [static]

Get the prefixed DB key associated with an ID.

Parameters:
int$idthe page_id of the article
Returns:
Title an object representing the article, or NULL if no such article was found

Definition at line 435 of file Title.php.

References $dbr, $n, $s, array(), makeName(), and wfGetDB().

static Title::newFromDBkey ( key) [static]

Create a new Title from a prefixed DB key.

Parameters:
string$keythe database key, which has underscores instead of spaces, possibly including namespace and interwiki prefixes
Returns:
Title, or NULL on an error

Definition at line 104 of file Title.php.

References $t.

Referenced by LinkCache\addLink(), and TitleTest\testWgWhitelistReadRegexp().

static Title::newFromID ( id,
flags = 0 
) [static]

Create a new Title from an article ID.

Parameters:
int$idthe page_id corresponding to the Title to create
int$flagsuse Title::GAID_FOR_UPDATE to use master
Returns:
Title the new object, or NULL on an error

Definition at line 230 of file Title.php.

References $flags, $title, array(), GAID_FOR_UPDATE, newFromRow(), and wfGetDB().

Referenced by CleanupSpam\cleanupArticle(), ApiMove\execute(), DisambiguationsPage\formatResult(), SpecialMergeHistory\merge(), and ApiComparePages\revisionOrTitleOrId().

static Title::newFromIDs ( ids) [static]

Make an array of titles from an array of IDs.

Parameters:
array$idsof Int Array of IDs
Returns:
Array of Titles

Definition at line 252 of file Title.php.

References $dbr, $res, $titles, array(), as, newFromRow(), and wfGetDB().

static Title::newFromRedirect ( text) [static]

Extract a redirect destination from a string and return the Title, or null if the text doesn't contain a valid redirect This will only return the very next target, useful for the redirect table and other checks that don't need full recursion.

Parameters:
string$textText with possible redirect
Returns:
Title: The corresponding Title
Deprecated:
since 1.21, use Content::getRedirectTarget instead.

Definition at line 388 of file Title.php.

References ContentHandler\deprecated(), and ContentHandler\makeContent().

static Title::newFromRedirectArray ( text) [static]

Extract a redirect destination from a string and return an array of Titles, or null if the text doesn't contain a valid redirect The last element in the array is the final destination after all redirects have been resolved (up to $wgMaxRedirects times)

Parameters:
string$textText with possible redirect
Returns:
Array of Titles, with the destination last
Deprecated:
since 1.21, use Content::getRedirectChain instead.

Definition at line 422 of file Title.php.

References ContentHandler\deprecated(), and ContentHandler\makeContent().

static Title::newFromRedirectRecurse ( text) [static]

Extract a redirect destination from a string and return the Title, or null if the text doesn't contain a valid redirect This will recurse down $wgMaxRedirects times or until a non-redirect target is hit in order to provide (hopefully) the Title of the final destination instead of another redirect.

Parameters:
string$textText with possible redirect
Returns:
Title
Deprecated:
since 1.21, use Content::getUltimateRedirectTarget instead.

Definition at line 405 of file Title.php.

References ContentHandler\deprecated(), and ContentHandler\makeContent().

static Title::newFromRow ( row) [static]

Make a Title object from a DB row.

Parameters:
$rowObject database row (needs at least page_title,page_namespace)
Returns:
Title corresponding Title

Definition at line 278 of file Title.php.

References $t, and makeTitle().

Referenced by UpdateCollation\execute(), SpecialPagesWithProp\formatResult(), getRedirectsHere(), newFromID(), newFromIDs(), ApiPageSet\processDbRow(), ApiQueryLangBacklinks\run(), and ApiQueryIWBacklinks\run().

static Title::newFromText ( text,
defaultNamespace = NS_MAIN 
) [static]

Create a new Title from text, such as what one would find in a link.

De- codes any HTML entities in the text.

Parameters:
string$textthe link text; spaces, prefixes, and an initial ':' indicating the main namespace are accepted.
int$defaultNamespacethe namespace to use if none is specified by a prefix. If you want to force a specific namespace even if $text might begin with a namespace prefix, use makeTitle() or makeTitleSafe().
Exceptions:
MWException
Returns:
Title|null - Title or null on an error.

Definition at line 127 of file Title.php.

References $ret, $t, $titleCache, array(), and Sanitizer\decodeCharReferencesAndNormalize().

Referenced by PreferencesTest\__construct(), RecentChangeTest\__construct(), SearchUpdate\__construct(), ImageListPager\__construct(), DoubleRedirectJob\__construct(), ImportStreamSource\__construct(), LinkHolderArray\__wakeup(), BackupDumperPageTest\addDBData(), TextPassDumperTest\addDBData(), ApiQueryBasicTest\addDBData(), BackupDumperLoggerTest\addLogEntry(), ApiQueryLogEvents\addLogParams(), Skin\addToSidebarPlain(), ApiFormatXml\addXslt(), ApiQuerySiteinfo\appendRightsInfo(), EditPageTest\assertEdit(), CoreParserFunctions\basepagename(), CoreParserFunctions\basepagenamee(), SkinTemplate\buildPersonalUrls(), SpecialComparePages\checkExistingTitle(), LocalRepo\checkRedirect(), Skin\checkTitle(), ApiFeedWatchlist\createFeedItem(), RevisionStorageTest\createPage(), UploadFromUrlTest\deleteFile(), ApiTestCaseUpload\deleteFileByFileName(), ApiTestCaseUpload\deleteFileByTitle(), CoreParserFunctions\displaytitle(), SpecialExport\doExport(), PurgeList\doPurge(), SpecialChangePassword\doReturnTo(), GenderCache\doTitlesArray(), Skin\drawCategoryBrowser(), ApiUndelete\execute(), ApiMove\execute(), ApiWatch\execute(), Undelete\execute(), SpecialFilepath\execute(), ApiExpandTemplates\execute(), ApiQueryAllMessages\execute(), ApiQueryLangLinks\execute(), ApiQueryIWLinks\execute(), MaintenanceFormatInstallDoc\execute(), NukePage\execute(), GetTextMaint\execute(), Protect\execute(), RollbackEdits\execute(), ApiQueryLogEvents\execute(), MovePageForm\execute(), SpecialListGroupRights\execute(), EditCLI\execute(), FixDoubleRedirects\execute(), SpecialLog\execute(), Orphans\execute(), DumpIterator\execute(), DeleteBatch\execute(), NamespaceConflictChecker\execute(), RebuildTextIndex\execute(), RunJobs\execute(), MoveBatch\execute(), CommandLineInstaller\execute(), UpdateMediaWiki\execute(), FileDuplicateSearchPage\execute(), SpecialRevisionDelete\execute(), SpecialEditWatchlist\extractTitles(), Skin\footerLink(), foreach(), Linker\formatAutocommentsCallback(), Linker\formatLinksInCommentCallback(), MIMEsearchPage\formatResult(), CoreParserFunctions\fullpagename(), CoreParserFunctions\fullpagenamee(), CoreParserFunctions\gender(), Skin\getCategoryLinks(), Skin\getCopyright(), SpecialStatistics\getGroupStats(), ApiPageSet\getInterwikiTitlesAsResult(), SpecialExport\getLinks(), WantedFilesPage\getPageHeader(), getParentCategoryTree(), DisambiguationsPage\getQueryFromLinkBatch(), WikitextContent\getRedirectTarget(), ResourceLoaderWikiModule\getScript(), ParserOutput\getSecondaryDataUpdates(), ResourceLoaderWikiModule\getStyles(), SpecialRecentchangeslinked\getTargetTitle(), CLIParser\getTitle(), UploadBase\getTitle(), ResourceLoaderWikiModule\getTitleMtimes(), ApiBase\getTitleOrPageId(), SideBarTest\initMessagesHref(), SearchEngineTest\insertPage(), LogPager\limitTitle(), MediaWiki\main(), SkinTemplate\makeArticleUrlDetails(), Linker\makeBrokenLink(), Skin\makeI18nUrl(), Skin\makeKnownUrlDetails(), SkinTemplate\makeTalkUrlDetails(), PPFuzzTester\makeTitle(), LinksUpdateTest\makeTitleAndParserOutput(), Skin\makeUrl(), Skin\makeUrlDetails(), TitleCleanup\moveIllegalPage(), CoreParserFunctions\mwnamespace(), LegacyTemplate\nameAndLogin(), CoreParserFunctions\namespacee(), CoreParserFunctions\namespacenumber(), ForeignAPIFile\newFromTitle(), newMainPage(), WikiPageTest\newPage(), RevisionTest\newTestRevision(), MediaWikiSite\normalizePageName(), LegacyTemplate\otherLanguages(), SkinTemplate\outputPage(), CoreParserFunctions\pagename(), CoreParserFunctions\pagenamee(), RdfMetaData\pageOrString(), CoreParserFunctions\pagesize(), WikiImporter\processLogItem(), TitleCleanup\processRow(), WatchlistCleanup\processRow(), WikiImporter\processTitle(), ApiPageSet\processTitlesArray(), CoreParserFunctions\protectionlevel(), StandardTemplate\quickBar(), ParserOutput\replaceEditSectionLinksCallback(), Parser_LinkHooks\replaceInternalLinksCallback(), ApiComparePages\revisionOrTitleOrId(), SpecialComparePages\revOrTitle(), RdfMetaData\rights(), ApiQueryImages\run(), ApiQueryCategories\run(), ApiQueryLinks\run(), WikiImporter\setTargetRootPage(), TextContentTest\setUp(), ParserPreloadTest\setUp(), ApiOptionsTest\setUp(), MagicVariableTest\setUp(), SpecialSearch\showResults(), SpecialEditWatchlist\showTitles(), CoreParserFunctions\subjectpagename(), CoreParserFunctions\subjectpagenamee(), CoreParserFunctions\subjectspace(), CoreParserFunctions\subjectspacee(), WebInstaller_Name\submit(), CoreParserFunctions\subpagename(), CoreParserFunctions\subpagenamee(), Skin\subPageSubtitle(), CologneBlueTemplate\sysLinks(), CoreParserFunctions\talkpagename(), CoreParserFunctions\talkpagenamee(), CoreParserFunctions\talkspace(), CoreParserFunctions\talkspacee(), EditPageTest\testAutoMerge(), TagHookTest\testBadFunctionTagHooks(), TagHookTest\testBadTagHooks(), ArticleTablesTest\testbug14404(), TitleTest\testBug31100FixSpecialName(), ExtraParserTest\testBug8689(), ParserMethodsTest\testCallParserFunction(), ExtraParserTest\testCleanSig(), ExtraParserTest\testCleanSigDisabled(), RevisionTest\testConstructWithContent(), ApiQueryRevisionsTest\testContentComesWithContentModelAndFormat(), TestSample\testCreateBasicListOfTitles(), TextContentTest\testDeletionUpdates(), WikiPageTest\testDoDeleteArticle(), WikiPageTest\testDoEdit(), ApiEditPageTest\testEditAppend(), ApiEditPageTest\testEditConflict(), ApiEditPageTest\testEditConflict_bug41990(), ApiEditPageTest\testEditConflict_redirect(), TitleMethodsTest\testEquals(), TitleTest\testExtractingBaseTextFromTitle(), TitleTest\testExtractingRootTextFromTitle(), TitleTest\testExtractingSubpageTextFromTitle(), TagHookTest\testFunctionTagHooks(), RevisionTest\testGetContentClone(), TitleMethodsTest\testGetContentModel(), ContentHandlerTest\testGetDefaultModelFor(), ContentHandlerTest\testGetForTitle(), ContentHandlerTest\testGetPageLanguage(), TitleTest\testGetpageviewlanguage(), TextContentTest\testGetParserOutput(), ExtraParserTest\testGetPreloadText(), ApiWatchTest\testGetRollbackToken(), WikitextContentTest\testGetSecondaryDataUpdates(), TitleMethodsTest\testHasContentModel(), TitleMethodsTest\testHasSubjectNamespace(), TitleMethodsTest\testInNamespace(), TitleMethodsTest\testInNamespaces(), WikiPageTest\testIsCountable(), TitleMethodsTest\testIsCssJsSubpage(), TitleMethodsTest\testIsCssOrJsPage(), TitleMethodsTest\testIsCssSubpage(), TitleMethodsTest\testIsJsSubpage(), TitleTest\testIsValidMoveOperation(), TitleMethodsTest\testIsWikitextPage(), ContentHandlerTest\testMakeContent(), ApiEditPageTest\testNonTextEdit(), ExtraParserTest\testParse(), NewParserTest\testParserTest(), ExtraParserTest\testPreprocess(), ParserMethodsTest\testPreSaveTransform(), ExtraParserTest\testPreSaveTransform(), ApiPurgeTest\testPurgeMainPage(), SpecialSearchTest\testSearchTermIsNotExpanded(), TagHookTest\testTagHooks(), TemplateCategoriesTest\testTemplateCategories(), TestSample\testTitleObjectFromObject(), TestSample\testTitleObjectStringConversion(), ApiQueryTest\testTitlesAreRejectedIfInvalid(), ApiQueryTest\testTitlesGetNormalized(), ExtraParserTest\testTrackingCategory(), LinksUpdateTest\testUpdate_langlinks(), LinksUpdateTest\testUpdate_pagelinks(), LinksUpdateTest\testUpdate_templatelinks(), JavaScriptContentTest\testUpdateRedirect(), RequestContextTest\testWikiPageTitle(), PrefixSearch\titleSearch(), ApiQueryBase\titleToKey(), SpecialEditWatchlist\unwatchTitles(), CoreParserFunctions\urlFunction(), SpecialEditWatchlist\watchTitles(), wfIsBadImage(), and wfViewPrevNext().

static Title::newFromURL ( url) [static]

THIS IS NOT THE FUNCTION YOU WANT.

Use Title::newFromText().

Example of wrong and broken code: $title = Title::newFromURL( $wgRequest->getVal( 'title' ) );

Example of right code: $title = Title::newFromText( $wgRequest->getVal( 'title' ) );

Create a new Title from URL-encoded text. Ensures that the given title's length does not exceed the maximum.

Parameters:
string$urlthe title, as might be taken from a URL
Returns:
Title the new object, or NULL on an error

Definition at line 184 of file Title.php.

References $t, and $url.

Referenced by ImageListPager\__construct(), SpecialRecentchangeslinked\doMainQuery(), NewFilesPager\getQueryInfo(), and CoreParserFunctions\urlFunction().

Get an associative array for selecting this title from the "page" table.

Returns:
Array suitable for the $where parameter of DB::select()

Reimplemented in FakeTitle.

Definition at line 4113 of file Title.php.

References array().

Referenced by getTouched(), invalidateCache(), isNewPage(), and isSingleRevRedirect().

Title::prefix ( name) [private]

Prefix some arbitrary text with the namespace or interwiki prefix of this object.

Parameters:
string$namethe text
Returns:
String the prefixed text

Definition at line 1120 of file Title.php.

References $name, and getNsText().

Referenced by getPrefixedDBkey(), getPrefixedText(), and getPrefixedURL().

static Title::purgeExpiredRestrictions ( ) [static]

Purge expired restrictions from the page_restrictions table.

Definition at line 2796 of file Title.php.

References array(), wfGetDB(), and wfReadOnly().

Referenced by SpecialProtectedpages\execute(), SpecialProtectedtitles\execute(), getCascadeProtectionSources(), loadRestrictions(), and loadRestrictionsFromRows().

Purge all applicable Squid URLs.

Reimplemented in FakeTitle.

Definition at line 3474 of file Title.php.

References $urls, getSquidURLs(), and global.

Referenced by WikiPage\onArticleEdit().

Title::quickUserCan ( action,
user = null 
)

Can $user perform $action on this page? This skips potentially expensive cascading permission checks as well as avoids expensive error formatting.

Suitable for use for nonessential UI controls in common cases, but _not_ for functional access control.

May provide false positives, but should never provide a false negative.

Parameters:
string$actionaction that permission needs to be checked for
$userUser to check (since 1.19); $wgUser will be used if not provided.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1673 of file Title.php.

References $user, and userCan().

Title::resetArticleID ( newid)

This clears some fields in this object, and clears any associated keys in the "bad links" section of the link cache.

Parameters:
int$newidthe new Article ID

Reimplemented in FakeTitle.

Definition at line 3043 of file Title.php.

References array(), and LinkCache\singleton().

Referenced by moveToInternal().

Title::resultToError ( errors,
result 
) [private]

Add the resulting error code to the errors array.

Parameters:
array$errorslist of current errors
$resultMixed result of errors
Returns:
Array list of errors

Definition at line 1789 of file Title.php.

References $result, and array().

Referenced by checkPermissionHooks().

Title::secureAndSplit ( ) [private]

Secure and split - main initialisation function for this object.

Assumes that mDbkeyform has been set, and is urldecoded and uses underscores, but not otherwise munged. This function removes illegal characters, splits off the interwiki and namespace prefixes, sets the other forms, and canonicalizes everything.

Returns:
Bool true on success

Definition at line 3089 of file Title.php.

References $wgContLang, any, array(), capitalize(), getTitleInvalidRegex(), global, Interwiki\isValidInterwiki(), processing, IP\sanitizeIP(), setFragment(), and wfUrlencode().

Title::setFragment ( fragment)

Set the fragment for this title.

Removes the first character from the specified fragment before setting, so it assumes you're passing it with an initial "#".

Deprecated for public use, use Title::makeTitle() with fragment parameter. Still in active use privately.

Parameters:
string$fragmenttext

Reimplemented in FakeTitle.

Definition at line 1108 of file Title.php.

Referenced by secureAndSplit().

Update page_touched timestamps and send squid purge messages for pages linking to this title.

May be sent to the job queue depending on the number of links. Typically called on create and delete.

Reimplemented in FakeTitle.

Definition at line 4531 of file Title.php.

References getNamespace().

Title::updateTitleProtection ( create_perm,
reason,
expiry 
)

Update the title protection status.

Deprecated:
in 1.19; will be removed in 1.20. Use WikiPage::doUpdateRestrictions() instead.
Parameters:
$create_permString Permission required for creation
string$reasonReason for protection
string$expiryExpiry timestamp
Returns:
boolean true

Reimplemented in FakeTitle.

Definition at line 2380 of file Title.php.

References $limit, $page, $wgUser, array(), WikiPage\factory(), global, and wfDeprecated().

Title::userCan ( action,
user = null,
doExpensiveQueries = true 
)

Can $user perform $action on this page?

Parameters:
string$actionaction that permission needs to be checked for
$userUser to check (since 1.19); $wgUser will be used if not provided.
bool$doExpensiveQueriesSet this to false to avoid doing unnecessary queries.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1687 of file Title.php.

References $user, $wgUser, getUserPermissionsErrorsInternal(), and global.

Referenced by checkActionPermissions(), moveSubpages(), quickUserCan(), and userCanRead().

Protect css subpages of user pages: can $wgUser edit this page?

Deprecated:
in 1.19; will be removed in 1.20. Use getUserPermissionsErrors() instead.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2270 of file Title.php.

References $wgUser, global, and wfDeprecated().

Protect js subpages of user pages: can $wgUser edit this page?

Deprecated:
in 1.19; will be removed in 1.20. Use getUserPermissionsErrors() instead.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 2284 of file Title.php.

References $wgUser, global, and wfDeprecated().

Can $wgUser read this page?

Deprecated:
in 1.19; use userCan(), quickUserCan() or getUserPermissionsErrors() instead
Returns:
Bool
Todo:
fold these checks into userCan()

Reimplemented in FakeTitle.

Definition at line 1653 of file Title.php.

References userCan(), and wfDeprecated().

Is $wgUser watching this page?

Deprecated:
in 1.20; use User::isWatched() instead.
Returns:
Bool

Reimplemented in FakeTitle.

Definition at line 1633 of file Title.php.

References $wgUser, and global.

Title::validateFileMoveOperation ( nt) [protected]

Check if the requested move target is a valid file move target.

Parameters:
Title$ntTarget title
Returns:
array List of errors

Definition at line 3604 of file Title.php.

References $file, $wgUser, array(), File\checkExtensionCompatibility(), global, wfFindFile(), wfLocalFile(), and wfStripIllegalFilenameChars().

Referenced by isValidMoveOperation().


Member Data Documentation

Title::$mArticleID = -1

Cascade restrictions on this page to included templates and images?

Definition at line 66 of file Title.php.

Title::$mCascadeRestriction

Cascade restrictions on this page to included templates and images?

Definition at line 72 of file Title.php.

Title::$mCascadeSources

Where are the cascading restrictions coming from on this page?

Definition at line 76 of file Title.php.

Title::$mCascadingRestrictions

Cascade restrictions on this page to included templates and images?

Definition at line 73 of file Title.php.

Title::$mContentModel = false

Cascade restrictions on this page to included templates and images?

Definition at line 68 of file Title.php.

Title::$mDbkeyform = ''

Cascade restrictions on this page to included templates and images?

Definition at line 61 of file Title.php.

Title::$mDefaultNamespace = NS_MAIN

Cascade restrictions on this page to included templates and images?

Definition at line 82 of file Title.php.

Title::$mEstimateRevisions [private]

Cascade restrictions on this page to included templates and images?

Definition at line 69 of file Title.php.

Title::$mFragment

Cascade restrictions on this page to included templates and images?

Definition at line 65 of file Title.php.

Title::$mHasCascadingRestrictions

Are cascading restrictions in effect on this page?

Definition at line 75 of file Title.php.

Title::$mHasSubpage

Cascade restrictions on this page to included templates and images?

Definition at line 88 of file Title.php.

Title::$mInterwiki = ''

Cascade restrictions on this page to included templates and images?

Definition at line 64 of file Title.php.

Title::$mLatestID = false

Cascade restrictions on this page to included templates and images?

Definition at line 67 of file Title.php.

Title::$mLength = -1

Cascade restrictions on this page to included templates and images?

Definition at line 85 of file Title.php.

Title::$mNamespace = NS_MAIN

Cascade restrictions on this page to included templates and images?

Definition at line 63 of file Title.php.

Title::$mNotificationTimestamp = array()

Cascade restrictions on this page to included templates and images?

Definition at line 87 of file Title.php.

Title::$mOldRestrictions = false

Cascade restrictions on this page to included templates and images?

Definition at line 71 of file Title.php.

Title::$mPrefixedText

Text form including namespace/interwiki, initialised on demand.

Definition at line 78 of file Title.php.

Title::$mRedirect = null

Cascade restrictions on this page to included templates and images?

Definition at line 86 of file Title.php.

Title::$mRestrictions = array()

Cascade restrictions on this page to included templates and images?

Definition at line 70 of file Title.php.

Title::$mRestrictionsExpiry = array()

When do the restrictions on this page expire?

Definition at line 74 of file Title.php.

Title::$mRestrictionsLoaded = false

Boolean for initialisation on demand.

Definition at line 77 of file Title.php.

Title::$mTextform = ''

Cascade restrictions on this page to included templates and images?

Definition at line 59 of file Title.php.

Title::$mTitleProtection

Cached value for getTitleProtection (create protection)

Definition at line 79 of file Title.php.

Title::$mUrlform = ''

Cascade restrictions on this page to included templates and images?

Definition at line 60 of file Title.php.

Title::$mUserCaseDBKey

Cascade restrictions on this page to included templates and images?

Definition at line 62 of file Title.php.

Title::$mWatched = null

Cascade restrictions on this page to included templates and images?

Definition at line 84 of file Title.php.

Title::$titleCache = array() [static, private]

Definition at line 36 of file Title.php.

Referenced by newFromText().

const Title::CACHE_MAX = 1000

Title::newFromText maintains a cache to avoid expensive re-normalization of commonly used titles.

On a batch operation this can become a memory leak if not bounded. After hitting this many titles reset the cache.

Definition at line 44 of file Title.php.

Used to be GAID_FOR_UPDATE define.

Used with getArticleID() and friends to use the master DB

Definition at line 50 of file Title.php.

Referenced by getFirstRevision(), getLatestRevID(), getNextRevisionID(), getPreviousRevisionID(), newFromID(), and UploadFromUrlTest\testLeaveMessage().


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