定制 contributte/seznamcaptcha 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

contributte/seznamcaptcha

最新稳定版本:0.5

Composer 安装命令:

composer require contributte/seznamcaptcha

包简介

SeznamCaptcha to Nette Framework

README 文档

README

Website ???? contributte.org | Contact ????????‍???? f3l1x.io | Twitter ???? @contributte

Disclaimer

⚠️ This project is no longer being maintained.
Composer contributte/seznamcaptcha
Version
PHP
License

Usage

To install latest version of contributte/seznamcaptcha use Composer.

composer require contributte/seznamcaptcha

Configuration

Extension Registration

extensions:
	captcha: Contributte\SeznamCaptcha\DI\SeznamCaptchaExtension

Options

By default is auto: on and method: http, you can disable it and bind addCaptcha to your forms by yourself.

captcha:
	auto: off # on | off
	method: xmlrpc # http | xmlrpc

Form

Just register an extension and keep auto argument as it is.

use Nette\Application\UI\Form;

protected function createComponentForm()
{
	$form = new Form();

	$form->addCaptcha('captcha')
		->setRequired('Are you robot?');

	$form->addSubmit('send');

	$form->onSuccess[] = function (Form $form) {
		dump($form['captcha']);
	};

	return $form;
}

Rendering

Automatic

{control form}

Manual

It needs a CaptchaContainer consists of 2 inputs image and code.

<form n:name="form">
    {input captcha-image}
    {input captcha-code}
</form>

Advanced Example

use Minetro\SeznamCaptcha\Forms\CaptchaHash;
use Minetro\SeznamCaptcha\Forms\CaptchaImage;
use Minetro\SeznamCaptcha\Forms\CaptchaInput;
use Minetro\SeznamCaptcha\Provider\CaptchaValidator;
use Minetro\SeznamCaptcha\Provider\ProviderFactory;
use Nette\Application\UI\Form;

/** @var ProviderFactory @inject */
public $providerFactory;

protected function createComponentForm()
{
	$form = new Form();

	$provider = $this->providerFactory->create();
	$form['image'] = new CaptchaImage('Captcha', $provider);
	$form['hash'] = new CaptchaHash($provider);
	$form['code'] = new CaptchaInput('Code');

	$form->addSubmit('send');

	$form->onValidate[] = function (Form $form) use ($provider) {
		$validator = new CaptchaValidator($provider);

		$hash = $form['hash']->getHttpHash();
		$code = $form['code']->getHttpCode();

		if ($validator->validate($code, $hash) !== TRUE) {
			$form->addError('Are you robot?');
		}
	};

	$form->onSuccess[] = function (Form $form) {
		dump($form);
	};

	return $form;
}

For better usability add this functionality to your BaseForms, BaseFormFactory or something like this. You can also create a trait for it.

Versions

State Version Branch Nette PHP
dev ^0.6 master 3.0+ >=7.2
stable ^0.5 master 3.0+ >=7.2
stable ^0.4 master 2.4+ >=5.6

Development

This package was maintained by these authors.

Consider to support contributte development team. Also thank you for using this package.

统计信息

  • 总下载量: 619.45k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04