diff --git a/src/UserEmail.php b/src/UserEmail.php index 0d8dca94607..5a5510c016a 100644 --- a/src/UserEmail.php +++ b/src/UserEmail.php @@ -244,9 +244,7 @@ public static function showAddEmailButton(User $user) public function prepareInputForAdd($input) { - - // Check email validity - if (!isset($input['email']) || empty($input['email'])) { + if (!$this->checkInputEmailValidity($input)) { return false; } @@ -258,6 +256,27 @@ public function prepareInputForAdd($input) return parent::prepareInputForAdd($input); } + public function prepareInputForUpdate($input) + { + if (!$this->checkInputEmailValidity($input)) { + return false; + } + + return parent::prepareInputForUpdate($input); + } + + /** + * Check validity of email passed in input. + * + * @param array $input + * + * @return bool + */ + private function checkInputEmailValidity(array $input): bool + { + return isset($input['email']) && !empty($input['email']) && GLPIMailer::validateAddress($input['email']); + } + /** * @since 0.84