public function simpleAction() { if (!\Participation\Plugin::getConfig()->get(\Participation\Plugin::CONFIG_DEMOENABLED, false)) { die('Participation Plugin Demo not enabled in config!'); } $this->view->isFormValid = false; $this->view->invalidFormReason = ''; if ($this->getParam('submit') != '') { $manager = \Participation\Plugin::makeManager(); $captcha = $manager->makeCaptcha(); $response = $this->getParam($captcha->getParameterName()); if ($captcha->isValidResponse($response)) { // @todo validate/sanitize data! $participation = $manager->makeParticipation(); $participation->setEmail($this->getParam('email')); $participation->setFirstname($this->getParam('firstname')); $participation->setLastname($this->getParam('lastname')); // this a demo - only a few fields are used! $participation->save(); $confirmation = $manager->makeConfirmation(); $confirmation->sendEmail($participation); $this->view->isFormValid = true; } else { $this->view->isFormValid = false; $this->view->invalidFormReason = 'Captcha validation failed.'; } } }
public function checkAction() { // reachable via http://your.domain/plugin/Participation/index/confirm $code = $this->getParam('code'); $manager = \Participation\Plugin::makeManager(); $confirmation = $manager->makeConfirmation(); if ($confirmation->confirmParticipationByCode($code)) { $this->redirect(\Participation\Plugin::getConfig()->get(\Participation\Plugin::CONFIG_CONFIRMATION_SUCCESS_URL)); } $this->redirect(\Participation\Plugin::getConfig()->get(\Participation\Plugin::CONFIG_CONFIRMATION_FAILURE_URL)); }
<html> <head> <?php $manager = \Participation\Plugin::makeManager(); $captcha = $manager->makeCaptcha(); // pass in additional recaptcha options via a key-value array: // ?> <?php echo $captcha->getWidgetHeadScript(array('hl' => 'de')); ?> </head> <body> <?php if (!$this->isFormValid) { ?> <form action="?" method="POST"> <div style="border: solid 1px red;"><?php echo $this->invalidFormReason; ?> </div> <input type="email" name="email" placeholder="*****@*****.**"><br> <input type="firstname" name="firstname" placeholder="Max"><br> <input type="lastname" name="lastname" placeholder="Mustermann"><br> <?php echo $captcha->getWidgetMarkup(); ?> <br/> <input type="submit" name="submit" value="Submit"> </form> <?php