Skip to content
Snippets Groups Projects
Commit fc441631 authored by Chris Hallberg's avatar Chris Hallberg Committed by Demian Katz
Browse files

Add ReCaptcha support to feedback form.

parent 299360ea
Branches
Tags
No related merge requests found
......@@ -1410,7 +1410,7 @@ treeSearchLimit = 100
;secretKey = "https://www.google.com/recaptcha/admin/create"
; Valid theme values: dark, light
;theme = light
; Valid forms values: changePassword, email, newAccount, passwordRecovery, sms
; Valid forms values: changePassword, email, feedback, newAccount, passwordRecovery, sms
; Use * for all supported forms
;forms = changePassword, email, newAccount, passwordRecovery, sms
......
......@@ -44,13 +44,16 @@ class FeedbackController extends AbstractBase
*/
public function emailAction()
{
$view = $this->createViewModel();
$view->useRecaptcha = $this->recaptcha()->active('feedback');
$view->name = $this->params()->fromPost('name');
$view->email = $this->params()->fromPost('email');
$view->comments = $this->params()->fromPost('comments');
// Process form submission:
if ($this->formWasSubmitted('submit')) {
$name = $this->params()->fromPost('name');
$users_email = $this->params()->fromPost('email');
$comments = $this->params()->fromPost('comments');
if ($this->formWasSubmitted('submit', $view->useRecaptcha)) {
if (empty($users_email) || empty($comments)) {
if (empty($view->email) || empty($view->comments)) {
$this->flashMessenger()->addMessage('bulk_error_missing', 'error');
return;
}
......@@ -75,9 +78,9 @@ class FeedbackController extends AbstractBase
);
}
$email_message = empty($name) ? '' : 'Name: ' . $name . "\n";
$email_message .= 'Email: ' . $users_email . "\n";
$email_message .= 'Comments: ' . $comments . "\n\n";
$email_message = empty($view->name) ? '' : 'Name: ' . $view->name . "\n";
$email_message .= 'Email: ' . $view->email . "\n";
$email_message .= 'Comments: ' . $view->comments . "\n\n";
// This sets up the email to be sent
// Attempt to send the email and show an appropriate flash message:
......@@ -94,7 +97,7 @@ class FeedbackController extends AbstractBase
} catch (MailException $e) {
$this->flashMessenger()->addMessage($e->getMessage(), 'error');
}
return $this->createViewModel();
}
return $view;
}
}
......@@ -4,21 +4,22 @@
<div class="form-group">
<label class="col-sm-3 control-label" for="name"><?=$this->transEsc("feedback_name")?></label>
<div class="col-sm-9">
<input type="text" id="name" name="name" class="form-control"/>
<input type="text" id="name" name="name" value="<?=$this->escapeHtmlAttr(isset($name) ? $name : '')?>" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="email"><?=$this->transEsc("Email")?></label>
<div class="col-sm-9">
<input type="email" id="email" name="email" class="form-control" required/>
<input type="email" id="email" name="email" value="<?=$this->escapeHtmlAttr(isset($email) ? $email : '')?>" class="form-control" required/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="comments"><?=$this->transEsc("Comments")?></label>
<div class="col-sm-9">
<textarea id="comments" name="comments" class="form-control" required></textarea>
<textarea id="comments" name="comments" class="form-control" required><?=$this->escapeHtml(isset($comments) ? $comments : '')?></textarea>
</div>
</div>
<?=$this->recaptcha()->html($this->useRecaptcha) ?>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<input type="submit" name="submit" class="btn btn-primary" value="<?=$this->transEsc("Send")?>" />
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment