Marc-pi / LosReCaptcha

PHP module for using the ReCaptcha v2 system from Google

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LosReCaptcha

PHP module for using the ReCaptcha v2 system from Google

https://www.google.com/recaptcha/intro/index.html

Zend Form

To use with Zend\Form, just initialize like the default ReCaptcha element:

$this->add([
   'name' => 'captcha',
    'type' => 'captcha',
    'options' => [
        'captcha' => new LosReCaptcha\Captcha\ReCaptcha([
            'site_key' => $siteKey,
            'secret_key' => $siteSecret,
        ]),
    ],
]);

You need to add the necessary alias to your view_helper instance:

return [
	'view_helpers' {
	    'aliases' => [
	        'losrecaptcha/recaptcha'  => LosReCaptcha\Form\View\Helper\Captcha\ReCaptcha::class,
	    ],
	    'factories' => [
	        LosReCaptcha\Form\View\Helper\Captcha\ReCaptcha::class => 
	            Zend\ServiceManager\Factory\InvokableFactory::class,
	    ],
    ],
];

For Zend Expressive, you can inject the configuration with the ConfigProvider:

<?php
namespace App\View\Helper\Factory;

use Interop\Container\ContainerInterface;
use Zend\ServiceManager\Config;
use Zend\View\HelperPluginManager;
use Zend\Form\ConfigProvider as FormConfigProvider;
use Zend\I18n\ConfigProvider as I18nConfigProvider;
use LosReCaptcha\ConfigProvider as CaptchaConfigProvider;

class HelperPluginManagerFactory
{
    public function __invoke(ContainerInterface $container)
    {
        $config = $container->has('config') ? $container->get('config') : [];
        $config = isset($config['view_helpers']) ? $config['view_helpers'] : [];
        $manager = new HelperPluginManager($container);

        $manager->configure((new FormConfigProvider())->getViewHelperConfig());
        $manager->configure((new I18nConfigProvider())->getViewHelperConfig());
        $manager->configure((new CaptchaConfigProvider())->getViewHelperConfig());
        $manager->configure($config);

        return $manager;
    }
}

And to use the factory, add the following to your dependencies:

'dependencies' => [
        'factories' => [
            Zend\View\HelperPluginManager::class =>
                App\View\Helper\Factory\HelperPluginManagerFactory::class,
        ],
    ],

About

PHP module for using the ReCaptcha v2 system from Google

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:PHP 100.0%