lookyman/recaptcha

View on GitHub
README.md

Summary

Maintainability
Test Coverage
Nette ReCaptcha
======

This extension provides integration of [Google reCAPTCHA](https://www.google.com/recaptcha/intro/index.html) into Nette Framework.

[![Build Status](https://travis-ci.org/lookyman/recaptcha.svg?branch=master)](https://travis-ci.org/lookyman/recaptcha)
[![Downloads](https://img.shields.io/packagist/dt/lookyman/recaptcha.svg)](https://packagist.org/packages/lookyman/recaptcha)
[![Latest stable](https://img.shields.io/packagist/v/lookyman/recaptcha.svg)](https://packagist.org/packages/lookyman/recaptcha)
[![Code Climate](https://codeclimate.com/github/lookyman/recaptcha/badges/gpa.svg)](https://codeclimate.com/github/lookyman/recaptcha)


Requirements
------

lookyman/ReCaptcha requires PHP 5.5 or higher.

- [Nette Framework](https://github.com/nette/nette)


Installation
------

The best way to install lookyman/ReCaptcha is using [Composer](http://getcomposer.org/):

```sh
$ composer require lookyman/recaptcha
```

You can enable the extension using your neon config:

```yml
extensions:
    recaptcha: lookyman\ReCaptcha\DI\ReCaptchaExtension
```


Configuration
------

This extension creates new configuration section `recaptcha`, the default configuration looks like this:

```yml
recaptcha:
    siteKey: ''
    secretKey: ''
    verificationUrl: 'https://www.google.com/recaptcha/api/siteverify'
    errorMessage: 'You appear to be a bot'
    validateRemoteIp: off
    client: []
    theme: 'light'
    type: 'image'
    size: 'normal'
```

You can get your `siteKey` and `secretKey` at the [Google reCAPTCHA](https://www.google.com/recaptcha/intro/index.html) admin page.

The `client` configuration option can pass additional settings to the default [Guzzle](http://guzzlephp.org) client. For example, should you run into the `cURL error 60: SSL certificate problem: unable to get local issuer certificate` error, you can use the `verify: off` option here to disable peer certificate verification.

Additionally, you have to paste the following snippet into your template just before the closing `</body>` tag:

```html
<script src='https://www.google.com/recaptcha/api.js'></script>
```


Usage
------

This extension adds a single method into the `Nette\Forms\Container` namespace with the following signature:

```php
/**
 * @param string $name Control name
 * @param string|NULL $label Control label
 * @return \lookyman\ReCaptcha\Forms\Controls\ReCaptchaControl
 */
public function addReCaptcha($name, $label = NULL);
```

Adding a reCAPTCHA to your form is then as easy as adding any other control type:

```php
protected function createComponentMyReCaptchaForm()
{
    $form = new Nette\Application\UI\Form();
    $form->addReCaptcha('recaptcha', 'You have to solve this before you send the form');
    ...
}
```


-----

Homepage [https://lookyman.net](https://lookyman.net) and repository [https://github.com/lookyman/recaptcha](https://github.com/lookyman/recaptcha).