Function Reference: geodir_recaptcha_ajax_check
Summary
check captcha for send to friend, claim listing, send enquiry.
Package
GeoDirectory_ReCaptcha
Change Log
Since: 1.0.0
Source File
geodir_recaptcha_ajax_check() is located in geodir_recaptcha/includes/gdcaptcha_functions.php [Line: 891]
Source Code
function geodir_recaptcha_ajax_check() {
$gdc_form = isset( $_POST['gdc_form'] ) ? $_POST['gdc_form'] : '';
$return = array();
$return['success'] = false;
$return['error'] = __( 'ERROR: You have entered an incorrect CAPTCHA value.', GDCAPTCHA_TEXTDOMAIN );
if ( $gdc_form ) {
switch( $gdc_form ) {
case 'add_listing':
case 'send_enquery':
case 'send_to_friend':
case 'claim_listing':
$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['success'] = true;
$return['error'] = NULL;
}
break;
}
}
echo json_encode( $return );
exit;
}