PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.33.4
GiveWP – Donation Plugin and Fundraising Platform v2.33.4
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 / Framework / FieldsAPI / ValueObjects / PersistenceScope.php
give / src / Framework / FieldsAPI / ValueObjects Last commit date
PersistenceScope.php 2 years ago
PersistenceScope.php
101 lines
1 <?php
2
3 namespace Give\Framework\FieldsAPI\ValueObjects;
4
5 /**
6 * The scope of the field for use in persistence. The two built-in scopes are donation and donor, but the scope may be
7 * any custom string. Using a custom scope allows for an add-on to either not store the field, or store it in a custom
8 * location.
9 *
10 * @since 2.32.0
11 */
12 class PersistenceScope
13 {
14 const DONATION = 'donation';
15 const DONOR = 'donor';
16 const CALLBACK = 'callback';
17
18 /**
19 * @var string
20 */
21 private $scope;
22
23 /**
24 * @since 2.32.0
25 */
26 public static function donation(): self
27 {
28 return new self(self::DONATION);
29 }
30
31 /**
32 * @since 2.32.0
33 */
34 public static function donor(): self
35 {
36 return new self(self::DONOR);
37 }
38
39 /**
40 * @since 2.32.0
41 */
42 public static function callback(): self
43 {
44 return new self(self::CALLBACK);
45 }
46
47 /**
48 * @since 2.32.0
49 */
50 public function __construct(string $scope)
51 {
52 $this->scope = $scope;
53 }
54
55 /**
56 * @since 2.32.0
57 */
58 public function isDonation(): bool
59 {
60 return $this->scope === self::DONATION;
61 }
62
63 /**
64 * @since 2.32.0
65 */
66 public function isDonor(): bool
67 {
68 return $this->scope === self::DONOR;
69 }
70
71 /**
72 * @since 2.32.0
73 */
74 public function isCallback(): bool
75 {
76 return $this->scope === self::CALLBACK;
77 }
78
79 /**
80 * @since 2.32.0
81 *
82 * @param self|string $scope
83 */
84 public function is($scope): bool
85 {
86 if ($scope instanceof self) {
87 $scope = $scope->scope;
88 }
89
90 return $this->scope === $scope;
91 }
92
93 /**
94 * @since 2.32.0
95 */
96 public function __toString()
97 {
98 return $this->scope;
99 }
100 }
101