MediaWiki fundraising/REL1_35
SpecialUndelete Class Reference

Special page allowing users with the appropriate permissions to view and restore deleted content. More...

Inheritance diagram for SpecialUndelete:
Collaboration diagram for SpecialUndelete:

Public Member Functions

 __construct ()
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError.Stable to override

Since
1.19
Returns
void
Exceptions
PermissionsError

 
 doesWrites ()
 Indicates whether this special page may perform database writes.
 
 execute ( $par)
 Default execute method Checks user permissions.
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept.
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).
 
- Public Member Functions inherited from SpecialPage
 __construct ( $name='', $restriction='', $listed=true, $function=false, $file='', $includable=false)
 Default constructor for special pages Derivative classes should call this from their constructor Note that if the user does not have the required level, an error message will be displayed by the default execute() method, without the global function ever being called.
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators.
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError.
 
 getConfig ()
 Shortcut to get main config object.
 
 getContext ()
 Gets the context this SpecialPage is executed in.
 
 getDescription ()
 Returns the name that goes in the \<h1\> in the special page itself, and also the name that will be listed in Special:Specialpages.
 
 getFinalGroupName ()
 Get the group that the special page belongs in on Special:SpecialPage Use this method, instead of getGroupName to allow customization of the group name from the wiki side.
 
 getFullTitle ()
 Return the full title, including $par.
 
 getLanguage ()
 Shortcut to get user's language.
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page Stable to override.
 
 getName ()
 Get the name of this Special Page.
 
 getOutput ()
 Get the OutputPage being used for this instance.
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object.
 
 getRequest ()
 Get the WebRequest being used for this instance.
 
 getRestriction ()
 Get the permission that a user must have to execute this page.
 
 getSkin ()
 Shortcut to get the skin being used for this instance.
 
 getUser ()
 Shortcut to get the User executing this instance.
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion.
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode.
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode.
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}} Stable to override.
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages Stable to override.
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes.
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages.
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included.
 
 msg ( $key,... $params)
 Wrapper around wfMessage that sets the current context.
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error.
 
 run ( $subPage)
 Entry point.
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in.
 
 setHookContainer (HookContainer $hookContainer)
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time.
 

Protected Member Functions

 formatRevisionRow ( $row, $earliestLiveTime, $remaining)
 
 getGroupName ()
 Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.
 
 isAllowed ( $permission, User $user=null)
 Checks whether a user is allowed the permission for the specific title if one is set.
 
 showHistory ()
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links.
 
 afterExecute ( $subPage)
 Gets called after.
 
 beforeExecute ( $subPage)
 Gets called before.
 
 buildPrevNextNavigation ( $offset, $limit, array $query=[], $atend=false, $subpage=false)
 Generate (prev x| next x) (20|50|100...) type links for paging.
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process.
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have Stable to override.
 
 getCacheTTL ()
 Stable to override.
 
 getHookContainer ()
 
 getHookRunner ()
 
 getLanguageConverter ()
 Shortcut to get language's converter.
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g.
 
 getRobotPolicy ()
 Return the robot policy.
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept for prefix searches.
 
 outputHeader ( $summaryMessageKey='')
 Outputs a summary message on top of special pages Per default the message key is the canonical name of the special page May be overridden, i.e.
 
 prefixSearchString ( $search, $limit, $offset)
 Perform a regular substring search for prefixSearchSubpages.
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes! Stable to override.
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication.
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed.
 

Private Member Functions

 diffHeader (RevisionRecord $revRecord, $prefix)
 
 formatFileRow ( $row)
 
 getFileComment ( $file)
 Fetch file upload comment if it's available to this user.
 
 getFileLink ( $file, $titleObj, $ts, $key)
 Fetch image view link if it's available to all users.
 
 getFileUser ( $file)
 Fetch file's user id if it's available to this user.
 
 getPageLink (RevisionRecord $revRecord, $titleObj, $ts)
 Fetch revision text link if it's available to all users.
 
 loadRequest ( $par)
 
 redirectToRevDel ()
 Convert submitted form data to format expected by RevisionDelete and redirect the request.
 
 showDiff (RevisionRecord $previousRevRecord, RevisionRecord $currentRevRecord)
 Build a diff display between this and the previous either deleted or non-deleted edit.
 
 showFile ( $key)
 Show a deleted file version requested by the visitor.
 
 showFileConfirmationForm ( $key)
 Show a form confirming whether a tokenless user really wants to see a file.
 
 showList ( $result)
 Generic list of deleted pages.
 
 showRevision ( $timestamp)
 
 showSearchForm ()
 
 undelete ()
 

Private Attributes

 $mAction
 
 $mAllowed
 
 $mCanView
 
 $mComment
 
bool null $mDiff
 
bool null $mDiffOnly
 
 $mFilename
 
int[] null $mFileVersions
 
 $mInvert
 
bool null $mPreview
 
 $mRestore
 
 $mRevdel
 
string $mSearchPrefix
 Search prefix.
 
 $mTarget
 
Title $mTargetObj
 
 $mTargetTimestamp
 
 $mTimestamp
 
 $mToken
 
bool null $mUnsuppress
 

Additional Inherited Members

- Static Public Member Functions inherited from SpecialPage
static getSafeTitleFor ( $name, $subpage=false)
 Get a localised Title object for a page name with a possibly unvalidated subpage.
 
static getTitleFor ( $name, $subpage=false, $fragment='')
 Get a localised Title object for a specified special page name If you don't need a full Title object, consider using TitleValue through getTitleValueFor() below.
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name.
 
- Static Protected Member Functions inherited from SpecialPage
static prefixSearchArray ( $search, $limit, array $subpages, $offset)
 Helper function for implementations of prefixSearchSubpages() that filter the values in memory (as opposed to making a query).
 
- Protected Attributes inherited from SpecialPage
IContextSource $mContext
 Current request context.
 
 $mIncludable
 
 $mIncluding
 
 $mName
 
 $mRestriction
 

Detailed Description

Special page allowing users with the appropriate permissions to view and restore deleted content.

Definition at line 37 of file SpecialUndelete.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialUndelete::__construct ( )

Definition at line 68 of file SpecialUndelete.php.

Member Function Documentation

◆ checkPermissions()

SpecialUndelete::checkPermissions ( )

Checks if userCanExecute, and if not throws a PermissionsError.Stable to override

Since
1.19
Returns
void
Exceptions
PermissionsError

Reimplemented from SpecialPage.

Definition at line 173 of file SpecialUndelete.php.

References SpecialPage\displayRestrictionError(), getPermissionManager(), SpecialPage\getUser(), and userCanExecute().

Referenced by execute().

◆ diffHeader()

◆ doesWrites()

SpecialUndelete::doesWrites ( )

Indicates whether this special page may perform database writes.

Stable to override

Returns
bool
Since
1.27

Reimplemented from SpecialPage.

Definition at line 72 of file SpecialUndelete.php.

◆ execute()

SpecialUndelete::execute ( $subPage)

Default execute method Checks user permissions.

This must be overridden by subclasses; it will be made abstract in a future version

Stable to override

Parameters
string | null$subPage

Reimplemented from SpecialPage.

Definition at line 198 of file SpecialUndelete.php.

References $file, SpecialPage\addHelpLink(), checkPermissions(), SpecialPage\getOutput(), getPermissionManager(), SpecialPage\getSkin(), SpecialPage\getUser(), loadRequest(), SpecialPage\msg(), NS_FILE, SpecialPage\outputHeader(), redirectToRevDel(), SpecialPage\setHeaders(), showFile(), showFileConfirmationForm(), showHistory(), showRevision(), showSearchForm(), undelete(), and SpecialPage\useTransactionalTimeLimit().

◆ formatFileRow()

◆ formatRevisionRow()

◆ getFileComment()

SpecialUndelete::getFileComment ( $file)
private

Fetch file upload comment if it's available to this user.

Parameters
File | ArchivedFile$file
Returns
string HTML fragment

Definition at line 1246 of file SpecialUndelete.php.

References $file, Linker\commentBlock(), and SpecialPage\msg().

Referenced by formatFileRow().

◆ getFileLink()

SpecialUndelete::getFileLink ( $file,
$titleObj,
$ts,
$key )
private

Fetch image view link if it's available to all users.

Parameters
File | ArchivedFile$file
Title$titleObj
string$tsA timestamp
string$keyA storage key
Returns
string HTML fragment

Definition at line 1191 of file SpecialUndelete.php.

References $file, SpecialPage\getLanguage(), SpecialPage\getLinkRenderer(), and SpecialPage\getUser().

Referenced by formatFileRow().

◆ getFileUser()

SpecialUndelete::getFileUser ( $file)
private

Fetch file's user id if it's available to this user.

Parameters
File | ArchivedFile$file
Returns
string HTML fragment

Definition at line 1223 of file SpecialUndelete.php.

References $file, SpecialPage\msg(), Linker\userLink(), and Linker\userToolLinks().

Referenced by formatFileRow().

◆ getGroupName()

SpecialUndelete::getGroupName ( )
protected

Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-group-*' for valid names This method defaults to group 'other'.

Stable to override

Returns
string
Since
1.21

Reimplemented from SpecialPage.

Definition at line 1333 of file SpecialUndelete.php.

◆ getPageLink()

SpecialUndelete::getPageLink ( RevisionRecord $revRecord,
$titleObj,
$ts )
private

Fetch revision text link if it's available to all users.

Parameters
RevisionRecord$revRecord
Title$titleObj
string$tsTimestamp
Returns
string

Definition at line 1152 of file SpecialUndelete.php.

References SpecialPage\getLanguage(), SpecialPage\getLinkRenderer(), SpecialPage\getUser(), MediaWiki\Revision\RevisionRecord\getVisibility(), and MediaWiki\Revision\RevisionRecord\isDeleted().

Referenced by formatRevisionRow().

◆ isAllowed()

SpecialUndelete::isAllowed ( $permission,
User $user = null )
protected

Checks whether a user is allowed the permission for the specific title if one is set.

Parameters
string$permission
User | null$user
Returns
bool

Definition at line 152 of file SpecialUndelete.php.

References SpecialPage\getUser().

Referenced by formatFileRow(), loadRequest(), and userCanExecute().

◆ loadRequest()

SpecialUndelete::loadRequest ( $par)
private

Definition at line 76 of file SpecialUndelete.php.

References $matches, SpecialPage\getRequest(), SpecialPage\getUser(), isAllowed(), and wfTimestamp().

Referenced by execute().

◆ prefixSearchSubpages()

SpecialUndelete::prefixSearchSubpages ( $search,
$limit,
$offset )

Return an array of subpages beginning with $search that this special page will accept.

Parameters
string$searchPrefix to search for
int$limitMaximum number of results to return (usually 10)
int$offsetNumber of results to skip (usually 0)
Returns
string[] Matching subpages

Reimplemented from SpecialPage.

Definition at line 1329 of file SpecialUndelete.php.

References SpecialPage\prefixSearchString().

◆ redirectToRevDel()

SpecialUndelete::redirectToRevDel ( )
private

Convert submitted form data to format expected by RevisionDelete and redirect the request.

Definition at line 269 of file SpecialUndelete.php.

References $matches, SpecialPage\getOutput(), SpecialPage\getRequest(), and SpecialPage\getTitleFor().

Referenced by execute().

◆ showDiff()

SpecialUndelete::showDiff ( RevisionRecord $previousRevRecord,
RevisionRecord $currentRevRecord )
private

Build a diff display between this and the previous either deleted or non-deleted edit.

Parameters
RevisionRecord$previousRevRecord
RevisionRecord$currentRevRecord

Definition at line 631 of file SpecialUndelete.php.

References diffHeader(), SpecialPage\getContext(), SpecialPage\getOutput(), MediaWiki\Revision\RevisionRecord\getPageAsLinkTarget(), and MediaWiki\Revision\RevisionRecord\getSlot().

Referenced by showRevision().

◆ showFile()

SpecialUndelete::showFile ( $key)
private

Show a deleted file version requested by the visitor.

Parameters
string$key

Definition at line 768 of file SpecialUndelete.php.

References $path, SpecialPage\getOutput(), and SpecialPage\getRequest().

Referenced by execute().

◆ showFileConfirmationForm()

SpecialUndelete::showFileConfirmationForm ( $key)
private

Show a form confirming whether a tokenless user really wants to see a file.

Parameters
string$key

Definition at line 740 of file SpecialUndelete.php.

References $file, $lang, SpecialPage\getLanguage(), SpecialPage\getOutput(), SpecialPage\getPageTitle(), and SpecialPage\getUser().

Referenced by execute().

◆ showHistory()

◆ showList()

SpecialUndelete::showList ( $result)
private

◆ showRevision()

◆ showSearchForm()

SpecialUndelete::showSearchForm ( )
private

◆ undelete()

◆ userCanExecute()

SpecialUndelete::userCanExecute ( User $user)

Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction).

Can be overridden by sub- classes with more complicated permissions schemes.

Stable to override

Parameters
User$userThe user to check
Returns
bool Does the user have permission to view the page?

Reimplemented from SpecialPage.

Definition at line 166 of file SpecialUndelete.php.

References isAllowed().

Referenced by checkPermissions().

Member Data Documentation

◆ $mAction

SpecialUndelete::$mAction
private

Definition at line 38 of file SpecialUndelete.php.

◆ $mAllowed

SpecialUndelete::$mAllowed
private

Definition at line 46 of file SpecialUndelete.php.

◆ $mCanView

SpecialUndelete::$mCanView
private

Definition at line 47 of file SpecialUndelete.php.

◆ $mComment

SpecialUndelete::$mComment
private

Definition at line 48 of file SpecialUndelete.php.

◆ $mDiff

bool null SpecialUndelete::$mDiff
private

Definition at line 53 of file SpecialUndelete.php.

◆ $mDiffOnly

bool null SpecialUndelete::$mDiffOnly
private

Definition at line 55 of file SpecialUndelete.php.

◆ $mFilename

SpecialUndelete::$mFilename
private

Definition at line 44 of file SpecialUndelete.php.

◆ $mFileVersions

int [] null SpecialUndelete::$mFileVersions
private

Definition at line 59 of file SpecialUndelete.php.

◆ $mInvert

SpecialUndelete::$mInvert
private

Definition at line 43 of file SpecialUndelete.php.

◆ $mPreview

bool null SpecialUndelete::$mPreview
private

Definition at line 51 of file SpecialUndelete.php.

◆ $mRestore

SpecialUndelete::$mRestore
private

Definition at line 41 of file SpecialUndelete.php.

◆ $mRevdel

SpecialUndelete::$mRevdel
private

Definition at line 42 of file SpecialUndelete.php.

◆ $mSearchPrefix

string SpecialUndelete::$mSearchPrefix
private

Search prefix.

Definition at line 66 of file SpecialUndelete.php.

◆ $mTarget

SpecialUndelete::$mTarget
private

Definition at line 39 of file SpecialUndelete.php.

◆ $mTargetObj

Title SpecialUndelete::$mTargetObj
private

Definition at line 62 of file SpecialUndelete.php.

◆ $mTargetTimestamp

SpecialUndelete::$mTargetTimestamp
private

Definition at line 45 of file SpecialUndelete.php.

◆ $mTimestamp

SpecialUndelete::$mTimestamp
private

Definition at line 40 of file SpecialUndelete.php.

◆ $mToken

SpecialUndelete::$mToken
private

Definition at line 49 of file SpecialUndelete.php.

◆ $mUnsuppress

bool null SpecialUndelete::$mUnsuppress
private

Definition at line 57 of file SpecialUndelete.php.


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