HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/globfdxw/www/wp-content/plugins/give/src/DonationForms/Properties/GoalSettings.php
<?php

namespace Give\DonationForms\Properties;

use Give\DonationForms\ValueObjects\GoalType;

/**
 * @since 4.5.0 Add default values to goal settings
 * @since 4.3.0
 */
class GoalSettings
{
    public string $goalSource;
    public float $goalAmount;
    public GoalType $goalType;
    public bool $enableDonationGoal;

    public static function fromArray(array $data): GoalSettings
    {
        $settings = new self();
        $settings->goalSource = $data['goalSource'] ?? '';
        $settings->enableDonationGoal = $data['enableDonationGoal'] ?? false;
        $settings->goalType = new GoalType($data['goalType'] ?? GoalType::AMOUNT);
        $settings->goalAmount = $data['goalAmount'] ?? 0;

        return $settings;
    }
}