PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 9 months ago Contracts 3 years ago Exceptions 2 years ago Facades 4 years ago LegacyNodes 3 years ago Properties 1 year 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 1 year 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 1 year ago Form.php 3 years ago Group.php 3 years ago Hidden.php 3 years ago Honeypot.php 1 year ago Html.php 3 years ago MultiSelect.php 1 year 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 1 year ago Radio.php 2 years ago Section.php 2 years ago SecurityChallenge.php 1 year 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