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
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04