[[!FormIt? &hooks=`myrecaptcha2,spam,email,redirect` &emailTpl=`tpl_kontakt` &emailTo=`[[!getmaildata]]` &emailBCC=`[[+fi.email]]` &emailSubject=`Nachricht an Sie über stroemen.org` &redirectTo=`41` &validate=`nachname:required, email:email:required, nachricht:required:stripTags` ]]
<?php include MODX_CORE_PATH.'components/recaptchav2/model/recaptchav2/ReCaptcha/ReCaptcha.php'; $recaptcha = new \ReCaptcha\ReCaptcha("6L..."); //secretcode-numbers $modx->log(modX::LOG_LEVEL_ERROR, 'Hello'); //testing log if (empty($recaptcha) || (! $recaptcha instanceof \ReCaptcha\Recaptcha)) { $modx->log(modX::LOG_LEVEL_ERROR, '[recaptcha2] Instantiation failed'); return ''; } $resp = $recaptcha->verify($gRecaptchaResponse, $remoteIp); if ($resp->isSuccess()) { // verified! } else { $errors = $resp->getErrorCodes(); return false; } return true;
$file = MODX_CORE_PATH.'components/recaptchav2/model/recaptchav2/ReCaptcha/ReCaptcha.php'; if (!file_exists($file)) { $modx->log(modX::LOG_LEVEL_ERROR, 'File does not exist: ' . $file); }
<?php $file = MODX_CORE_PATH.'components/recaptchav2/model/recaptchav2/ReCaptcha/ReCaptcha.php'; if (!file_exists($file)) { $modx->log(modX::LOG_LEVEL_ERROR, 'File does not exist: ' . $file); } else { $modx->log(modX::LOG_LEVEL_ERROR, 'File does exist: ' . $file); } $recaptcha = new \ReCaptcha\ReCaptcha("6LeJKxsTAAAAADIqvvz1UhipgtEeFNZLA4a7cgEV"); //secretcode-numbers if (empty($recaptcha) || (! $recaptcha instanceof \ReCaptcha\Recaptcha)) { $modx->log(modX::LOG_LEVEL_ERROR, '[recaptcha2] Instantiation failed'); return ''; } $resp = $recaptcha->verify($gRecaptchaResponse, $remoteIp); if ($resp->isSuccess()) { // verified! } else { $errors = $resp->getErrorCodes(); return false; } return true;
Hi forum members,
Because of sepiarivers recaptcha2 beta-plugin doesnt work at all for me on Formit etc.
$recaptchav2 = new \ReCaptcha\ReCaptcha($secret, new \ReCaptcha\RequestMethod\CurlPost());
<?php $file = MODX_CORE_PATH.'components/recaptchav2/model/recaptchav2/ReCaptcha/ReCaptcha.php'; if (!file_exists($file)) { $modx->log(modX::LOG_LEVEL_ERROR, 'File does not exist: ' . $file); } else { $modx->log(modX::LOG_LEVEL_ERROR, 'File does exist: ' . $file); } $recaptchav2 = new \ReCaptcha\ReCaptcha("6Le..", new \ReCaptcha\RequestMethod\CurlPost()); //secretcode-numbers if (empty($recaptcha2) || (! $recaptcha2 instanceof \ReCaptcha\Recaptcha)) { $modx->log(modX::LOG_LEVEL_ERROR, '[recaptcha2] Instantiation failed'); return ''; } $resp = $recaptcha2->verify($gRecaptchaResponse, $remoteIp); if ($resp->isSuccess()) { // verified! } else { $errors = $resp->getErrorCodes(); return false; } return true;
Thank you Sepia River,
I tried your Package half a day but didnt get it to work. (see issue on github).
Additional info:
I still depend on the package by "instatizing" it as you see.
// Get the class $recaptchav2Path = $modx->getOption('recaptchav2.core_path', null, $modx->getOption('core_path') . 'components/recaptchav2/'); $recaptchav2Path .= 'model/recaptchav2/'; if (!file_exists($recaptchav2Path . 'autoload.php')) { $modx->log(modX::LOG_LEVEL_WARN, 'Cannot find required RecaptchaV2 autoload.php file.'); return false; } require_once($recaptchav2Path . 'autoload.php'); $recaptchav2 = new \ReCaptcha\ReCaptcha($secret, new \ReCaptcha\RequestMethod\CurlPost()); if (!($recaptchav2 instanceof \ReCaptcha\ReCaptcha)) { $hook->addError('recaptchav2_error', $tech_err_msg); $modx->log(modX::LOG_LEVEL_WARN, 'Failed to load recaptchav2 class.'); return false; }
Also the ReCaptcah API.js link is in my template, otherwise it wouldn't show up.