}
} else {
global $wgContLang;
- $data = isset( $wgContLang ) ? $wgContLang->normalize( $data ) : UtfNormal\Validator::cleanUp( $data );
+ $data = isset( $wgContLang ) ?
+ $wgContLang->normalize( $data ) :
+ UtfNormal\Validator::cleanUp( $data );
}
return $data;
}
* Appends or replaces value of query variables.
*
* @param array $array Array of values to replace/add to query
- * @param bool $onlyquery Whether to only return the query string and not the complete URL [deprecated]
+ * @param bool $onlyquery Whether to only return the query string
+ * and not the complete URL [deprecated]
* @return string
*/
public function appendQueryArray( $array, $onlyquery = true ) {
* @return bool
*/
public function checkUrlExtension( $extWhitelist = array() ) {
- global $wgScriptExtension;
- $extWhitelist[] = ltrim( $wgScriptExtension, '.' );
+ $extWhitelist[] = 'php';
if ( IEUrlExtension::areServerVarsBad( $_SERVER, $extWhitelist ) ) {
if ( !$this->wasPosted() ) {
$newUrl = IEUrlExtension::fixUrlForIE6(
}
}
-/**
- * Object to access the $_FILES array
- */
-class WebRequestUpload {
- protected $request;
- protected $doesExist;
- protected $fileInfo;
-
- /**
- * Constructor. Should only be called by WebRequest
- *
- * @param WebRequest $request The associated request
- * @param string $key Key in $_FILES array (name of form field)
- */
- public function __construct( $request, $key ) {
- $this->request = $request;
- $this->doesExist = isset( $_FILES[$key] );
- if ( $this->doesExist ) {
- $this->fileInfo = $_FILES[$key];
- }
- }
-
- /**
- * Return whether a file with this name was uploaded.
- *
- * @return bool
- */
- public function exists() {
- return $this->doesExist;
- }
-
- /**
- * Return the original filename of the uploaded file
- *
- * @return string|null Filename or null if non-existent
- */
- public function getName() {
- if ( !$this->exists() ) {
- return null;
- }
-
- global $wgContLang;
- $name = $this->fileInfo['name'];
-
- # Safari sends filenames in HTML-encoded Unicode form D...
- # Horrid and evil! Let's try to make some kind of sense of it.
- $name = Sanitizer::decodeCharReferences( $name );
- $name = $wgContLang->normalize( $name );
- wfDebug( __METHOD__ . ": {$this->fileInfo['name']} normalized to '$name'\n" );
- return $name;
- }
-
- /**
- * Return the file size of the uploaded file
- *
- * @return int File size or zero if non-existent
- */
- public function getSize() {
- if ( !$this->exists() ) {
- return 0;
- }
-
- return $this->fileInfo['size'];
- }
-
- /**
- * Return the path to the temporary file
- *
- * @return string|null Path or null if non-existent
- */
- public function getTempName() {
- if ( !$this->exists() ) {
- return null;
- }
-
- return $this->fileInfo['tmp_name'];
- }
-
- /**
- * Return the upload error. See link for explanation
- * http://www.php.net/manual/en/features.file-upload.errors.php
- *
- * @return int One of the UPLOAD_ constants, 0 if non-existent
- */
- public function getError() {
- if ( !$this->exists() ) {
- return 0; # UPLOAD_ERR_OK
- }
-
- return $this->fileInfo['error'];
- }
-
- /**
- * Returns whether this upload failed because of overflow of a maximum set
- * in php.ini
- *
- * @return bool
- */
- public function isIniSizeOverflow() {
- if ( $this->getError() == UPLOAD_ERR_INI_SIZE ) {
- # PHP indicated that upload_max_filesize is exceeded
- return true;
- }
-
- $contentLength = $this->request->getHeader( 'CONTENT_LENGTH' );
- if ( $contentLength > wfShorthandToInteger( ini_get( 'post_max_size' ) ) ) {
- # post_max_size is exceeded
- return true;
- }
-
- return false;
- }
-}
-
/**
* WebRequest clone which takes values from a provided array.
*