slightly relax viewbox parameter check

Allow out of bounds parameters as long as the resulting box
covers some legal coodinates.
This commit is contained in:
Sarah Hoffmann
2016-10-13 08:03:28 +02:00
parent aa7c8b6b5b
commit 8650e0fedd

View File

@@ -180,14 +180,15 @@ class Geocode
{ {
$this->aViewBox = array_map('floatval', $aViewbox); $this->aViewBox = array_map('floatval', $aViewbox);
if ($this->aViewBox[0] < -180 $this->aViewBox[0] = max(-180.0, min(180, $this->aViewBox[0]));
|| $this->aViewBox[2] > 180 $this->aViewBox[1] = max(-90.0, min(90, $this->aViewBox[1]));
|| $this->aViewBox[0] >= $this->aViewBox[2] $this->aViewBox[2] = max(-180.0, min(180, $this->aViewBox[2]));
|| $this->aViewBox[1] < -90 $this->aViewBox[3] = max(-90.0, min(90, $this->aViewBox[3]));
|| $this->aViewBox[3] > 90
|| $this->aViewBox[1] >= $this->aViewBox[3] if (abs($this->aViewBox[0] - $this->aViewBox[2]) < 0.000000001
|| abs($this->aViewBox[1] - $this->aViewBox[3]) < 0.000000001
) { ) {
userError("Bad parameter 'viewbox'. Out of range."); userError("Bad parameter 'viewbox'. Not a box.");
} }
$fHeight = $this->aViewBox[0] - $this->aViewBox[2]; $fHeight = $this->aViewBox[0] - $this->aViewBox[2];