HEX
Server: LiteSpeed
System: Linux venus 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: axxoncom (1007)
PHP: 8.3.19
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/axxoncom/domains/bifiyat.xyz/public_html/wp-content/plugins/give/src/FormAPI/Section.php
<?php

namespace Give\FormAPI;

use Give\Framework\Exceptions\Primitives\InvalidArgumentException;

/**
 * Class Options
 *
 * @package Give\Form\Theme
 * @since   2.7.0
 */
final class Section
{

    /**
     * Group id.
     *
     * @since 2.7.0
     * @var string
     */
    public $id;

    /**
     * Name of group
     *
     * @since 2.7.0
     * @var string
     */
    public $name;

    /**
     * Description og group.
     *
     * @since 2.7.0
     * @var string
     */
    public $desc;

    /**
     * Array fo fields
     *
     * @since 2.7.0
     * @var Fields[]
     */
    public $fields = [];

    /**
     * Convert array into Group class object.
     *
     * @since 2.7.0
     *
     * @param array $array
     *
     * @return static
     */
    public static function fromArray($array)
    {
        $group = new static();

        $group->validate($array);

        $group->id = $array['id'];
        $group->name = $array['name'];
        $group->desc = isset($array['desc']) ? $array['desc'] : null;

        foreach ($array['fields'] as $field) {
            $group->fields[] = Fields::fromArray($field);
        }

        return $group;
    }

    /**
     * Validate group arguments
     *
     * @since 2.7.0
     *
     * @param $array
     */
    private function validate($array)
    {
        $required = ['id', 'name', 'fields'];

        if (array_diff($required, array_keys($array))) {
            throw new InvalidArgumentException(
                __('To create a Group object, please provide id, name and fields.', 'give')
            );
        }
    }
}