reCAPTCHA pro Nette

- Jake Cooney
 - Člen | 11
 
reCAPTCHA pro Nette
Napsal jsem implementaci reCAPTCHA do Nette formulářů.
Implementace
- Soubory reCAPTCHA.php a reCaptchaLib.php
	umístíme do adresáře 
LIBS_DIR/Nette.Extras/reCAPTCHA - Přidáme 
LIBS_DIRdo RobotLoaderu: 
<?php
$loader = new RobotLoader();
$loader->addDirectory(LIBS_DIR);
$loader->register();
?>
3. V presenteru přidáme reCAPTCHA pole.
<?php
if(class_exists('reCAPTCHA'))
{
	$form->addRecaptcha('recaptcha_input','reCAPTCHA:')
		->addRule('reCAPTCHA::validate','Transcribe the text from the image correctly.');
}
?>
Myslim, že se to někomu bude hodit.

- doomed
 - Člen | 17
 
Zdravím, v případě že budete tuhle komponentu používat a nemáte k dispozici PHP >= 5.3, je třeba upravit poslední řádek:
reCAPTCHA.php – původní
<?php
	FormContainer::extensionMethod('addRecaptcha', array('reCAPTCHA', 'addRecaptcha'));
?>
reCAPTCHA.php – po úpravě
<?php
	FormContainer::extensionMethod('FormContainer::addRecaptcha', array('reCAPTCHA', 'addRecaptcha'));
?>
Doufám, že to někomu pomůže.
Editoval doomed (30. 10. 2009 15:46)

- pjoter
 - Člen | 118
 
tahle komponenta vygeneruje tlacitko ktere vygeneruje novou captchu ? mam php 5.3.0
mám kód
<?php
		$form->addCaptcha('captcha', 'Opište bezpečnostní kód:', 32)
			->setTextColor(Image::rgb(0, 0, 0))
				->addRule(Form::FILLED, 'Opište bezpečnostní kód.')
				->addRule('Captcha::validateValid', 'Opište správně bezpečnostní kód z obrázku.');
		if(class_exists('reCAPTCHA'))
		{
			$form->addRecaptcha('recaptcha_input','reCAPTCHA:')
				->addRule('reCAPTCHA::validate','Transcribe the text from the image correctly.');
		}
?>
v sablone mam
<?php
						<label>Bezpečnostní kód:</strong><br />
						{!=$form['captcha']->getImage()}
						<p>
						{$form['recaptcha_input']->control}
						{$form['recaptcha_input']->label}
						</p>
						<p>{$form['captcha']->label} <br />
						{!=$form['captcha']->getInput()}
						</p>
?>
po nacteni stranky se mi zobrazi pouze text: Invalid public key. Make sure you copy and pasted it correctly. reCAPTCHA:
Editoval pjoter (14. 1. 2010 20:19)

- Aurielle
 - Člen | 1281
 
http://recaptcha.net/…captcha.html a zaregistruj se, ve zdrojáku té komponenty na API key někde bude konstanta nebo něco podobného (případně se to přidá do configu).