diff --git a/includes/media/BitmapHandler.php b/includes/media/BitmapHandler.php index 071010eb18f..ee909a5855d 100644 --- a/includes/media/BitmapHandler.php +++ b/includes/media/BitmapHandler.php @@ -305,7 +305,7 @@ class BitmapHandler extends TransformationalImageHandler { < $sharpenReductionThreshold ) { // Hack, since $wgSharpenParameter is written specifically for the command line convert - list( $radius, $sigma ) = explode( 'x', $sharpenParameter ); + list( $radius, $sigma ) = explode( 'x', $sharpenParameter, 2 ); $im->sharpenImage( (float)$radius, (float)$sigma ); } $qualityVal = isset( $params['quality'] ) ? (string)$params['quality'] : null; diff --git a/includes/media/Exif.php b/includes/media/Exif.php index a14364ff661..21ff1f4aa02 100644 --- a/includes/media/Exif.php +++ b/includes/media/Exif.php @@ -369,7 +369,7 @@ class Exif { // We know altitude data is a / from the validation // functions ran earlier. But multiplying such a string by -1 // doesn't work well, so convert. - list( $num, $denom ) = explode( '/', $this->mFilteredExifData['GPSAltitude'] ); + list( $num, $denom ) = explode( '/', $this->mFilteredExifData['GPSAltitude'], 2 ); $this->mFilteredExifData['GPSAltitude'] = (int)$num / (int)$denom; if ( isset( $this->mFilteredExifData['GPSAltitudeRef'] ) ) { @@ -530,11 +530,11 @@ class Exif { if ( isset( $loc ) && isset( $dir ) && ( $dir === 'N' || $dir === 'S' || $dir === 'E' || $dir === 'W' ) ) { - list( $num, $denom ) = explode( '/', $loc[0] ); + list( $num, $denom ) = explode( '/', $loc[0], 2 ); $res = (int)$num / (int)$denom; - list( $num, $denom ) = explode( '/', $loc[1] ); + list( $num, $denom ) = explode( '/', $loc[1], 2 ); $res += ( (int)$num / (int)$denom ) * ( 1 / 60 ); - list( $num, $denom ) = explode( '/', $loc[2] ); + list( $num, $denom ) = explode( '/', $loc[2], 2 ); $res += ( (int)$num / (int)$denom ) * ( 1 / 3600 ); if ( $dir === 'S' || $dir === 'W' ) { diff --git a/includes/media/FormatMetadata.php b/includes/media/FormatMetadata.php index 4ea35057301..d8dd2c1e824 100644 --- a/includes/media/FormatMetadata.php +++ b/includes/media/FormatMetadata.php @@ -143,9 +143,9 @@ class FormatMetadata extends ContextSource { if ( $tag == 'GPSTimeStamp' && count( $vals ) === 3 ) { // hour min sec array - $h = explode( '/', $vals[0] ); - $m = explode( '/', $vals[1] ); - $s = explode( '/', $vals[2] ); + $h = explode( '/', $vals[0], 2 ); + $m = explode( '/', $vals[1], 2 ); + $s = explode( '/', $vals[2], 2 ); // this should already be validated // when loaded from file, but it could @@ -859,7 +859,7 @@ class FormatMetadata extends ContextSource { case 'MaxApertureValue': if ( strpos( $val, '/' ) !== false ) { // need to expand this earlier to calculate fNumber - list( $n, $d ) = explode( '/', $val ); + list( $n, $d ) = explode( '/', $val, 2 ); if ( is_numeric( $n ) && is_numeric( $d ) ) { $val = (int)$n / (int)$d; } diff --git a/includes/media/JpegHandler.php b/includes/media/JpegHandler.php index 17b10d9e831..5c49be9dc04 100644 --- a/includes/media/JpegHandler.php +++ b/includes/media/JpegHandler.php @@ -264,7 +264,7 @@ class JpegHandler extends ExifBitmapHandler { ->execute(); // Explode EXIF data into an array with [0 => Color Space, 1 => Device Model Desc] - $data = explode( "\t", trim( $result->getStdout() ) ); + $data = explode( "\t", trim( $result->getStdout() ), 3 ); if ( $result->getExitCode() !== 0 ) { return false;