Skip to main content

GF_Field_CAPTCHA

Source: includes/fields/class-gf-field-captcha.php:8

Details

  • Kind: class
  • Namespace: (global)
  • Extends: GF_Field

Properties

PropertyTypeDescription
$typestring
$duplicatableboolWhether there can be more than one of this field type per form.
$repeatableboolWhether the field can be used in a repeater.
$_supports_state_validationboolIndicates if this field supports state validation.

Methods

MethodDescription
__construct()The reCAPTCHA field constructor.
set_recaptcha_response()Add recaptcha response to the AJAX request result.
get_form_editor_field_description()Returns the field's form editor description.
get_form_editor_field_icon()Returns the field's form editor icon.
get_field_sidebar_messages()Returns the warning message to be displayed in the form editor sidebar.
maybe_remove_recaptcha_v2()Recaptcha v2 does not work in conversational forms, so we have to remove it.
validate()Validate the reCAPTCHA field.
validate_recaptcha()Validates the reCAPTCHA response.
verify_decoded_response()Verifies that the decoded response meets the requirements for submitting the form.
get_site_key()Get the saved site key.
get_secret_key()Get the saved secret key.
get_posted_recaptcha_response()Get the value of the reCAPTCHA response input.
verify_recaptcha_response()Validate the reCAPTCHA token provided by Google.
is_invisible_recaptcha()Whether this field is using invisible reCAPTCHA v2.
get_field_content()Returns the field content markup and ensures the Invisible reCAPTCHA
get_field_css_class()Returns the field specific CSS classes.
get_encoded_recaptcha_response()Encode the reCAPTCHA response with details from Google.
post_convert_field()Actions to be performed after the field has been converted to an object.
is_state_validation_supported()Determines if this field will be processed by the state validation.
get_values_for_state_hash()Prepares the value that will be hashed on form display as part of the state.
get_value_for_state_validation()Returns the value to use when the state is validated.

Method Reference

__construct()

public function __construct( $data=[] )

The reCAPTCHA field constructor.

Parameters

NameTypeDefaultDescription
$data[]

Since: 2.8.13

Source: includes/fields/class-gf-field-captcha.php:79

set_recaptcha_response()

public static function set_recaptcha_response( $result )

Add recaptcha response to the AJAX request result.

Parameters

NameTypeDefaultDescription
$resultarrayThe result of the AJAX validation and submission request.

Returns

  • mixed

Since: 2.9.0

Source: includes/fields/class-gf-field-captcha.php:99

get_form_editor_field_description()

public function get_form_editor_field_description()

Returns the field's form editor description.

Returns

  • string

Since: 2.5

Source: includes/fields/class-gf-field-captcha.php:127

get_form_editor_field_icon()

public function get_form_editor_field_icon()

Returns the field's form editor icon.

This could be an icon url or a gform-icon class.

Returns

  • string

Since: 2.5

Source: includes/fields/class-gf-field-captcha.php:140

get_field_sidebar_messages()

public function get_field_sidebar_messages()

Returns the warning message to be displayed in the form editor sidebar.

Returns

  • string | array

Since: 2.8

Source: includes/fields/class-gf-field-captcha.php:169

maybe_remove_recaptcha_v2()

public static function maybe_remove_recaptcha_v2( $form )

Recaptcha v2 does not work in conversational forms, so we have to remove it.

Parameters

NameTypeDefaultDescription
$form

Returns

  • void

Since: 2.8.13

Source: includes/fields/class-gf-field-captcha.php:212

validate()

public function validate( $value, $form )

Validate the reCAPTCHA field.

This method always gets called on the last page of a form, as well as on the page where the field is assigned.

Parameters

NameTypeDefaultDescription
$valuearray | stringThe field value.
$formarrayThe form data.

Since: Unknown

Source: includes/fields/class-gf-field-captcha.php:239

validate_recaptcha()

public function validate_recaptcha( $form )

Validates the reCAPTCHA response.

In our application flow, we create a decoded string out of the reCAPTCHA service response if the reCAPTCHA field is added to the form on a page other than the last page. We therefore first attempt to validate the decoded response, falling back to validating the reCAPTCHA with a request to Google.

Parameters

NameTypeDefaultDescription
$formarrayThe form data.

Returns

  • bool

See Also

Since: unknown

Source: includes/fields/class-gf-field-captcha.php:312

verify_decoded_response()

public function verify_decoded_response( $form, $response )

Verifies that the decoded response meets the requirements for submitting the form.

Returns false if the decoded response doesn't exist or the reCAPTCHA field is on the last page, as we'll want regular validation at that point instead.

Parameters

NameTypeDefaultDescription
$formarrayThe form data.
$responsestringThe encoded response to verify.

Returns

  • bool

Since: 2.4.24

Source: includes/fields/class-gf-field-captcha.php:344

get_site_key()

public function get_site_key()

Get the saved site key.

Returns

  • string

Since: 2.4.24

Source: includes/fields/class-gf-field-captcha.php:378

get_secret_key()

public function get_secret_key()

Get the saved secret key.

Returns

  • string

Since: 2.4.25

Source: includes/fields/class-gf-field-captcha.php:393

get_posted_recaptcha_response()

public function get_posted_recaptcha_response()

Get the value of the reCAPTCHA response input.

When user clicks on the "I'm not a robot" box, the response token is populated into a hidden field by Google. If the current form is a multi-page form and the reCAPTCHA field is on a page other than the last page, this value will return an openssl encoded string with the Google reCAPTCHA validation data and some supplemental validation data instead.

Returns

  • string

See Also

Since: 2.4.24

Source: includes/fields/class-gf-field-captcha.php:415

verify_recaptcha_response()

public function verify_recaptcha_response( $response, $secret_key=null )

Validate the reCAPTCHA token provided by Google.

Parameters

NameTypeDefaultDescription
$responsestringThe token to verify.
$secret_keynullnullThe secret key for reCAPTCHA verification.

Returns

  • bool

Since: unknown

Source: includes/fields/class-gf-field-captcha.php:429

is_invisible_recaptcha()

public function is_invisible_recaptcha()

Whether this field is using invisible reCAPTCHA v2.

Returns

  • bool

Since: 3.0.0

Source: includes/fields/class-gf-field-captcha.php:463

get_field_content()

public function get_field_content( $value, $force_frontend_label, $form )

Returns the field content markup and ensures the Invisible reCAPTCHA

does not display a visible label or occupy layout space on the frontend.

Parameters

NameTypeDefaultDescription
$valuestring | arrayThe field value.
$force_frontend_labelboolShould the frontend label be displayed in the admin.
$formarrayThe Form being processed.

Returns

  • string

Since: 3.0.0

Source: includes/fields/class-gf-field-captcha.php:491

get_field_css_class()

public function get_field_css_class()

Returns the field specific CSS classes.

Returns

  • string

Since: 3.0.0

Source: includes/fields/class-gf-field-captcha.php:518

get_encoded_recaptcha_response()

public function get_encoded_recaptcha_response( $form, $response )

Encode the reCAPTCHA response with details from Google.

Parameters

NameTypeDefaultDescription
$formarrayThe form data.
$responsestringThe posted response data.

Returns

  • string

Since: 2.4.24

Source: includes/fields/class-gf-field-captcha.php:648

post_convert_field()

public function post_convert_field()

Actions to be performed after the field has been converted to an object.

Returns

  • void

Since: 3.0

Source: includes/fields/class-gf-field-captcha.php:917

is_state_validation_supported()

public function is_state_validation_supported()

Determines if this field will be processed by the state validation.

Returns

  • bool

Since: 3.0

Source: includes/fields/class-gf-field-captcha.php:932

get_values_for_state_hash()

public function get_values_for_state_hash( $value )

Prepares the value that will be hashed on form display as part of the state.

Parameters

NameTypeDefaultDescription
$valuestring | arrayThe default value.

Returns

  • null | array

Since: 3.0

Source: includes/fields/class-gf-field-captcha.php:945

get_value_for_state_validation()

public function get_value_for_state_validation( $value )

Returns the value to use when the state is validated.

Parameters

NameTypeDefaultDescription
$valuestring | arrayThe submitted value.

Returns

  • array

Since: 3.0

Source: includes/fields/class-gf-field-captcha.php:963