Server IP : 192.158.238.246 / Your IP : 3.139.238.74 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/Framework/FieldsAPI/ |
Upload File : |
<?php declare(strict_types=1); namespace Give\Framework\FieldsAPI; use Give\Framework\FieldsAPI\Exceptions\EmptyNameException; use Give\Framework\FieldsAPI\Exceptions\NameCollisionException; class DonationAmount extends Group { const TYPE = 'donationAmount'; /** * @var boolean */ public $subscriptionsEnabled = false; /** * @var boolean */ public $subscriptionDetailsAreFixed = false; /** * @throws NameCollisionException * @throws EmptyNameException */ public static function make($name): DonationAmount { return parent::make($name) ->append( Amount::make('amount'), Hidden::make('currency') ); } /** * @since 3.0.0 */ public function enableSubscriptions($enable = true): self { $this->subscriptionsEnabled = $enable; return $this; } /** * @since 3.0.0 */ public function subscriptionDetailsAreFixed($fixed = true): self { $this->subscriptionDetailsAreFixed = $fixed; return $this; } /** * @since 3.0.0 * @throws NameCollisionException */ public function donationType(Field $field): self { $this->append($field); return $this; } /** * @since 3.0.0 * @throws NameCollisionException */ public function subscriptionPeriod(Field $field): self { if ($this->subscriptionsEnabled){ $this->append($field); } return $this; } /** * @since 3.0.0 * @throws NameCollisionException */ public function subscriptionFrequency(Field $field): self { if ($this->subscriptionsEnabled){ $this->append($field); } return $this; } /** * @since 3.0.0 * @throws NameCollisionException */ public function subscriptionInstallments(Field $field): self { if ($this->subscriptionsEnabled){ $this->append($field); } return $this; } }