PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.0
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 / Promotions / FreeAddonModal / Controllers / CheckOfferStatus.php
give / src / Promotions / FreeAddonModal / Controllers Last commit date
CheckOfferStatus.php 4 years ago CompleteRestApiEndpoint.php 4 years ago DisplaySettingsButton.php 4 years ago EnqueueModal.php 4 years ago PreventFreshInstallPromotion.php 4 years ago
CheckOfferStatus.php
68 lines
1 <?php
2
3 namespace Give\Promotions\FreeAddonModal\Controllers;
4
5 trait CheckOfferStatus
6 {
7 /**
8 * Whether the modal should be displayed.
9 *
10 * @return bool
11 */
12 protected function displayModal()
13 {
14 if (!$this->displayOffer()) {
15 return false;
16 }
17
18 // Only display if the user did not dismiss or subscribe
19 $status = get_option('give_free_addon_modal_displayed');
20
21 if (empty($status)) {
22 return true;
23 }
24
25 // The value will be something like rejected:1:1.18.0. The first number is the number of versions the modal has appeared
26 // in, and the second number is the version number of the plugin at the time of last display.
27 list($status, $iteration, $version) = explode(':', $status);
28
29 if ($status === 'subscribed') {
30 return false;
31 }
32
33 // Do not display if this has been displayed more than three times
34 if ($iteration >= 3) {
35 return false;
36 }
37
38 // Display if the version has changed since the last display
39 return GIVE_VERSION !== $version;
40 }
41
42 protected function displayOffer()
43 {
44 // Only display the modal if the user is an admin
45 if (!current_user_can('manage_options')) {
46 return false;
47 }
48
49 $licenses = get_option('give_licenses');
50 if (!empty($licenses)) {
51 return false;
52 }
53
54 // Only display if the user did not dismiss or subscribe
55 $status = get_option('give_free_addon_modal_displayed');
56
57 if (empty($status)) {
58 return true;
59 }
60
61 // The value will be something like rejected:1:1.18.0. The first number is the number of versions the modal has appeared
62 // in, and the second number is the version number of the plugin at the time of last display.
63 list($status, $iteration, $version) = explode(':', $status);
64
65 return !in_array($status, ['subscribed', 'prevent'], true);
66 }
67 }
68