name = __( 'reCaptcha', 'weforms' );
$this->input_type = 'recaptcha';
$this->icon = 'qrcode';
}
/**
* Render the text field
*
* @param array $field_settings
* @param integer $form_id
*
* @return void
*/
public function render( $field_settings, $form_id ) {
$settings = weforms_get_settings( 'recaptcha' );
$is_invisible = false;
$public_key = isset( $settings->key ) ? $settings->key : '';
$theme = isset( $field_settings['recaptcha_theme'] ) ? $field_settings['recaptcha_theme'] : 'light';
if ( isset ( $field_settings['recaptcha_type'] ) ) {
$is_invisible = $field_settings['recaptcha_type'] == 'invisible_recaptcha' ? true : false;
}
$invisible_css = $is_invisible ? ' style="margin: 0; padding: 0" ' : '';
?>
print_list_attributes( $field_settings ); echo $invisible_css; ?>>
print_label( $field_settings );
}
if ( ! $public_key ) {
_e( 'reCaptcha API key is missing.', 'weforms');
} else {
?>
'has_recaptcha_api_keys',
'button_class' => 'button-faded',
'msg_title' => __( 'Site key and Secret key', 'weforms' ),
'msg' => sprintf(
__( 'You need to set Site key and Secret key in Settings in order to use "Recaptcha" field. Click here to get the these key.', 'weforms' ),
admin_url( 'admin.php?page=weforms#/settings' ),
'https://www.google.com/recaptcha/'
),
);
}
/**
* Get field options setting
*
* @return array
*/
public function get_options_settings() {
$settings = array(
array(
'name' => 'label',
'title' => __( 'Title', 'weforms' ),
'type' => 'text',
'section' => 'basic',
'priority' => 10,
'help_text' => __( 'Title of the section', 'weforms' ),
),
array(
'name' => 'recaptcha_type',
'title' => 'reCaptcha type',
'type' => 'radio',
'options' => array(
'enable_no_captcha' => __( 'Enable noCaptcha', 'weforms' ),
'invisible_recaptcha' => __( 'Enable Invisible reCaptcha', 'weforms' ),
),
'default' => 'enable_no_captcha',
'section' => 'basic',
'priority' => 11,
'help_text' => __( 'Select reCaptcha type', 'weforms' ),
),
array(
'name' => 'recaptcha_theme',
'title' => 'reCaptcha Theme',
'type' => 'radio',
'options' => array(
'light' => __( 'Light', 'weforms' ),
'dark' => __( 'Dark', 'weforms' ),
),
'default' => 'light',
'section' => 'advanced',
'priority' => 12,
'help_text' => __( 'Select reCaptcha Theme', 'weforms' ),
),
);
return $settings;
}
/**
* Get the field props
*
* @return array
*/
public function get_field_props() {
$props = array(
'template' => $this->get_type(),
'label' => '',
'recaptcha_type' => 'enable_no_captcha',
'is_meta' => 'yes',
'id' => 0,
'is_new' => true,
'wpuf_cond' => null,
'recaptcha_theme' => 'light',
);
return $props;
}
}