MediaWiki  1.34.0
Wikimedia\ParamValidator\TypeDef\UploadDef Class Reference

Type definition for upload types. More...

Inheritance diagram for Wikimedia\ParamValidator\TypeDef\UploadDef:
Collaboration diagram for Wikimedia\ParamValidator\TypeDef\UploadDef:

Public Member Functions

 getValue ( $name, array $settings, array $options)
 Get the value from the request. More...
 
 stringifyValue ( $name, $value, array $settings, array $options)
 Convert a value to a string representation. More...
 
 validate ( $name, $value, array $settings, array $options)
 Validate the value. More...
 
- Public Member Functions inherited from Wikimedia\ParamValidator\TypeDef
 __construct (Callbacks $callbacks)
 
 describeSettings ( $name, array $settings, array $options)
 "Describe" a settings array More...
 
 getEnumValues ( $name, array $settings, array $options)
 Get the values for enum-like parameters. More...
 
 normalizeSettings (array $settings)
 Normalize a settings array. More...
 

Protected Member Functions

 getIniSize ()
 Fetch the value of PHP's upload_max_filesize ini setting. More...
 

Additional Inherited Members

- Protected Attributes inherited from Wikimedia\ParamValidator\TypeDef
Callbacks $callbacks
 

Detailed Description

Type definition for upload types.

The result from validate() is an object implementing UploadedFileInterface.

ValidationException codes:

  • 'badupload': The upload is not valid. No data.
  • 'badupload-inisize': The upload exceeded the maximum in php.ini. Data:
    • 'size': The configured size (in bytes).
  • 'badupload-formsize': The upload exceeded the maximum in the form post. No data.
  • 'badupload-partial': The file was only partially uploaded. No data.
  • 'badupload-nofile': There was no file. No data.
  • 'badupload-notmpdir': PHP has no temporary directory to store the upload. No data.
  • 'badupload-cantwrite': PHP could not store the upload. No data.
  • 'badupload-phpext': A PHP extension rejected the upload. No data.
  • 'badupload-notupload': The field was present in the submission but was not encoded as an upload. No data.
  • 'badupload-unknown': Some unknown PHP upload error code. Data:
    • 'code': The code.
Since
1.34 @unstable

Definition at line 33 of file UploadDef.php.

Member Function Documentation

◆ getIniSize()

Wikimedia\ParamValidator\TypeDef\UploadDef::getIniSize ( )
protected

Fetch the value of PHP's upload_max_filesize ini setting.

This method exists so it can be mocked by unit tests that can't affect ini_get() directly.

Returns
string|false

Definition at line 68 of file UploadDef.php.

Referenced by Wikimedia\ParamValidator\TypeDef\UploadDef\validate().

◆ getValue()

Wikimedia\ParamValidator\TypeDef\UploadDef::getValue (   $name,
array  $settings,
array  $options 
)

Get the value from the request.

Note
Only override this if you need to use something other than $this->callbacks->getValue() to fetch the value. Reformatting from a string should typically be done by self::validate().
Handling of ParamValidator::PARAM_DEFAULT should be left to ParamValidator, as should PARAM_REQUIRED and the like.
Parameters
string$nameParameter name being fetched.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
null|mixed Return null if the value wasn't present, otherwise a value to be passed to self::validate().

Reimplemented from Wikimedia\ParamValidator\TypeDef.

Definition at line 35 of file UploadDef.php.

◆ stringifyValue()

Wikimedia\ParamValidator\TypeDef\UploadDef::stringifyValue (   $name,
  $value,
array  $settings,
array  $options 
)

Convert a value to a string representation.

This is intended as the inverse of getValue() and validate(): this should accept anything returned by those methods or expected to be used as PARAM_DEFAULT, and if the string from this method is passed in as client input or PARAM_DEFAULT it should give equivalent output from validate().

Parameters
string$nameParameter name being converted.
mixed$valueParameter value being converted. Do not pass null.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
string|null Return null if there is no representation of $value reasonably satisfying the description given.

Reimplemented from Wikimedia\ParamValidator\TypeDef.

Definition at line 112 of file UploadDef.php.

◆ validate()

Wikimedia\ParamValidator\TypeDef\UploadDef::validate (   $name,
  $value,
array  $settings,
array  $options 
)

Validate the value.

When ParamValidator is processing a multi-valued parameter, this will be called once for each of the supplied values. Which may mean zero calls.

When getValue() returned null, this will not be called.

Parameters
string$nameParameter name being validated.
mixed$valueValue to validate, from getValue().
array$settingsParameter settings array.
array$optionsOptions array. Note the following values that may be set by ParamValidator:
  • values-list: (string[]) If defined, values of a multi-valued parameter are being processed (and this array holds the full set of values).
Returns
mixed Validated value
Exceptions
ValidationExceptionif the value is invalid

Reimplemented from Wikimedia\ParamValidator\TypeDef.

Definition at line 72 of file UploadDef.php.

References $last, and Wikimedia\ParamValidator\TypeDef\UploadDef\getIniSize().


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