PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.4.0
GiveWP – Donation Plugin and Fundraising Platform v4.4.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / DonationSpam / ServiceProvider.php
give / src / DonationSpam Last commit date
Akismet 1 year ago Exceptions 1 year ago EmailAddressWhiteList.php 1 year ago ServiceProvider.php 1 year ago
ServiceProvider.php
66 lines
1 <?php
2
3 namespace Give\DonationSpam;
4
5 use Give\DonationSpam\Akismet\Actions\ValidateDonation;
6 use Give\DonationSpam\Exceptions\SpamDonationException;
7 use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;
8
9 /**
10 * @since 3.15.0
11 */
12 class ServiceProvider implements ServiceProviderInterface
13 {
14 /**
15 * @since 3.15.0
16 * @inheritDoc
17 */
18 public function register(): void
19 {
20 /**
21 * @since 3.15.1 Case filtered value as an array to enforce type.
22 * @since 3.15.0
23 */
24 give()->singleton(EmailAddressWhiteList::class, function () {
25 return new EmailAddressWhiteList(
26 (array)apply_filters('give_akismet_whitelist_emails', give_akismet_get_whitelisted_emails())
27 );
28 });
29 }
30
31 /**
32 * @since 3.22.0 updated Akismet validation to use new givewp_donation_form_fields_validated action
33 * @since 3.15.0
34 *
35 * @inheritDoc
36 *
37 * @throws SpamDonationException
38 */
39 public function boot(): void
40 {
41 if ($this->isAkismetEnabledAndConfigured()) {
42 add_action('givewp_donation_form_fields_validated', static function (array $data) {
43 give(ValidateDonation::class)(
44 $data['email'] ?? '',
45 $data['comment'] ?? '',
46 $data['firstName'] ?? '',
47 $data['lastName'] ?? ''
48 );
49 });
50 }
51 }
52
53 /**
54 * @since 3.15.0
55 * @return bool
56 */
57 public function isAkismetEnabledAndConfigured(): bool
58 {
59 return
60 give_check_akismet_key()
61 && give_is_setting_enabled(
62 give_get_option('akismet_spam_protection', 'enabled')
63 );
64 }
65 }
66