Skip to content

dynamikaweb/yii2-captcha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dynamikaweb/yii2-captcha

php version pkg version license quality build

Features

  • Custom alignment
  • Centered by default
  • Not jQuery dependent
  • Not printable by default
  • Development keys by default
  • Better responsive Improvements
  • Support for google reCaptcha and also hCaptcha
  • Support for multiple validators, widgets and keys at the same time

Installation

The preferred way to install this extension is through composer.

Either run

$ composer require dynamikaweb/yii2-captcha "*"

or add

"dynamikaweb/yii2-captcha": "*"

to the require section of your composer.json file.

Usage

Widget using input name

  • View file
<?php 

use dynamikaweb\captcha\Captcha;
?>

<?=Captcha::widget([
  'siteKey' => 'XXX',
  'name' => 'captcha',
  'pos' => Captcha::POS_LEFT // or Captcha::POS_CENTER or Captcha::POS_RIGHT (optional)
  'size' => Captcha::SIZE_COMPACT // or Captcha::SIZE_NORMAL (optional)
  'type' => Captcha::TYPE_RECAPTCHA // or Captcha::TYPE_HCAPTCHA 
])?>

Widget using model (site key in model file)

  • Model file
<?php 

namespace app\models;

use dynamikaweb\captcha\CaptchaValidator;

class SomeModel extends yii\base\Model
{
  public $captcha;

  public function rules()
  {
    return [
      [['captcha'], CaptchaValidator::classname(),
        'type' => CaptchaValidator::TYPE_RECAPTCHA, // or CaptchaValidator::TYPE_HCAPTCHA
        'siteKey' => 'XXX', // (optional)
        'secret' => 'XXX'
      ]
    ];
  }
}
  • View file
<?php 

use dynamikaweb\captcha\Captcha;
?>

<?=$form->attribute($model, 'captcha')->widget('dynamikaweb\captcha\Captcha')?>

Widget using model (site key in view file)

  • Model file
<?php 

namespace app\models;

use dynamikaweb\captcha\CaptchaValidator;

class SomeModel extends yii\base\Model
{
  public $captcha;

  public function rules()
  {
    return [
      [['captcha'], CaptchaValidator::classname(),
        'type' => CaptchaValidator::TYPE_RECAPTCHA, // or CaptchaValidator::TYPE_HCAPTCHA
        'secret' => 'XXX'
      ]
    ];
  }
}
  • View file
<?php 

use dynamikaweb\captcha\Captcha;
?>

<?=$form->attribute($model, 'captcha')->widget('dynamikaweb\captcha\Captcha', [
  'siteKey' => 'XXX',
  'size' => Captcha::SIZE_COMPACT // or Captcha::SIZE_NORMAL (optional)
  'pos' => Captcha::POS_LEFT // or Captcha::POS_CENTER or Captcha::POS_RIGHT (optional)
])?>

dynamika soluções web This project is under BSD-3-Clause license.