diff --git a/app/classes/Framadate/Services/AdminPollService.php b/app/classes/Framadate/Services/AdminPollService.php index e86bbb8b0314e51148ebe67e90890ad9464dc22d..7604082fb86941f32e05aa398c47c486d6ae58b0 100644 --- a/app/classes/Framadate/Services/AdminPollService.php +++ b/app/classes/Framadate/Services/AdminPollService.php @@ -33,10 +33,16 @@ class AdminPollService { function updatePoll($poll) { global $config; - if ($poll->end_date > $poll->creation_date) { - return $this->pollRepository->update($poll); + + $end_date = strtotime($poll->end_date); + + if ($end_date < strtotime($poll->creation_date)) { + $poll->end_date = $poll->creation_date; + } elseif ($end_date > $this->pollService->maxExpiryDate()) { + $poll->end_date = utf8_encode(strftime('%Y-%m-%d', $this->pollService->maxExpiryDate())); } - return false; + + return $this->pollRepository->update($poll); } /**