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 ( $request=null)
 Get data POSTed through the form and assign them to the object. More...
 
 doesWrites ()
 
 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...
 
 displayRestrictionError ()
 Output an error message telling the user what access level they have to have. More...
 
 doesWrites ()
 Indicates whether this special page may perform database writes. More...
 
 execute ( $subPage)
 Default execute method Checks user permissions. 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. 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...
 
 getTitle ( $subpage=false)
 Get a self-referential title object. 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}}. More...
 
 isListed ()
 Whether this special page is listed in Special:SpecialPages. 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)
 Wrapper around wfMessage that sets the current context. 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...
 
 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...
 
 setHeaders ()
 Sets headers - this should be called from the execute() method of all derived classes! More...
 
 setLinkRenderer (LinkRenderer $linkRenderer)
 
 setListed ( $listed)
 Set whether this page is listed in Special:Specialpages, at run-time. More...
 
 userCanExecute (User $user)
 Checks if the given user (identified by an object) can execute this special page (as defined by $mRestriction). More...
 

Static Public Member Functions

static getExistsWarning ( $exists)
 Formats a result of UploadBase::getExistsWarning as HTML This check is static and can be done pre-upload via AJAX. 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 ()
 
 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...
 
 getCacheTTL ()
 
 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...
 
 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...
 
 prefixSearchString ( $search, $limit, $offset)
 Perform a regular substring search for prefixSearchSubpages. More...
 
 setReauthPostData (array $data)
 Record preserved POST data after a reauthentication. More...
 
 useTransactionalTimeLimit ()
 Call wfTransactionalTimeLimit() if this request was POSTed. More...
 

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

Constructor & Destructor Documentation

◆ __construct()

SpecialUpload::__construct (   $request = null)

Get data POSTed through the form and assign them to the object.

Parameters
WebRequest | null$requestData posted.

Definition at line 38 of file SpecialUpload.php.

Member Function Documentation

◆ doesWrites()

SpecialUpload::doesWrites ( )

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

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

Referenced by showUploadWarning().

◆ getExistsWarning()

static SpecialUpload::getExistsWarning (   $exists)
static

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

References $file, $name, SpecialPage\getTitle(), null, and wfMessage().

Referenced by ApiQueryImageInfo\getInfo().

◆ getGroupName()

SpecialUpload::getGroupName ( )
protected

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

References $source, array(), as, null, Hooks\run(), wfDebug(), and wfMessage().

Referenced by ImportImages\execute(), and LocalFile\recordUpload().

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

References $context, $dbr, DB_REPLICA, SpecialPage\getContext(), SpecialPage\getLinkRenderer(), SpecialPage\getPageTitle(), getWatchCheck(), Title\makeTitleSafe(), SpecialPage\msg(), NS_FILE, LogEventsList\showLogExtract(), and wfGetDB().

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

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

Referenced by getUploadForm().

◆ loadRequest()

SpecialUpload::loadRequest ( )
protected

Initialize instance variables from request and create an Upload handler.

Definition at line 94 of file SpecialUpload.php.

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

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 860 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 346 of file SpecialUpload.php.

References getUploadForm(), SpecialPage\getUser(), SpecialPage\msg(), null, 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 475 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 228 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 371 of file SpecialUpload.php.

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

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

Definition at line 144 of file SpecialUpload.php.

References UploadBase\isEnabled().

Member Data Documentation

◆ $mCancelUpload

bool SpecialUpload::$mCancelUpload

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

Definition at line 81 of file SpecialUpload.php.

◆ $mComment

SpecialUpload::$mComment

Definition at line 63 of file SpecialUpload.php.

◆ $mCopyrightSource

SpecialUpload::$mCopyrightSource

Definition at line 71 of file SpecialUpload.php.

◆ $mCopyrightStatus

SpecialUpload::$mCopyrightStatus

Definition at line 70 of file SpecialUpload.php.

◆ $mDesiredDestName

string SpecialUpload::$mDesiredDestName

User input variables from the "description" section.

The requested target file name

Definition at line 62 of file SpecialUpload.php.

◆ $mDestWarningAck

SpecialUpload::$mDestWarningAck

Hidden variables.

Definition at line 75 of file SpecialUpload.php.

◆ $mForReUpload

bool SpecialUpload::$mForReUpload

The user followed an "overwrite this file" link.

Definition at line 78 of file SpecialUpload.php.

◆ $mIgnoreWarning

SpecialUpload::$mIgnoreWarning

User input variables from the root section.

Definition at line 68 of file SpecialUpload.php.

◆ $mLicense

SpecialUpload::$mLicense

Definition at line 64 of file SpecialUpload.php.

◆ $mLocalFile

LocalFile SpecialUpload::$mLocalFile

Definition at line 56 of file SpecialUpload.php.

◆ $mRequest

WebRequest FauxRequest SpecialUpload::$mRequest

Misc variables.

The request this form is supposed to handle

Definition at line 49 of file SpecialUpload.php.

◆ $mSourceType

SpecialUpload::$mSourceType

Definition at line 50 of file SpecialUpload.php.

◆ $mTokenOk

SpecialUpload::$mTokenOk

Definition at line 82 of file SpecialUpload.php.

◆ $mUpload

UploadBase SpecialUpload::$mUpload

Definition at line 53 of file SpecialUpload.php.

◆ $mUploadClicked

SpecialUpload::$mUploadClicked

Definition at line 57 of file SpecialUpload.php.

◆ $mUploadSuccessful

bool SpecialUpload::$mUploadSuccessful = false

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

Definition at line 85 of file SpecialUpload.php.

◆ $mWatchthis

SpecialUpload::$mWatchthis

Definition at line 69 of file SpecialUpload.php.

◆ $uploadFormTextAfterSummary

SpecialUpload::$uploadFormTextAfterSummary

Definition at line 89 of file SpecialUpload.php.

◆ $uploadFormTextTop

SpecialUpload::$uploadFormTextTop

Text injection points for hooks not using HTMLForm.

Definition at line 88 of file SpecialUpload.php.


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