PluginProbe ʕ •ᴥ•ʔ
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI / 2.0.3
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI v2.0.3
3.5.2 3.5.1 3.5.0 3.4.8 3.4.7 3.4.6 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5.1 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.6.1 1.6.7 1.7.0 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.2 1.7.2.1 1.7.2.2 1.7.3 1.7.4 1.7.5 1.7.5.1 1.7.5.2 1.7.6 1.7.7 1.7.7.1 1.7.7.2 1.7.8 1.7.9 1.8.0 1.8.0.1 1.8.1 1.8.2 1.8.2.1 1.8.2.2 1.8.2.3 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.0.1 1.9.1 1.9.2 1.9.3 1.9.4 1.9.4.1 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.0.1 2.0.1 2.0.2 2.0.3 2.0.3.1 2.0.4 2.0.4.1 2.0.5 2.0.6 2.0.7 2.0.8 2.0.8.1 2.0.9 3.0.0 3.0.0.1 3.0.1 3.0.2 3.0.3 3.0.3.1 3.0.4 3.0.4.1 3.0.4.2 3.0.5 3.0.5.1 3.0.5.2 3.0.6 3.0.6.1 3.0.7.1 3.0.8 3.0.8.1 3.0.9 3.0.9.1 3.0.9.2 3.0.9.3 3.0.9.4 3.0.9.5 3.1.0 3.1.1 3.1.2 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3.0 3.4.0 3.4.1 3.4.2 3.4.2.1 3.4.3 3.4.4 3.4.5 trunk 1.0 1.0.1 1.0.2 1.0.3
everest-forms / includes / admin / settings / class-evf-settings-recaptcha.php
everest-forms / includes / admin / settings Last commit date
class-evf-settings-email.php 3 years ago class-evf-settings-general.php 5 years ago class-evf-settings-integrations.php 6 years ago class-evf-settings-misc.php 2 years ago class-evf-settings-page.php 7 years ago class-evf-settings-recaptcha.php 2 years ago class-evf-settings-validation.php 6 years ago
class-evf-settings-recaptcha.php
242 lines
1 <?php
2 /**
3 * EverestForms reCAPTCHA Settings
4 *
5 * @package EverestForms\Admin
6 * @version 1.0.0
7 */
8
9 defined( 'ABSPATH' ) || exit;
10
11 if ( class_exists( 'EVF_Settings_reCAPTCHA', false ) ) {
12 return new EVF_Settings_reCAPTCHA();
13 }
14
15 /**
16 * EVF_Settings_reCAPTCHA.
17 */
18 class EVF_Settings_reCAPTCHA extends EVF_Settings_Page {
19
20 /**
21 * Constructor.
22 */
23 public function __construct() {
24 $this->id = 'recaptcha';
25 $this->label = esc_html__( 'CAPTCHA', 'everest-forms' );
26
27 parent::__construct();
28 }
29
30 /**
31 * Get settings array.
32 *
33 * @return array
34 */
35 public function get_settings() {
36 $recaptcha_type = get_option( 'everest_forms_recaptcha_type', 'v2' );
37 $invisible = get_option( 'everest_forms_recaptcha_v2_invisible', 'no' );
38 $languages = '{"languages":[{"Language":"Arabic","Value":"ar"},{"Language":"Afrikaans","Value":"af"},{"Language":"Amharic","Value":"am"},{"Language":"Armenian","Value":"hy"},{"Language":"Azerbaijani","Value":"az"},{"Language":"Basque","Value":"eu"},{"Language":"Bengali","Value":"bn"},{"Language":"Bulgarian","Value":"bg"},{"Language":"Catalan","Value":"ca"},{"Language":"Chinese (Hong Kong)","Value":"zh-HK"},{"Language":"Chinese (Simplified)","Value":"zh-CN"},{"Language":"Chinese (Traditional)","Value":"zh-TW"},{"Language":"Croatian","Value":"hr"},{"Language":"Czech","Value":"cs"},{"Language":"Danish","Value":"da"},{"Language":"Dutch *","Value":"nl"},{"Language":"English (UK)","Value":"en-GB"},{"Language":"English (US) *","Value":"en"},{"Language":"Estonian","Value":"et"},{"Language":"Filipino","Value":"fil"},{"Language":"Finnish","Value":"fi"},{"Language":"French *","Value":"fr"},{"Language":"French (Canadian)","Value":"fr-CA"},{"Language":"Galician","Value":"gl"},{"Language":"Georgian","Value":"ka"},{"Language":"German *","Value":"de"},{"Language":"German (Austria)","Value":"de-AT"},{"Language":"German (Switzerland)","Value":"de-CH"},{"Language":"Greek","Value":"el"},{"Language":"Gujarati","Value":"gu"},{"Language":"Hebrew","Value":"iw"},{"Language":"Hindi","Value":"hi"},{"Language":"Hungarain","Value":"hu"},{"Language":"Icelandic","Value":"is"},{"Language":"Indonesian","Value":"id"},{"Language":"Italian *","Value":"it"},{"Language":"Japanese","Value":"ja"},{"Language":"Kannada","Value":"kn"},{"Language":"Korean","Value":"ko"},{"Language":"Laothian","Value":"lo"},{"Language":"Latvian","Value":"lv"},{"Language":"Lithuanian","Value":"lt"},{"Language":"Malay","Value":"ms"},{"Language":"Malayalam","Value":"ml"},{"Language":"Marathi","Value":"mr"},{"Language":"Mongolian","Value":"mn"},{"Language":"Norwegian","Value":"no"},{"Language":"Persian","Value":"fa"},{"Language":"Polish","Value":"pl"},{"Language":"Portuguese *","Value":"pt"},{"Language":"Portuguese (Brazil)","Value":"pt-BR"},{"Language":"Portuguese (Portugal)","Value":"pt-PT"},{"Language":"Romanian","Value":"ro"},{"Language":"Russian","Value":"ru"},{"Language":"Serbian","Value":"sr"},{"Language":"Sinhalese","Value":"si"},{"Language":"Slovak","Value":"sk"},{"Language":"Slovenian","Value":"sl"},{"Language":"Spanish *","Value":"es"},{"Language":"Spanish (Latin America)","Value":"es-419"},{"Language":"Swahili","Value":"sw"},{"Language":"Swedish","Value":"sv"},{"Language":"Tamil","Value":"ta"},{"Language":"Telugu","Value":"te"},{"Language":"Thai","Value":"th"},{"Language":"Turkish","Value":"tr"},{"Language":"Ukrainian","Value":"uk"},{"Language":"Urdu","Value":"ur"},{"Language":"Vietnamese","Value":"vi"},{"Language":"Zulu","Value":"zu"}]}';
39 $languages = json_decode( $languages, true );
40 $lang_options = array();
41
42 foreach ( $languages['languages'] as $key => $value ) {
43 /* translators: %1$s - Langauge Name */
44 $lang_options[ $value['Value'] ] = sprintf( esc_html__( '%s', 'everest-forms' ), $value['Language'] ); // phpcs:ignore
45 }
46
47 $settings = apply_filters(
48 'everest_forms_recaptcha_settings',
49 array(
50 array(
51 'title' => esc_html__( 'CAPTCHA Integration', 'everest-forms' ),
52 'type' => 'title',
53 /* translators: %1$s - reCAPTCHA Integration Doc URL, %2$s - hCaptcha Integration Doc URL */
54 'desc' => sprintf( __( 'Get detailed documentation on integrating <a href="%1$s" target="_blank">reCAPTCHA</a>, <a href="%2$s" target="_blank">hCaptcha</a> and <a href="%3$s" target="_blank">Cloudflare Turnstile</a> with Everest forms.', 'everest-forms' ), 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/', 'https://docs.everestforms.net/docs/how-to-integrate-hcaptcha/','https://docs.everestforms.net/docs/how-to-integrate-cloudflare-turnstile-with-the-everest-forms/' ),
55 'id' => 'integration_options',
56 ),
57 array(
58 'title' => esc_html__( 'CAPTCHA Type', 'everest-forms' ),
59 'desc' => esc_html__( 'Choose the type of CAPTCHA for this site key.', 'everest-forms' ),
60 'id' => 'everest_forms_recaptcha_type',
61 'default' => 'v2',
62 'type' => 'radio',
63 'options' => array(
64 'v2' => esc_html__( 'reCAPTCHA v2', 'everest-forms' ),
65 'v3' => esc_html__( 'reCAPTCHA v3', 'everest-forms' ),
66 'hcaptcha' => esc_html__( 'hCaptcha', 'everest-forms' ),
67 'turnstile' => esc_html__( 'Cloudflare Turnstile', 'everest-forms' ),
68 ),
69 'class' => 'everest-forms-recaptcha-type',
70 'desc_tip' => true,
71 ),
72 array(
73 'title' => esc_html__( 'Site Key', 'everest-forms' ),
74 'type' => 'text',
75 /* translators: %1$s - Google reCAPTCHA docs url */
76 'desc' => sprintf( esc_html__( 'Please enter your site key for your reCAPTCHA v2. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
77 'id' => 'everest_forms_recaptcha_v2_site_key',
78 'is_visible' => 'v2' === $recaptcha_type && 'no' === $invisible,
79 'default' => '',
80 'desc_tip' => true,
81 ),
82 array(
83 'title' => esc_html__( 'Secret Key', 'everest-forms' ),
84 'type' => 'text',
85 /* translators: %1$s - Google reCAPTCHA docs url */
86 'desc' => sprintf( esc_html__( 'Please enter your secret key for your reCAPTCHA v2. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
87 'id' => 'everest_forms_recaptcha_v2_secret_key',
88 'is_visible' => 'v2' === $recaptcha_type && 'no' === $invisible,
89 'default' => '',
90 'desc_tip' => true,
91 ),
92 array(
93 'title' => esc_html__( 'Site Key', 'everest-forms' ),
94 'type' => 'text',
95 /* translators: %1$s - Google reCAPTCHA docs url */
96 'desc' => sprintf( esc_html__( 'Please enter your site key for your reCAPTCHA v2. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
97 'id' => 'everest_forms_recaptcha_v2_invisible_site_key',
98 'is_visible' => 'v2' === $recaptcha_type && 'yes' === $invisible,
99 'default' => '',
100 'desc_tip' => true,
101 ),
102 array(
103 'title' => esc_html__( 'Secret Key', 'everest-forms' ),
104 'type' => 'text',
105 /* translators: %1$s - Google reCAPTCHA docs url */
106 'desc' => sprintf( esc_html__( 'Please enter your secret key for your reCAPTCHA v2. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
107 'id' => 'everest_forms_recaptcha_v2_invisible_secret_key',
108 'is_visible' => 'yes' === $invisible && 'v2' === $recaptcha_type,
109 'default' => '',
110 'desc_tip' => true,
111 ),
112 array(
113 'title' => esc_html__( 'Invisible reCAPTCHA', 'everest-forms' ),
114 'type' => 'checkbox',
115 'desc' => esc_html__( 'Enable Invisible reCAPTCHA.', 'everest-forms' ),
116 'id' => 'everest_forms_recaptcha_v2_invisible',
117 'is_visible' => 'v2' === $recaptcha_type,
118 'default' => 'no',
119 ),
120 array(
121 'title' => esc_html__( 'Site Key', 'everest-forms' ),
122 'type' => 'text',
123 /* translators: %1$s - Google reCAPTCHA docs url */
124 'desc' => sprintf( esc_html__( 'Please enter your site key for your reCAPTCHA v3. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
125 'id' => 'everest_forms_recaptcha_v3_site_key',
126 'is_visible' => 'v3' === $recaptcha_type,
127 'default' => '',
128 'desc_tip' => true,
129 ),
130 array(
131 'title' => esc_html__( 'Secret Key', 'everest-forms' ),
132 'type' => 'text',
133 /* translators: %1$s - Google reCAPTCHA docs url */
134 'desc' => sprintf( esc_html__( 'Please enter your secret key for your reCAPTCHA v3. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
135 'id' => 'everest_forms_recaptcha_v3_secret_key',
136 'is_visible' => 'v3' === $recaptcha_type,
137 'default' => '',
138 'desc_tip' => true,
139 ),
140 array(
141 'title' => esc_html__( 'Site Key', 'everest-forms' ),
142 'type' => 'text',
143 /* translators: %1$s - Google reCAPTCHA docs url */
144 'desc' => sprintf( esc_html__( 'Please enter your site key for your hCaptcha. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
145 'is_visible' => 'hcaptcha' === $recaptcha_type,
146 'id' => 'everest_forms_recaptcha_hcaptcha_site_key',
147 'default' => '',
148 'desc_tip' => true,
149 ),
150 array(
151 'title' => esc_html__( 'Secret Key', 'everest-forms' ),
152 'type' => 'text',
153 /* translators: %1$s - Google reCAPTCHA docs url */
154 'desc' => sprintf( esc_html__( 'Please enter your secret key for your hCaptcha. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
155 'id' => 'everest_forms_recaptcha_hcaptcha_secret_key',
156 'is_visible' => 'hcaptcha' === $recaptcha_type,
157 'default' => '',
158 'desc_tip' => true,
159 ),
160 array(
161 'title' => esc_html__( 'Threshold Score', 'everest-forms' ),
162 'type' => 'number',
163 /* translators: %1$s - Google reCAPTCHA docs url */
164 'desc' => esc_html__( 'reCAPTCHA v3 returns a score (1.0 is very likely a good interaction, 0.0 is very likely a bot). If the score less than or equal to this threshold', 'everest-forms' ),
165 'id' => 'everest_forms_recaptcha_v3_threshold_score',
166 'is_visible' => 'v3' === $recaptcha_type,
167 'custom_attributes' => array(
168 'step' => '0.1',
169 'min' => '0.0',
170 'max' => '1.0',
171 ),
172 'default' => '0.4',
173 'desc_tip' => true,
174 ),
175 array(
176 'title' => esc_html__( 'Site Key', 'everest-forms' ),
177 'type' => 'text',
178 /* translators: %1$s - Cloudflare Turnstile docs url */
179 'desc' => sprintf( esc_html__( 'Please enter your site key for your Cloudflare Trunstile. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
180 'is_visible' => 'turnstile' === $recaptcha_type,
181 'id' => 'everest_forms_recaptcha_turnstile_site_key',
182 'default' => '',
183 'desc_tip' => true,
184 ),
185 array(
186 'title' => esc_html__( 'Secret Key', 'everest-forms' ),
187 'type' => 'text',
188 /* translators: %1$s - Cloudflare Trunstile docs url */
189 'desc' => sprintf( esc_html__( 'Please enter your secret key for your Cloudflare Turnstile. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-google-recaptcha/' ) ),
190 'id' => 'everest_forms_recaptcha_turnstile_secret_key',
191 'is_visible' => 'turnstile' === $recaptcha_type,
192 'default' => '',
193 'desc_tip' => true,
194 ),
195 array(
196 'title' => esc_html__( 'Theme', 'everest-forms' ),
197 'type' => 'select',
198 /* translators: %1$s - Cloudflare Trunstile docs url */
199 'desc' => sprintf( esc_html__( 'Please select theme mode for your Cloudflare Turnstile. <a href="%1$s" target="_blank">Learn More</a>', 'everest-forms' ), esc_url( 'https://docs.everestforms.net/docs/how-to-integrate-cloudflare-turnstile-with-the-everest-forms/' ) ),
200 'id' => 'everest_forms_recaptcha_turnstile_theme',
201 'is_visible' => 'turnstile' === $recaptcha_type,
202 'options' => array(
203 'auto' => esc_html__( 'Auto', 'everest-forms' ),
204 'light' => esc_html__( 'Light', 'everest-forms' ),
205 'dark' => esc_html__( 'Dark', 'everest-forms' ),
206 ),
207 'class' => 'evf-enhanced-select',
208 'desc_tip' => true,
209 ),
210 array(
211 'title' => esc_html__( 'CAPTCHA Language ', 'everest-forms' ),
212 'type' => 'select',
213 'desc' => esc_html__( 'Choose a preferred language for displaying CAPTCHA text.', 'everest-forms' ),
214 'id' => 'everest_forms_recaptcha_recaptcha_language',
215 'options' => $lang_options,
216 'class' => 'evf-enhanced-select',
217 'value' => get_option( 'everest_forms_recaptcha_recaptcha_language', 'en-GB' ),
218 'desc_tip' => true,
219 ),
220
221 array(
222 'type' => 'sectionend',
223 'id' => 'integration_options',
224 ),
225 )
226 );
227
228 return apply_filters( 'everest_forms_get_settings_' . $this->id, $settings );
229 }
230
231 /**
232 * Save settings.
233 */
234 public function save() {
235 $settings = $this->get_settings();
236
237 EVF_Admin_Settings::save_fields( $settings );
238 }
239 }
240
241 return new EVF_Settings_reCAPTCHA();
242