PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.7.0
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.7.0
1.7.0 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 All 50 releases
fluent-cart / app / Modules / Turnstile / TurnstileInit.php

TurnstileInit.php in FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler 1.7.0, at app/Modules/Turnstile/TurnstileInit.php

52 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentCart\App\Modules\Turnstile;
4
5 use FluentCart\Api\ModuleSettings;
6 use FluentCart\Framework\Support\Arr;
7
8 class TurnstileInit
9 {
10 public function register($app)
11 {
12 // Register module settings fields
13 add_filter('fluent_cart/module_setting/fields', function ($fields, $args) {
14 $fields['turnstile'] = [
15 'title' => __('Cloudflare Turnstile', 'fluent-cart'),
16 'description' => __('Protect your checkout page from spam and bots using Cloudflare Turnstile invisible reCAPTCHA.', 'fluent-cart'),
17 'type' => 'component',
18 'component' => 'TurnstileSettings',
19 ];
20 return $fields;
21 }, 10, 2);
22
23 // Register default values
24 add_filter('fluent_cart/module_setting/default_values', function ($values, $args) {
25 if (empty($values['turnstile']['active'])) {
26 $values['turnstile']['active'] = 'no';
27 }
28 if (empty($values['turnstile']['site_key'])) {
29 $values['turnstile']['site_key'] = '';
30 }
31 if (empty($values['turnstile']['secret_key'])) {
32 $values['turnstile']['secret_key'] = '';
33 }
34
35 return $values;
36 }, 10, 2);
37
38 // Boot the module if active.
39 // Deferred to `init` on purpose: ModuleSettings::getAllSettings() memoizes on its
40 // first call, and that is where `module_setting/default_values` is applied. Reading
41 // settings here would freeze the cache before modules registered later in
42 // Hooks/actions.php add their own defaults, leaving those modules permanently
43 // inactive. Every module must read settings after registration has finished.
44 add_action('init', function () {
45 if (ModuleSettings::isActive('turnstile')) {
46 (new TurnstileBoot())->register();
47 }
48 }, 1);
49 }
50 }
51
52