Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Core/src/View/Helper/RecaptchaHelper.php
<?php

namespace Croogo\Core\View\Helper;

use
Cake\Core\Configure;
use
Cake\View\Helper;

/**
 * Recaptcha Helper
 *
 * @package Croogo.Core.View.Helper
 */
class RecaptchaHelper extends Helper
{

   
/**
     * secure API Url
     */
   
const SECURE_API_URL = 'https://www.google.com/recaptcha/api.js';

   
/**
     * helpers
     */
   
public $helpers = ['Html', 'Form', 'Js'];

   
/**
     * beforeRender
     */
   
public function beforeRender($viewFile)
    {
        if (
$this->getView()->getRequest()->is('ajax')) {
            return;
        }
        if (
$this->getView()->getRequest()->getParam('prefix') === 'admin') {
            return;
        }
       
$this->Html->script(self::SECURE_API_URL, ['block' => true]);
    }

   
/**
     * render
     *
     * @data-type: audio | image
     */
   
public function display($options = [])
    {
       
$_defaults = [
           
'data-sitekey' => Configure::read('Recaptcha.pubKey'),
        ];
       
$options = array_merge($_defaults, $options);

       
$div = $this->Html->div('g-recaptcha', '', $options);

       
$this->Form->unlockField('g-recaptcha-response');

        return
$div;
    }
}