MediaWiki REL1_39
SpecialUpload Class Reference

Form for handling uploads and special page. More...

Inheritance diagram for SpecialUpload:
Collaboration diagram for SpecialUpload:

Public Member Functions

 __construct (RepoGroup $repoGroup=null, UserOptionsLookup $userOptionsLookup=null, NamespaceInfo $nsInfo=null, WatchlistManager $watchlistManager=null)
 
 doesWrites ()
 Indicates whether this special page may perform database writes.
 
 execute ( $par)
 
 getDupeWarning ( $dupes)
 Construct a warning and a gallery from an array of duplicate files.
 
 userCanExecute (User $user)
 This page can be shown if uploading is enabled.
 
- 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.
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError.
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError.
 
 getAssociatedNavigationLinks ()
 Return an array of strings representing page titles that are discoverable to end users via UI.
 
 getAuthority ()
 Shortcut to get the Authority executing this instance.
 
 getConfig ()
 Shortcut to get main config object.
 
 getContentLanguage ()
 Shortcut to get content language.
 
 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.
 
 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.
 
 getShortDescription (string $path='')
 Similar to getDescription but takes into account sub pages and designed for display in tabs.
 
 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}}.
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages.
 
 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.
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept.
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error.
 
 requireNamedUser ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in or is a temporary user, throws UserNotLoggedIn.
 
 run ( $subPage)
 Entry point.
 
 setContentLanguage (Language $contentLanguage)
 Set content language.
 
 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.
 
 setSpecialPageFactory (SpecialPageFactory $specialPageFactory)
 

Static Public Member Functions

static getExistsWarning ( $exists)
 Functions for formatting warnings.
 
static getInitialPageText ( $comment='', $license='', $copyStatus='', $source='', Config $config=null)
 Get the initial image page text based on a comment and optional file status information.
 
static rotationEnabled ()
 Should we rotate images in the preview on Special:Upload.
 
- 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 newSearchPage (User $user)
 Get the users preferred search page.
 

Public Attributes

bool $mCancelUpload
 The user clicked "Cancel and return to upload form" button.
 
 $mComment
 
 $mCopyrightSource
 
 $mCopyrightStatus
 
string $mDesiredDestName
 User input variables from the "description" section.
 
 $mDestWarningAck
 Hidden variables.
 
bool $mForReUpload
 The user followed an "overwrite this file" link.
 
 $mIgnoreWarning
 User input variables from the root section.
 
 $mLicense
 
LocalFile $mLocalFile
 
WebRequest FauxRequest $mRequest
 Misc variables.
 
 $mSourceType
 
 $mTokenOk
 
UploadBase $mUpload
 
 $mUploadClicked
 
bool $mUploadSuccessful = false
 Subclasses can use this to determine whether a file was uploaded.
 
 $mWatchthis
 
string $uploadFormTextAfterSummary
 Raw html injection point for hooks not using HTMLForm.
 
string $uploadFormTextTop
 Raw html injection point for hooks not using HTMLForm.
 

Protected Member Functions

 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'.
 
 getUploadForm ( $message='', $sessionKey='', $hideIgnoreWarning=false)
 Get an UploadForm instance with title and text properly set.
 
 getWatchCheck ()
 See if we should check the 'watch this page' checkbox on the form based on the user's preferences and whether we're being asked to create a new file or update an existing one.
 
 loadRequest ()
 Initialize instance variables from request and create an Upload handler.
 
 processUpload ()
 Do the upload.
 
 processVerificationError ( $details)
 Provides output to the user for a result of UploadBase::verifyUpload.
 
 showRecoverableUploadError ( $message)
 Stashes the upload and shows the main upload form.
 
 showUploadError ( $message)
 Show the upload form with error message, but do not stash the file.
 
 showUploadForm ( $form)
 Show the main upload form.
 
 showUploadWarning ( $warnings)
 Stashes the upload, shows the main form, but adds a "continue anyway button".
 
 showViewDeletedLinks ()
 Shows the "view X deleted revisions link"".
 
 unsaveUploadedFile ()
 Remove a temporarily kept file stashed by saveTempUploadedFile().
 
- 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.
 
 getAuthManager ()
 
 getCacheTTL ()
 
 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.
 
 getSpecialPageFactory ()
 
 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, SearchEngineFactory $searchEngineFactory=null)
 Perform a regular substring search for prefixSearchSubpages.
 
 setAuthManager (AuthManager $authManager)
 Set the injected AuthManager from the special page constructor.
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes!
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication.
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed.
 

Additional Inherited Members

- 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.
 
bool $mIncludable
 Whether the special page can be included in an article.
 
bool $mIncluding
 Whether or not this special page is being included from an article.
 
string $mName
 The canonical name of this special page Also used for the default.
 
string $mRestriction
 Minimum user level required to access this page, or "" for anyone.
 

Detailed Description

Form for handling uploads and special page.

Definition at line 36 of file SpecialUpload.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialUpload::__construct ( RepoGroup $repoGroup = null,
UserOptionsLookup $userOptionsLookup = null,
NamespaceInfo $nsInfo = null,
WatchlistManager $watchlistManager = null )
Parameters
RepoGroup | null$repoGroup
UserOptionsLookup | null$userOptionsLookup
NamespaceInfo | null$nsInfo
WatchlistManager | null$watchlistManager

Definition at line 56 of file SpecialUpload.php.

Member Function Documentation

◆ doesWrites()

SpecialUpload::doesWrites ( )

Indicates whether this special page may perform database writes.

Stability: stable
to override
Returns
bool
Since
1.27

Reimplemented from SpecialPage.

Definition at line 72 of file SpecialUpload.php.

◆ execute()

◆ getDupeWarning()

SpecialUpload::getDupeWarning ( $dupes)

Construct a warning and a gallery from an array of duplicate files.

Parameters
array$dupes
Returns
string

Definition at line 880 of file SpecialUpload.php.

References $file, getContext(), and SpecialPage\msg().

Referenced by showUploadWarning().

◆ getExistsWarning()

static SpecialUpload::getExistsWarning ( $exists)
static

Functions for formatting warnings.

Formats a result of UploadBase::getExistsWarning as HTML This check is static and can be done pre-upload via AJAX

Parameters
array$existsThe result of UploadBase::getExistsWarning
Returns
string Empty string if there is no warning or an HTML fragment

Definition at line 841 of file SpecialUpload.php.

References $file, getTitle(), and wfMessage().

◆ getGroupName()

SpecialUpload::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'.

Stability: stable
to override
Returns
string
Since
1.21

Reimplemented from SpecialPage.

Definition at line 897 of file SpecialUpload.php.

◆ getInitialPageText()

static SpecialUpload::getInitialPageText ( $comment = '',
$license = '',
$copyStatus = '',
$source = '',
Config $config = null )
static

Get the initial image page text based on a comment and optional file status information.

Parameters
string$comment
string$license
string$copyStatus
string$source
Config | null$configConfiguration object to load data from
Returns
string

Definition at line 646 of file SpecialUpload.php.

References $source, wfDebug(), and wfMessage().

◆ getUploadForm()

SpecialUpload::getUploadForm ( $message = '',
$sessionKey = '',
$hideIgnoreWarning = false )
protected

Get an UploadForm instance with title and text properly set.

Parameters
string$messageHTML string to add to the form
string | null$sessionKeySession key in case this is a stashed upload
bool$hideIgnoreWarningWhether to hide "ignore warning" check box
Returns
UploadForm

Definition at line 289 of file SpecialUpload.php.

References Title\exists(), SpecialPage\getContentLanguage(), getContext(), SpecialPage\getLinkRenderer(), SpecialPage\getPageTitle(), getWatchCheck(), SpecialPage\msg(), and NS_FILE.

Referenced by execute(), showRecoverableUploadError(), showUploadError(), and showUploadWarning().

◆ getWatchCheck()

SpecialUpload::getWatchCheck ( )
protected

See if we should check the 'watch this page' checkbox on the form based on the user's preferences and whether we're being asked to create a new file or update an existing one.

In the case where 'watch edits' is off but 'watch creations' is on, we'll leave the box unchecked.

Note that the page target can be changed on the form, so our check state can get out of sync.

Returns
bool

Definition at line 706 of file SpecialUpload.php.

References getUser(), and NS_FILE.

Referenced by getUploadForm().

◆ loadRequest()

SpecialUpload::loadRequest ( )
protected

Initialize instance variables from request and create an Upload handler.

Definition at line 125 of file SpecialUpload.php.

References SpecialPage\getRequest(), getUser(), and SpecialPage\msg().

Referenced by execute().

◆ processUpload()

◆ processVerificationError()

SpecialUpload::processVerificationError ( $details)
protected

Provides output to the user for a result of UploadBase::verifyUpload.

Parameters
array$detailsResult of UploadBase::verifyUpload
Exceptions
MWException

Definition at line 738 of file SpecialUpload.php.

References $args, SpecialPage\getConfig(), SpecialPage\getLanguage(), SpecialPage\msg(), showRecoverableUploadError(), and showUploadError().

Referenced by processUpload().

◆ rotationEnabled()

static SpecialUpload::rotationEnabled ( )
static

Should we rotate images in the preview on Special:Upload.

This controls js: mw.config.get( 'wgFileCanRotate' )

Todo
What about non-BitmapHandler handled files?
Returns
bool

Definition at line 909 of file SpecialUpload.php.

◆ showRecoverableUploadError()

SpecialUpload::showRecoverableUploadError ( $message)
protected

Stashes the upload and shows the main upload form.

Note: only errors that can be handled by changing the name or description should be redirected here. It should be assumed that the file itself is sensible and has passed UploadBase::verifyFile. This essentially means that UploadBase::VERIFICATION_ERROR and UploadBase::EMPTY_FILE should not be passed here.

Parameters
string$messageHTML message to be passed to mainUploadForm

Definition at line 391 of file SpecialUpload.php.

References getUploadForm(), getUser(), SpecialPage\msg(), and showUploadForm().

Referenced by processUpload(), and processVerificationError().

◆ showUploadError()

SpecialUpload::showUploadError ( $message)
protected

Show the upload form with error message, but do not stash the file.

Parameters
string$messageHTML string

Definition at line 520 of file SpecialUpload.php.

References getUploadForm(), SpecialPage\msg(), and showUploadForm().

Referenced by processUpload(), and processVerificationError().

◆ showUploadForm()

SpecialUpload::showUploadForm ( $form)
protected

Show the main upload form.

Parameters
HTMLForm | string$formAn HTMLForm instance or HTML string to show

Definition at line 268 of file SpecialUpload.php.

References SpecialPage\getOutput(), and showViewDeletedLinks().

Referenced by execute(), showRecoverableUploadError(), showUploadError(), and showUploadWarning().

◆ showUploadWarning()

SpecialUpload::showUploadWarning ( $warnings)
protected

Stashes the upload, shows the main form, but adds a "continue anyway button".

Also checks whether there are actually warnings to display.

Parameters
array$warnings
Returns
bool True if warnings were displayed, false if there are no warnings and it should continue processing

Definition at line 416 of file SpecialUpload.php.

References $args, $file, getDupeWarning(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getTitleFor(), getUploadForm(), getUser(), SpecialPage\msg(), NS_FILE, and showUploadForm().

Referenced by processUpload().

◆ showViewDeletedLinks()

SpecialUpload::showViewDeletedLinks ( )
protected

Shows the "view X deleted revisions link"".

Definition at line 355 of file SpecialUpload.php.

References $title, getAuthority(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getTitleFor(), getUser(), SpecialPage\msg(), and NS_FILE.

Referenced by showUploadForm().

◆ unsaveUploadedFile()

SpecialUpload::unsaveUploadedFile ( )
protected

Remove a temporarily kept file stashed by saveTempUploadedFile().

Returns
bool Success

Definition at line 814 of file SpecialUpload.php.

References $success, SpecialPage\getOutput(), and SpecialPage\msg().

Referenced by execute().

◆ userCanExecute()

SpecialUpload::userCanExecute ( User $user)

This page can be shown if uploading is enabled.

Handle permission checking elsewhere in order to be able to show custom error messages.

Parameters
User$user
Returns
bool

Reimplemented from SpecialPage.

Definition at line 175 of file SpecialUpload.php.

Member Data Documentation

◆ $mCancelUpload

bool SpecialUpload::$mCancelUpload

The user clicked "Cancel and return to upload form" button.

Definition at line 111 of file SpecialUpload.php.

◆ $mComment

SpecialUpload::$mComment

Definition at line 93 of file SpecialUpload.php.

◆ $mCopyrightSource

SpecialUpload::$mCopyrightSource

Definition at line 101 of file SpecialUpload.php.

◆ $mCopyrightStatus

SpecialUpload::$mCopyrightStatus

Definition at line 100 of file SpecialUpload.php.

◆ $mDesiredDestName

string SpecialUpload::$mDesiredDestName

User input variables from the "description" section.

The requested target file name

Definition at line 92 of file SpecialUpload.php.

◆ $mDestWarningAck

SpecialUpload::$mDestWarningAck

Hidden variables.

Definition at line 105 of file SpecialUpload.php.

◆ $mForReUpload

bool SpecialUpload::$mForReUpload

The user followed an "overwrite this file" link.

Definition at line 108 of file SpecialUpload.php.

◆ $mIgnoreWarning

SpecialUpload::$mIgnoreWarning

User input variables from the root section.

Definition at line 98 of file SpecialUpload.php.

◆ $mLicense

SpecialUpload::$mLicense

Definition at line 94 of file SpecialUpload.php.

◆ $mLocalFile

LocalFile SpecialUpload::$mLocalFile

Definition at line 86 of file SpecialUpload.php.

◆ $mRequest

WebRequest FauxRequest SpecialUpload::$mRequest

Misc variables.

The request this form is supposed to handle

Definition at line 79 of file SpecialUpload.php.

◆ $mSourceType

SpecialUpload::$mSourceType

Definition at line 80 of file SpecialUpload.php.

◆ $mTokenOk

SpecialUpload::$mTokenOk

Definition at line 112 of file SpecialUpload.php.

◆ $mUpload

UploadBase SpecialUpload::$mUpload

Definition at line 83 of file SpecialUpload.php.

◆ $mUploadClicked

SpecialUpload::$mUploadClicked

Definition at line 87 of file SpecialUpload.php.

◆ $mUploadSuccessful

bool SpecialUpload::$mUploadSuccessful = false

Subclasses can use this to determine whether a file was uploaded.

Definition at line 115 of file SpecialUpload.php.

◆ $mWatchthis

SpecialUpload::$mWatchthis

Definition at line 99 of file SpecialUpload.php.

◆ $uploadFormTextAfterSummary

string SpecialUpload::$uploadFormTextAfterSummary

Raw html injection point for hooks not using HTMLForm.

Definition at line 120 of file SpecialUpload.php.

◆ $uploadFormTextTop

string SpecialUpload::$uploadFormTextTop

Raw html injection point for hooks not using HTMLForm.

Definition at line 118 of file SpecialUpload.php.


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