Function Reference: geodir_recaptcha_check
Summary
verify captcha.
Package
GeoDirectory_ReCaptcha
Parameters
- $form
- (string) (required) The form name.
- Default: None
- $errors
- (string) (required) Form errors.
- Default: None
Change Log
Since: 1.0.0
Source File
geodir_recaptcha_check() is located in geodir_recaptcha/includes/gdcaptcha_functions.php [Line: 849]
Source Code
function geodir_recaptcha_check( $form = '', $errors='' ) {
$site_key = get_option( 'geodir_recaptcha_site_key' );
$secret_key = get_option( 'geodir_recaptcha_secret_key' );
if ( !( strlen( $site_key ) > 10 && strlen( $secret_key ) > 10 ) ) {
return;
}
if ( !class_exists( 'ReCaptcha' ) ) {
require_once( GEODIR_RECAPTCHA_PLUGIN_PATH . '/lib/recaptchalib.php' );
}
$reCaptcha = new ReCaptcha( $secret_key );
$recaptcha_value = isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '';
$response = $reCaptcha->verifyResponse( $_SERVER['REMOTE_ADDR'], $recaptcha_value );
$invalid_captcha = !empty( $response ) && isset( $response->success ) && $response->success ? false : true;
if ( !$invalid_captcha ) {
return;
} else {
if ( $form == 'bp_registration' ) {
global $bp;
$bp->signup->errors['gd_recaptcha_field'] = __( 'You have entered an incorrect CAPTCHA value.', GDCAPTCHA_TEXTDOMAIN );
return;
} else {
if ( !empty( $errors ) && is_object( $errors ) ) {
$errors->add( 'invalid_captcha', __( 'ERROR: You have entered an incorrect CAPTCHA value.', GDCAPTCHA_TEXTDOMAIN ) );
} else {
wp_die( __( 'ERROR: You have entered an incorrect CAPTCHA value. Click the BACK button on your browser, and try again.', GDCAPTCHA_TEXTDOMAIN ) );
}
}
}
}