THELIA Forum

Welcome to the THELIA support and discusssion forum

Offline

#1 Plugin ReCaptcha

(01-12-2017 11:50:45)


Bonjour,

J'ai téléchargé ce plugin ici : https://github.com/thelia-modules/ReCaptcha
J'ai suivi les instructions, cas n1.

J'ai installé et activé le module. J'ai ajouté {hook name="recaptcha.js"} dans le header.
Dans le formulaire, j'ai ajouté {hook name="recaptcha.v2.button"}

Quand je soumets le formulaire, que je coche ou pas le captcha, le formulaire est envoyé.

Dois-je intercepter l'evenement comme dans le cas n2 ?


Grrrr, formulaires, des heures pour faire un truc basique de chez basique.
Désolé, je passe mes nerfs smile

Last edited by anti-conformiste (01-12-2017 11:51:06)

Offline

#2 Re: Plugin ReCaptcha

(04-12-2017 15:02:24)


Le truc n'est pas si basic que ça, parce que l'idée est de permettre d'ajouter un captcha à n'importe quel formulaire, existant ou pas.

Du coup, il faut un peu coder pour vérifier que le captcha est vérifié, comme indiqué à la fin du README.

Ce qu'il te faudrait, c'est un plugin Captcha "prêt à l'emploi" pour le formulaire de contact de base, c'est bien ça ?


CQFDev | Sites, boutiques, modules, développement et intégration pour Thelia 1 et 2

Offline

#3 Re: Plugin ReCaptcha

(04-12-2017 20:17:04)


Oui, c'est bien ça, en effet.

Cependant, j'ai bien compris que je dois faire un dispatch du "CHECK_CAPTCHA_EVENT"
Cependant, de ce que je comprends dans la doc du lien, cela concerne uniquement le cas 2, "The new invisible captcha"

Dans le cas 1 "A standard captcha", je lis

In this case you have just to put this hook {hook name="recaptcha.v2.button"} in form where you want to use captcha

Dasn les 2 cas, j'ai videmment placé mon hook dans le header

{hook name="recaptcha.js"}

Enfin, je confirme qu'un module prêt à l'emploi, comme celui-ci semblait l'être, me conviendrait bien :-)

Offline

#4 Re: Plugin ReCaptcha

(03-01-2018 13:19:12)


Je relance le thread, je n'ai pas de solution, je ne sais pas faire fonctionner ce module.

I need Help please smile

Offline

#5 Re: Plugin ReCaptcha

(09-01-2018 16:36:42)


dans le controller de ton form avant l'envoie tu rajoutes ce test

            $checkModule = ModuleQuery::create()
                 ->findOneByCode('ReCaptcha');
                
            if($checkModule && $checkModule->getActivate()){    
                $checkCaptchaEvent = new ReCaptchaCheckEvent(); 
                $this->dispatch(ReCaptchaEvents::CHECK_CAPTCHA_EVENT, $checkCaptchaEvent);
                if ($checkCaptchaEvent->isHuman() == false) { throw new \Exception('Invalid reCAPTCHA'); }
            }

Offline

#6 Re: Plugin ReCaptcha

(10-01-2018 11:44:52)


Merci, je teste ça et je fais un feed-back.

Offline

#7 Re: Plugin ReCaptcha

(10-01-2018 15:39:10)


Bonjour,
je me greffe sur la discussion qui tombe à pic puisque je me posais la même question.

J'ajoute une précision qui pourrait en aider certains :
ne pas oublier les namespaces suivant :
use Thelia\Model\ModuleQuery;
use ReCaptcha\Event\ReCaptchaCheckEvent;
use ReCaptcha\Event\ReCaptchaEvents;

A part cela, tout marche impecc' merci smile