MediaWiki  master
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, PermissionManager $permissionManager=null)
 
 doesWrites ()
 Indicates whether this special page may perform database writes. More...
 
 execute ( $par)
 
 getDupeWarning ( $dupes)
 Construct a warning and a gallery from an array of duplicate files. More...
 
 userCanExecute (User $user)
 This page can be shown if uploading is enabled. More...
 
- 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. More...
 
 addHelpLink ( $to, $overrideBaseUrl=false)
 Adds help link with an icon via page indicators. More...
 
 checkPermissions ()
 Checks if userCanExecute, and if not throws a PermissionsError. More...
 
 checkReadOnly ()
 If the wiki is currently in readonly mode, throws a ReadOnlyError. More...
 
 getConfig ()
 Shortcut to get main config object. More...
 
 getContext ()
 Gets the context this SpecialPage is executed in. More...
 
 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. More...
 
 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. More...
 
 getFullTitle ()
 Return the full title, including $par. More...
 
 getLanguage ()
 Shortcut to get user's language. More...
 
 getLinkRenderer ()
 
 getLocalName ()
 Get the localised name of the special page Stable to override. More...
 
 getName ()
 Get the name of this Special Page. More...
 
 getOutput ()
 Get the OutputPage being used for this instance. More...
 
 getPageTitle ( $subpage=false)
 Get a self-referential title object. More...
 
 getRequest ()
 Get the WebRequest being used for this instance. More...
 
 getRestriction ()
 Get the permission that a user must have to execute this page. More...
 
 getSkin ()
 Shortcut to get the skin being used for this instance. More...
 
 getUser ()
 Shortcut to get the User executing this instance. More...
 
 including ( $x=null)
 Whether the special page is being evaluated via transclusion. More...
 
 isCached ()
 Is this page cached? Expensive pages are cached or disabled in miser mode. More...
 
 isExpensive ()
 Is this page expensive (for some definition of expensive)? Expensive pages are disabled or cached in miser mode. More...
 
 isIncludable ()
 Whether it's allowed to transclude the special page via {{Special:Foo/params}} Stable to override. More...
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages Stable to override. More...
 
 isRestricted ()
 Can be overridden by subclasses with more complicated permissions schemes. More...
 
 listed ( $x=null)
 Get or set whether this special page is listed in Special:SpecialPages. More...
 
 maxIncludeCacheTime ()
 How long to cache page when it is being included. More...
 
 msg ( $key,... $params)
 Wrapper around wfMessage that sets the current context. More...
 
 prefixSearchSubpages ( $search, $limit, $offset)
 Return an array of subpages beginning with $search that this special page will accept. More...
 
 requireLogin ( $reasonMsg='exception-nologin-text', $titleMsg='exception-nologin')
 If the user is not logged in, throws UserNotLoggedIn error. More...
 
 run ( $subPage)
 Entry point. More...
 
 setContext ( $context)
 Sets the context this SpecialPage is executed in. More...
 
 setHookContainer (HookContainer $hookContainer)
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time. More...
 

Static Public Member Functions

static getExistsWarning ( $exists)
 Functions for formatting warnings. More...
 
static getInitialPageText ( $comment='', $license='', $copyStatus='', $source='', Config $config=null)
 Get the initial image page text based on a comment and optional file status information. More...
 
static rotationEnabled ()
 Should we rotate images in the preview on Special:Upload. More...
 
- 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. More...
 
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. More...
 
static getTitleValueFor ( $name, $subpage=false, $fragment='')
 Get a localised TitleValue object for a specified special page name. More...
 

Public Attributes

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

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'. More...
 
 getUploadForm ( $message='', $sessionKey='', $hideIgnoreWarning=false)
 Get an UploadForm instance with title and text properly set. More...
 
 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. More...
 
 loadRequest ()
 Initialize instance variables from request and create an Upload handler. More...
 
 processUpload ()
 Do the upload. More...
 
 processVerificationError ( $details)
 Provides output to the user for a result of UploadBase::verifyUpload. More...
 
 showRecoverableUploadError ( $message)
 Stashes the upload and shows the main upload form. More...
 
 showUploadError ( $message)
 Show the upload form with error message, but do not stash the file. More...
 
 showUploadForm ( $form)
 Show the main upload form. More...
 
 showUploadWarning ( $warnings)
 Stashes the upload, shows the main form, but adds a "continue anyway button". More...
 
 showViewDeletedLinks ()
 Shows the "view X deleted revivions link"". More...
 
 unsaveUploadedFile ()
 Remove a temporarily kept file stashed by saveTempUploadedFile(). More...
 
- Protected Member Functions inherited from SpecialPage
 addFeedLinks ( $params)
 Adds RSS/atom links. More...
 
 afterExecute ( $subPage)
 Gets called after. More...
 
 beforeExecute ( $subPage)
 Gets called before. More...
 
 buildPrevNextNavigation ( $offset, $limit, array $query=[], $atend=false, $subpage=false)
 Generate (prev x| next x) (20|50|100...) type links for paging. More...
 
 checkLoginSecurityLevel ( $level=null)
 Verifies that the user meets the security level, possibly reauthenticating them in the process. More...
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have Stable to override. More...
 
 getCacheTTL ()
 Stable to override. More...
 
 getHookContainer ()
 
 getHookRunner ()
 
 getLanguageConverter ()
 Shortcut to get language's converter. More...
 
 getLoginSecurityLevel ()
 Tells if the special page does something security-sensitive and needs extra defense against a stolen account (e.g. More...
 
 getRobotPolicy ()
 Return the robot policy. More...
 
 getSubpagesForPrefixSearch ()
 Return an array of subpages that this special page will accept for prefix searches. More...
 
 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. More...
 
 prefixSearchString ( $search, $limit, $offset)
 Perform a regular substring search for prefixSearchSubpages. More...
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes! Stable to override. More...
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication. More...
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed. More...
 

Private Attributes

LocalRepo $localRepo
 
PermissionManager $permissionManager
 

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). More...
 
- Protected Attributes inherited from SpecialPage
IContextSource $mContext
 Current request context. More...
 
 $mIncludable
 
 $mIncluding
 
 $mName
 
 $mRestriction
 

Detailed Description

Form for handling uploads and special page.

Definition at line 34 of file SpecialUpload.php.

Constructor & Destructor Documentation

◆ __construct()

SpecialUpload::__construct ( RepoGroup  $repoGroup = null,
PermissionManager  $permissionManager = null 
)
Parameters
RepoGroup | null$repoGroup
PermissionManager | null$permissionManager

Definition at line 46 of file SpecialUpload.php.

References $permissionManager.

Member Function Documentation

◆ doesWrites()

SpecialUpload::doesWrites ( )

Indicates whether this special page may perform database writes.

Stable to override

Returns
bool
Since
1.27

Reimplemented from SpecialPage.

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

References $file, ImageGalleryBase\factory(), SpecialPage\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 814 of file SpecialUpload.php.

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

Referenced by ApiQueryImageInfo\getInfo(), and showUploadWarning().

◆ 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'.

Stable to override

Returns
string
Since
1.21

Reimplemented from SpecialPage.

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

References $source, Hooks\runner(), wfDebug(), and wfMessage().

Referenced by ImageBuilder\addMissingImage(), ImportImages\execute(), and processUpload().

◆ 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 271 of file SpecialUpload.php.

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

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|string

Definition at line 682 of file SpecialUpload.php.

References SpecialPage\getUser(), Title\makeTitleSafe(), and NS_FILE.

Referenced by getUploadForm().

◆ loadRequest()

SpecialUpload::loadRequest ( )
protected

Initialize instance variables from request and create an Upload handler.

Definition at line 108 of file SpecialUpload.php.

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

Referenced by execute().

◆ processUpload()

◆ processVerificationError()

◆ 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 882 of file SpecialUpload.php.

Referenced by UploadForm\addUploadJS().

◆ 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 367 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 496 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 250 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 392 of file SpecialUpload.php.

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

Referenced by processUpload().

◆ showViewDeletedLinks()

SpecialUpload::showViewDeletedLinks ( )
protected

◆ unsaveUploadedFile()

SpecialUpload::unsaveUploadedFile ( )
protected

Remove a temporarily kept file stashed by saveTempUploadedFile().

Returns
bool Success

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

References UploadBase\isEnabled().

Member Data Documentation

◆ $localRepo

LocalRepo SpecialUpload::$localRepo
private

Definition at line 37 of file SpecialUpload.php.

◆ $mCancelUpload

bool SpecialUpload::$mCancelUpload

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

Definition at line 95 of file SpecialUpload.php.

◆ $mComment

SpecialUpload::$mComment

Definition at line 77 of file SpecialUpload.php.

◆ $mCopyrightSource

SpecialUpload::$mCopyrightSource

Definition at line 85 of file SpecialUpload.php.

◆ $mCopyrightStatus

SpecialUpload::$mCopyrightStatus

Definition at line 84 of file SpecialUpload.php.

◆ $mDesiredDestName

string SpecialUpload::$mDesiredDestName

User input variables from the "description" section.

The requested target file name

Definition at line 76 of file SpecialUpload.php.

◆ $mDestWarningAck

SpecialUpload::$mDestWarningAck

Hidden variables.

Definition at line 89 of file SpecialUpload.php.

◆ $mForReUpload

bool SpecialUpload::$mForReUpload

The user followed an "overwrite this file" link.

Definition at line 92 of file SpecialUpload.php.

◆ $mIgnoreWarning

SpecialUpload::$mIgnoreWarning

User input variables from the root section.

Definition at line 82 of file SpecialUpload.php.

◆ $mLicense

SpecialUpload::$mLicense

Definition at line 78 of file SpecialUpload.php.

◆ $mLocalFile

LocalFile SpecialUpload::$mLocalFile

Definition at line 70 of file SpecialUpload.php.

◆ $mRequest

WebRequest FauxRequest SpecialUpload::$mRequest

Misc variables.

The request this form is supposed to handle

Definition at line 63 of file SpecialUpload.php.

◆ $mSourceType

SpecialUpload::$mSourceType

Definition at line 64 of file SpecialUpload.php.

◆ $mTokenOk

SpecialUpload::$mTokenOk

Definition at line 96 of file SpecialUpload.php.

◆ $mUpload

UploadBase SpecialUpload::$mUpload

Definition at line 67 of file SpecialUpload.php.

◆ $mUploadClicked

SpecialUpload::$mUploadClicked

Definition at line 71 of file SpecialUpload.php.

◆ $mUploadSuccessful

bool SpecialUpload::$mUploadSuccessful = false

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

Definition at line 99 of file SpecialUpload.php.

◆ $mWatchthis

SpecialUpload::$mWatchthis

Definition at line 83 of file SpecialUpload.php.

◆ $permissionManager

PermissionManager SpecialUpload::$permissionManager
private

Definition at line 40 of file SpecialUpload.php.

Referenced by __construct().

◆ $uploadFormTextAfterSummary

SpecialUpload::$uploadFormTextAfterSummary

Definition at line 103 of file SpecialUpload.php.

◆ $uploadFormTextTop

SpecialUpload::$uploadFormTextTop

Text injection points for hooks not using HTMLForm.

Definition at line 102 of file SpecialUpload.php.


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