# give/4.16.8.1/src/DonationForms/Properties/GoalSettings.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.8.1. 29 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.8.1/code/src/DonationForms/Properties/GoalSettings.php
- Raw: https://pluginprobe.com/plugins/give/4.16.8.1/raw/src/DonationForms/Properties/GoalSettings.php
- Modified: 2025-07-09T13:09:56+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.8.1/code/src/DonationForms/Properties/GoalSettings.php#L10-L20`.

```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;
    }
}

```
