'admin/anr-admin-class.php' ); } else { $fep_files = array( 'main' => 'anr-captcha-class.php' ); } $fep_files = apply_filters('anr_include_files', $fep_files ); foreach ( $fep_files as $fep_file ) { require_once ( $fep_file ); } } function anr_captcha_form_field( $echo = true ) { $site_key = trim(anr_get_option( 'site_key' )); $theme = anr_get_option( 'theme' ); $no_js = anr_get_option( 'no_js' ); wp_enqueue_script('anr-google-recaptcha-script'); $field = "
"; if ( $no_js == 1 ) { $field .=""; } if ( $echo ) echo $field; return $field; } function anr_verify_captcha() { $secre_key = trim(anr_get_option( 'secret_key' )); $response = isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : ''; $remoteip = $_SERVER["REMOTE_ADDR"]; if ( !$secre_key ) //if $secre_key is not set return true; if ( !$response || !$remoteip ) return false; $url = "https://www.google.com/recaptcha/api/siteverify"; // make a POST request to the Google reCAPTCHA Server $request = wp_remote_post( $url, array('body' => array( 'secret' => $secre_key, 'response' => $response, 'remoteip' => $remoteip ) ) ); if ( is_wp_error( $request ) ) return false; // get the request response body $request_body = wp_remote_retrieve_body( $request ); if ( !$request_body ) return false; $result = json_decode( $request_body, true ); if ( !isset($result['success']) || !$result['success'] ) return false; if ( true == $result['success'] ) return true; return false; } add_filter('shake_error_codes', 'anr_add_shake_error_codes' ); function anr_add_shake_error_codes( $shake_error_codes ) { $shake_error_codes[] = 'anr_error'; return $shake_error_codes; }