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);
if ($this->aViewBox[0] < -180
|| $this->aViewBox[2] > 180
|| $this->aViewBox[0] >= $this->aViewBox[2]
|| $this->aViewBox[1] < -90
|| $this->aViewBox[3] > 90
|| $this->aViewBox[1] >= $this->aViewBox[3]
$this->aViewBox[0] = max(-180.0, min(180, $this->aViewBox[0]));
$this->aViewBox[1] = max(-90.0, min(90, $this->aViewBox[1]));
$this->aViewBox[2] = max(-180.0, min(180, $this->aViewBox[2]));
$this->aViewBox[3] = max(-90.0, min(90, $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];