mb-tec/zf-recaptcha

This package is abandoned and no longer maintained. No replacement package was suggested.

ReCaptcha v2.0 module for Zend Framework 2 & 3 (ZF2 * ZF3)

1.1 2016-10-15 16:25 UTC

This package is not auto-updated.

Last update: 2023-03-19 11:11:52 UTC


README

Build Status: build status

This modules makes it possible to use the new ReCaptcha LINK in your ZendFramework2+3 (ZF2/3) projects.

I created this module, since ZendFrameworkService\ReCaptcha seems to be dead and is still on RCv1.

Installation

with composer

Just add the following line to your requirements:

"mb-tec/zf-recaptcha": "1.*"

and run

php composer.phar update

Since there are problems with the SSL-Cert if you use Adapter\Socket, please install php-curl!

Then activate the module in your application.config.php :

```php
return array(
    'modules' => array(
        // ...
        'BrlReCaptcha',
    ),
    // ...
);
```

Get your private-key

To use this service, you have to register at Google ReCaptcha using your Google-Account.

Usage

with Zend\From

This module works similar as ZendFrameworkService\ReCaptcha.

Just add the following lines to your form creation:

$element = new \Zend\Captcha\Captcha('g-recaptcha-response');
$element->setCaptcha(new BrlReCaptcha\ReCaptcha(array('private_key' => 'YOUR_SECRET FROM GOOGLE', 'public_key' => 'YOUR_PUBLIC_KEY', 'theme' => 'dark')));
$form->add($element);

Important: The element has to be named g-recaptcha-response due to the reason that the JS from google creates this virtual input.

Remember to add this element to your validationChain as well.

Note: The theme parameter is not required. By default the light theme is used.

It acts the same way as any other built-in captcha solution.

with ServiceManager

If you like to implement the view on your own, just use the Service\ReCaptchaService. It handles the whole communication between your code and the ReCaptcha API.

$recaptcha = $serviceLocator->get('BrlRecaptcha\Service\ReCaptcha');

other

just look into the sources! It's pretty easy to understand.

TODO

  • PHPUnit Tests are missing -> Will do this in the next couple of days
  • some error handling is qnd
  • better documentation

Questions?

If you have any problems or questions regarding my code, please create an issue. Since i'm using this module for my own projects i'm interested in keeping this up to date!