????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.87 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././home/tempvsty/pontiacques.org/wp-content/plugins/give/src/FormAPI/Form/ |
Upload File : |
<?php
namespace Give\FormAPI\Form;
use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
class Group extends Field
{
/**
* Field options.
* Note: Allow to update repeater aka group field frontend output.
*
* @since 2.7.0
* @var array
*/
public $options = [];
/**
* Sub fields
*
* Note: Allow developer to add sub fields to group.
*
* @since 2.7.0
* @var array
*/
public $fields = [];
/**
* @inheritDoc
*/
public function parse($array)
{
parent::parse($array);
$defaultOptions = [
'header_title' => esc_attr__('Group', 'give'),
'add_button' => esc_html__('Add Row', 'give'),
'group_numbering' => 0,
'close_tabs' => 0,
];
$this->options = isset($array['options']) ?
array_merge($defaultOptions, $array['options']) :
$defaultOptions;
$this->fields = isset($array['fields']) ?
$array['fields'] :
[];
}
/**
* @inheritDoc
*/
public function toArray()
{
return array_merge(
parent::toArray(),
[
'options' => $this->options,
'fields' => $this->fields,
]
);
}
/**
* Get sub fields.
*
* @since 2.7.0
*
* @param string $fieldId
*
* @return array
*/
public function getFieldArguments($fieldId)
{
$field = current(
array_filter(
$this->fields,
static function ($field) use ($fieldId) {
return $fieldId === $field['id'];
}
)
);
// Validate field.
if ( ! $field) {
throw new InvalidArgumentException(
sprintf(
__('Field with %1$s Id does not exist in group.', 'give'),
$fieldId
)
);
}
return $field;
}
}