Skip to content

Commit

Permalink
Add email validation in feedback form and handle case for empty email
Browse files Browse the repository at this point in the history
  • Loading branch information
tillkolter committed Nov 20, 2017
1 parent b3e2711 commit 3057a28
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
13 changes: 10 additions & 3 deletions backend/src/Actions/FeedbackAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,19 @@ private function requestValid( \Symfony\Component\HttpFoundation\Request $reques
}

private function sendMail( $sender, $text, $responseEmail ) {
if (!isset($responseEmail)) {
$responseEmail = 'noreply@attribution-generator.dev';
if (!isset($responseEmail) || empty($responseEmail) ) {
$fromEmail = 'noreply@attribution-generator.dev';
} else {
if (!filter_var($responseEmail, FILTER_VALIDATE_EMAIL)) {
$this->errors[] = $this->i18n['error']['invalid-email-format'];
return;
}
$fromEmail = $responseEmail;
}

$message = \Swift_Message::newInstance()
->setSubject( '[AttributionGenerator] Feedback from ' . $sender )
->setFrom( [ $responseEmail ] )
->setFrom( [ $fromEmail ] )
->setTo( [ $this->app['config']['feedback_email'] ] )
->setBody( $text );

Expand Down
5 changes: 3 additions & 2 deletions i18n/de/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"input-placeholder": "Internetadresse eines Wikimedia-Commons-Bildes oder eines Wikipedia-Artikels",
"go-button": "Los!",
"feedback-name": "Name",
"feedback-response-email": "Email",
"feedback-response-email": "E-Mail-Adresse",
"feedback-body": "Feedback",
"feedback-submit": "Abschicken",
"feedback-thanks": "Vielen Dank für Ihr Feedback!",
Expand All @@ -32,7 +32,8 @@
"feedback-generic": "Beim Senden der Nachricht ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
"feedback-blank-fields": "Alle Felder des Feedback-Formulars müssen ausgefüllt werden.",
"no-images-found": "Dieser Wikipedia Artikel enthält keine Bilder.",
"no-wiki-url": "Bei der angegebenen Seite handelt es sich um keine Seite von Wikimedia."
"no-wiki-url": "Bei der angegebenen Seite handelt es sich um keine Seite von Wikimedia.",
"invalid-email-format": "Die angebene Email Adresse entspricht nicht dem gültigen Format."
},
"info-box": {
"private-use": "Die Angabe eines Lizenzhinweises ist bei rein privaten Nutzungen meist nicht nötig.",
Expand Down
2 changes: 1 addition & 1 deletion i18n/en/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"input-placeholder": "Web address of a Wikimedia Commons image or a Wikipedia article.",
"go-button": "Let’s go!",
"feedback-name": "Name",
"feedback-response-email": "Email",
"feedback-response-email": "E-Mail Address",
"feedback-body": "Feedback",
"feedback-submit": "Send",
"feedback-thanks": "Thank you for your feedback!",
Expand Down
5 changes: 3 additions & 2 deletions i18n/es/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"input-placeholder": "Dirección web de una imagen de Wikimedia Commons o de un artículo de Wikipedia.",
"go-button": "¡Empecémos!",
"feedback-name": "Nombre",
"feedback-response-email": "Email",
"feedback-response-email": "Dirección de correo electrónico",
"feedback-body": "Feedback",
"feedback-submit": "Enviar",
"feedback-thanks": "¡Gracias por tus comentarios!",
Expand All @@ -32,7 +32,8 @@
"feedback-generic": "Algo no ha funcionado correctamente. Por favor, inténtalo de nuevo",
"feedback-blank-fields": "Por favor, rellena todos los campos del formulario de feedback.",
"no-images-found": "Esta página de Wikipedia no contiene ninguna imagen.",
"no-wiki-url": "El sitio al que se hace referencia no es una página de Wikimedia."
"no-wiki-url": "El sitio al que se hace referencia no es una página de Wikimedia.",
"invalid-email-format": "La dirección de correo electrónico especificada no coincide con el formato válido."
},
"info-box": {
"private-use": "Para los usos puramente privados, no necesitas el aviso de licencia.",
Expand Down
5 changes: 3 additions & 2 deletions i18n/pt/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"input-placeholder": "Direção web de uma imagem da Wikimedia Commons o de um artigo da Wikipedia.",
"go-button": "Vamos começar!",
"feedback-name": "Nome",
"feedback-response-email": "Email",
"feedback-response-email": "Endereço de e-mail",
"feedback-body": "Feedback",
"feedback-submit": "Enviar",
"feedback-thanks": "Obrigado por seus comentários!",
Expand All @@ -32,7 +32,8 @@
"feedback-generic": "Algo não funcionou corretamente. Tente novamente",
"feedback-blank-fields": "Por favor, preencha todos os campos do formulário de feedback.",
"no-images-found": "Esta página da Wikipedia não contém nenhuma imagem.",
"no-wiki-url": "O site referenciado não é uma página da Wikimedia."
"no-wiki-url": "O site referenciado não é uma página da Wikimedia.",
"invalid-email-format": "O endereço de e-mail especificado não corresponde ao formato válido."
},
"info-box": {
"private-use": "Para usos puramente privados, você não precisa do aviso de licença.",
Expand Down

0 comments on commit 3057a28

Please sign in to comment.