PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.2
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 / DonationAmount.php
give / src / Framework / FieldsAPI Last commit date
Actions 2 years ago Concerns 2 years ago Contracts 3 years ago Exceptions 2 years ago Facades 4 years ago LegacyNodes 3 years ago Properties 2 years ago ValueObjects 2 years ago Amount.php 2 years ago Authentication.php 1 year ago BillingAddress.php 2 years ago Checkbox.php 2 years ago Consent.php 2 years ago Date.php 2 years ago DonationAmount.php 2 years ago DonationForm.php 2 years ago DonationSummary.php 2 years ago Element.php 3 years ago Email.php 2 years ago Factory.php 4 years ago Field.php 2 years ago File.php 2 years ago Form.php 3 years ago Group.php 3 years ago Hidden.php 3 years ago Html.php 3 years ago MultiSelect.php 2 years ago Name.php 2 years ago Option.php 2 years ago Paragraph.php 2 years ago Password.php 2 years ago PaymentGateways.php 2 years ago Phone.php 2 years ago Radio.php 2 years ago Section.php 2 years ago Select.php 2 years ago Text.php 2 years ago Textarea.php 2 years ago Types.php 2 years ago Url.php 2 years ago
DonationAmount.php
105 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\Framework\FieldsAPI;
6
7 use Give\Framework\FieldsAPI\Exceptions\EmptyNameException;
8 use Give\Framework\FieldsAPI\Exceptions\NameCollisionException;
9
10 class DonationAmount extends Group
11 {
12 const TYPE = 'donationAmount';
13 /**
14 * @var boolean
15 */
16 public $subscriptionsEnabled = false;
17 /**
18 * @var boolean
19 */
20 public $subscriptionDetailsAreFixed = false;
21
22 /**
23 * @throws NameCollisionException
24 * @throws EmptyNameException
25 */
26 public static function make($name): DonationAmount
27 {
28 return parent::make($name)
29 ->append(
30 Amount::make('amount'),
31 Hidden::make('currency')
32 );
33 }
34
35 /**
36 * @since 3.0.0
37 */
38 public function enableSubscriptions($enable = true): self
39 {
40 $this->subscriptionsEnabled = $enable;
41
42 return $this;
43 }
44
45 /**
46 * @since 3.0.0
47 */
48 public function subscriptionDetailsAreFixed($fixed = true): self
49 {
50 $this->subscriptionDetailsAreFixed = $fixed;
51
52 return $this;
53 }
54
55 /**
56 * @since 3.0.0
57 * @throws NameCollisionException
58 */
59 public function donationType(Field $field): self
60 {
61 $this->append($field);
62
63 return $this;
64 }
65
66 /**
67 * @since 3.0.0
68 * @throws NameCollisionException
69 */
70 public function subscriptionPeriod(Field $field): self
71 {
72 if ($this->subscriptionsEnabled){
73 $this->append($field);
74 }
75
76 return $this;
77 }
78
79 /**
80 * @since 3.0.0
81 * @throws NameCollisionException
82 */
83 public function subscriptionFrequency(Field $field): self
84 {
85 if ($this->subscriptionsEnabled){
86 $this->append($field);
87 }
88
89 return $this;
90 }
91
92 /**
93 * @since 3.0.0
94 * @throws NameCollisionException
95 */
96 public function subscriptionInstallments(Field $field): self
97 {
98 if ($this->subscriptionsEnabled){
99 $this->append($field);
100 }
101
102 return $this;
103 }
104 }
105