MarkupGoogleRecaptcha
Google reCAPTCHA for ProcessWire. This module simply adds reCAPTCHA to your form.
How To Install
- Download the zip file at Github or clone directly the repo into your
site/modules
- If you dowloaded the
zip file
, extract it in yoursites/modules
directory - Goto the modules admin page, click on refresh and install it.
API
You must create an API key prior to use this module. Goto https://www.google.com/recaptcha/admin to create your own. Next, add the API keys information to the module's settings.
Usage
- Call the module :
$captcha = $modules->get("MarkupGoogleRecaptcha");
- Call
$captcha->getScript();
somewhere to get the javascript used by reCAPTCHA - Render reCAPTCHA in a standard HTML
<form></form>
by calling$captcha->render()
or Render reCAPTCHA in anInputfieldForm
by passing as argument your form to the render function:$captcha->render($form)
- Call
verifyResponse()
to get the result. It returnTRUE
if the challenge was successfull.
Example
We make a form using ProcessWire's API and inject the reCaptcha :
$out = ''; $captcha = $modules->get("MarkupGoogleRecaptcha"); // if submitted, check response if ($captcha->verifyResponse() === true) { $out .= "Hi " . $input->post["name"] . ", thanks for submitting the form!"; } else { $form = $modules->get("InputfieldForm"); $form->action = $page->url; $form->method = "post"; $form->attr("id+name", "form"); $field = $this->modules->get('InputfieldText'); $field->name = "name"; $field->placeholder = "name"; $form->add($field); // CAPTCHA - our form as argument, the function will add an InputfieldMarkup to our form $captcha->render($form); // add a submit button $submit = $this->modules->get("InputfieldSubmit"); $submit->name = "submit"; $submit->value = 'Submit'; $form->add($submit); $out .= $form->render(); $out .= $captcha->getScript(); } echo $out;
A plain HTML form :
$captcha = $modules->get("MarkupGoogleRecaptcha"); // if submitted check response if ($captcha->verifyResponse() === true) { $out .= "Hi " . $input->post["name"] . ", thanks for submitting the form!"; } else { $out .= "<form method='post' action='{$page->url}'>\n" . "\t<input type='text' name='name'>\n" . $captcha->render() // render reCaptcha . "\t<input type='submit'>\n" . "</form>\n"; $out .= $captcha->getScript(); } echo $out;
Install and use modules at your own risk. Always have a site and database backup before installing new modules.