From 11b6e79d8ddfa6a389a192b3c04bc7c5054d8a28 Mon Sep 17 00:00:00 2001 From: Moritz Strohm <strohm@data-quest.de> Date: Fri, 12 Nov 2021 13:20:10 +0100 Subject: [PATCH] room_request controller: added checks to prevent division by zero, re #264 --- app/controllers/resources/room_request.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php index f6c30e8c105..d3ef841f4d3 100644 --- a/app/controllers/resources/room_request.php +++ b/app/controllers/resources/room_request.php @@ -1227,12 +1227,20 @@ class Resources_RoomRequestController extends AuthenticatedController $this->room_availability[$room->id][$metadate_id] = $metadate_availability; } - $this->metadate_availability_share[$room->id][$metadate_id] = - ($this->amount_of_metadate_dates[$room->id][$metadate_id] - $this->unavailable_metadate_dates[$room->id][$metadate_id]) - / $this->amount_of_metadate_dates[$room->id][$metadate_id]; + if ($this->amount_of_metadate_dates[$room->id][$metadate_id] == 0) { + $this->metadate_availability_share[$room->id][$metadate_id] = 0.0; + } else { + $this->metadate_availability_share[$room->id][$metadate_id] = + ($this->amount_of_metadate_dates[$room->id][$metadate_id] - $this->unavailable_metadate_dates[$room->id][$metadate_id]) + / $this->amount_of_metadate_dates[$room->id][$metadate_id]; + } + } + if ($this->amount_of_dates[$room->id] == 0) { + $this->room_availability_share[$room->id] = 0.0; + } else { + $this->room_availability_share[$room->id] = + ($this->amount_of_dates[$room->id] - $this->unavailable_dates[$room->id]) / $this->amount_of_dates[$room->id]; } - $this->room_availability_share[$room->id] = - ($this->amount_of_dates[$room->id] - $this->unavailable_dates[$room->id]) / $this->amount_of_dates[$room->id]; } -- GitLab