MediaWiki REL1_37
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.
 
 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.
 
 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.
 
 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.
 

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 revivions 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.
 

Private Attributes

LocalRepo $localRepo
 
NamespaceInfo $nsInfo
 
UserOptionsLookup $userOptionsLookup
 
WatchlistManager $watchlistManager
 

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 35 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 55 of file SpecialUpload.php.

References $userOptionsLookup, and $watchlistManager.

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 71 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 878 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 839 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 895 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 645 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$sessionKeySession key in case this is a stashed upload
bool$hideIgnoreWarningWhether to hide "ignore warning" check box
Returns
UploadForm

Definition at line 287 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 705 of file SpecialUpload.php.

References SpecialPage\getUser(), and NS_FILE.

Referenced by getUploadForm().

◆ loadRequest()

SpecialUpload::loadRequest ( )
protected

Initialize instance variables from request and create an Upload handler.

Definition at line 124 of file SpecialUpload.php.

References SpecialPage\getRequest(), SpecialPage\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 737 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 907 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 sane 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 390 of file SpecialUpload.php.

References getUploadForm(), SpecialPage\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 519 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 266 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 415 of file SpecialUpload.php.

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

Referenced by processUpload().

◆ showViewDeletedLinks()

SpecialUpload::showViewDeletedLinks ( )
protected

Shows the "view X deleted revivions link"".

Definition at line 354 of file SpecialUpload.php.

References $title, getAuthority(), SpecialPage\getLinkRenderer(), SpecialPage\getOutput(), SpecialPage\getTitleFor(), SpecialPage\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 812 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 174 of file SpecialUpload.php.

Member Data Documentation

◆ $localRepo

LocalRepo SpecialUpload::$localRepo
private

Definition at line 38 of file SpecialUpload.php.

◆ $mCancelUpload

bool SpecialUpload::$mCancelUpload

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

Definition at line 110 of file SpecialUpload.php.

◆ $mComment

SpecialUpload::$mComment

Definition at line 92 of file SpecialUpload.php.

◆ $mCopyrightSource

SpecialUpload::$mCopyrightSource

Definition at line 100 of file SpecialUpload.php.

◆ $mCopyrightStatus

SpecialUpload::$mCopyrightStatus

Definition at line 99 of file SpecialUpload.php.

◆ $mDesiredDestName

string SpecialUpload::$mDesiredDestName

User input variables from the "description" section.

The requested target file name

Definition at line 91 of file SpecialUpload.php.

◆ $mDestWarningAck

SpecialUpload::$mDestWarningAck

Hidden variables.

Definition at line 104 of file SpecialUpload.php.

◆ $mForReUpload

bool SpecialUpload::$mForReUpload

The user followed an "overwrite this file" link.

Definition at line 107 of file SpecialUpload.php.

◆ $mIgnoreWarning

SpecialUpload::$mIgnoreWarning

User input variables from the root section.

Definition at line 97 of file SpecialUpload.php.

◆ $mLicense

SpecialUpload::$mLicense

Definition at line 93 of file SpecialUpload.php.

◆ $mLocalFile

LocalFile SpecialUpload::$mLocalFile

Definition at line 85 of file SpecialUpload.php.

◆ $mRequest

WebRequest FauxRequest SpecialUpload::$mRequest

Misc variables.

The request this form is supposed to handle

Definition at line 78 of file SpecialUpload.php.

◆ $mSourceType

SpecialUpload::$mSourceType

Definition at line 79 of file SpecialUpload.php.

◆ $mTokenOk

SpecialUpload::$mTokenOk

Definition at line 111 of file SpecialUpload.php.

◆ $mUpload

UploadBase SpecialUpload::$mUpload

Definition at line 82 of file SpecialUpload.php.

◆ $mUploadClicked

SpecialUpload::$mUploadClicked

Definition at line 86 of file SpecialUpload.php.

◆ $mUploadSuccessful

bool SpecialUpload::$mUploadSuccessful = false

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

Definition at line 114 of file SpecialUpload.php.

◆ $mWatchthis

SpecialUpload::$mWatchthis

Definition at line 98 of file SpecialUpload.php.

◆ $nsInfo

NamespaceInfo SpecialUpload::$nsInfo
private

Definition at line 44 of file SpecialUpload.php.

◆ $uploadFormTextAfterSummary

string SpecialUpload::$uploadFormTextAfterSummary

Raw html injection point for hooks not using HTMLForm.

Definition at line 119 of file SpecialUpload.php.

◆ $uploadFormTextTop

string SpecialUpload::$uploadFormTextTop

Raw html injection point for hooks not using HTMLForm.

Definition at line 117 of file SpecialUpload.php.

◆ $userOptionsLookup

UserOptionsLookup SpecialUpload::$userOptionsLookup
private

Definition at line 41 of file SpecialUpload.php.

◆ $watchlistManager

WatchlistManager SpecialUpload::$watchlistManager
private

Definition at line 47 of file SpecialUpload.php.


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