Server IP : 192.158.238.246 / Your IP : 3.147.195.197 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/FormBuilder/BlockModels/ |
Upload File : |
<?php namespace Give\FormBuilder\BlockModels; use Give\Framework\Blocks\BlockModel; use Give\Subscriptions\ValueObjects\SubscriptionPeriod; /** * This is a decorator for the Block Model block "givewp/donation-amount". * * @since 3.0.0 */ class DonationAmountBlockModel { /** * @var BlockModel */ public $block; /** * @since 3.0.0 */ public function __construct(BlockModel $block) { $this->block = $block; } /** * @since 3.0.0 */ public function getAttribute($name) { return $this->block->getAttribute($name); } /** * @since 3.0.0 */ public function hasAttribute($name): bool { return $this->block->hasAttribute($name); } /** * @since 3.0.0 */ public function setAttribute(string $name, $value): self { $this->block->setAttribute($name, $value); return $this; } /** * @since 3.0.0 */ public function getLabel(): string { return $this->block->getAttribute('label'); } /** * @since 3.12.0 Changed the return type to an array of OptionsProps * @since 3.0.0 * * @return array ['label' => string, 'value' => string, 'checked' => bool][] */ public function getLevels(): array { return array_map(static function ($level) { return [ 'label' => htmlspecialchars($level['label'] ?? ''), 'value' => (float)filter_var( $level['value'] ?? '', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION ), 'checked' => (bool)filter_var($level['checked'] ?? false, FILTER_VALIDATE_BOOLEAN), ]; }, $this->block->getAttribute('levels')); } /** * @since 3.12.0 */ public function isDescriptionEnabled(): bool { return $this->block->getAttribute('descriptionsEnabled') === true; } /** * @return bool */ public function isRecurringFixed(): bool { return count($this->block->getAttribute('recurringBillingPeriodOptions')) === 1 && $this->block->getAttribute( 'recurringEnableOneTimeDonations' ) === false; } /** * @since 3.0.0 */ public function getRecurringBillingInterval(): int { return (int)$this->block->getAttribute('recurringBillingInterval'); } /** * @since 3.0.0 */ public function getRecurringLengthOfTime(): int { return (int)$this->block->getAttribute('recurringLengthOfTime'); } /** * @since 3.0.0 */ public function getRecurringOptInDefaultBillingPeriod(): string { return $this->block->getAttribute('recurringOptInDefaultBillingPeriod'); } /** * @since 3.0.0 */ public function getRecurringBillingPeriodOptions(): array { return $this->block->getAttribute('recurringBillingPeriodOptions'); } /** * @since 3.0.0 */ public function isRecurringEnableOneTimeDonations(): bool { return $this->block->getAttribute('recurringEnableOneTimeDonations') === true; } /** * @since 3.0.0 */ public function isRecurringEnabled(): bool { return $this->block->getAttribute('recurringEnabled') === true; } /** * @since 3.0.0 */ public function setRecurringEnabled(bool $enabled = true): self { return $this->setAttribute('recurringEnabled', $enabled); } /** * @since 3.0.0 */ public function setRecurringEnableOneTimeDonations(bool $enabled = true): self { return $this->setAttribute('recurringEnableOneTimeDonations', $enabled); } /** * @since 3.0.0 */ public function setRecurringBillingInterval(int $interval): self { return $this->setAttribute('recurringBillingInterval', $interval); } /** * @since 3.0.0 */ public function setRecurringLengthOfTime(int $lengthOfTime): self { return $this->setAttribute('recurringLengthOfTime', $lengthOfTime); } /** * @since 3.0.0 */ public function setRecurringBillingPeriodOptions(SubscriptionPeriod ...$options): self { return $this->setAttribute( 'recurringBillingPeriodOptions', array_values( array_map(static function (SubscriptionPeriod $option) { return $option->getValue(); }, $options) ) ); } /** * @since 3.0.0 */ public function setRecurringOptInDefaultBillingPeriod(SubscriptionPeriod $period): self { return $this->setAttribute('recurringOptInDefaultBillingPeriod', $period->getValue()); } /** * @since 3.0.0 */ public function isCustomAmountEnabled(): bool { return $this->block->getAttribute('customAmount') === true; } /** * @since 3.0.0 */ public function getPriceOption(): string { return $this->block->getAttribute('priceOption'); } /** * @since 3.0.0 */ public function getSetPrice(): int { return $this->block->getAttribute('setPrice'); } }