Done !
| Server IP : 46.105.57.169 / Your IP : 216.73.216.67 Web Server : Apache System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaumee ( 152031) PHP Version : 8.5.7 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaumee/blueversion/wp-content/plugins/give/src/Framework/FieldsAPI/Concerns/ |
Upload File : |
<?php
namespace Give\Framework\FieldsAPI\Concerns;
use Give\Framework\FieldsAPI\Contracts\Collection;
use Give\Framework\FieldsAPI\Contracts\Node;
use Give\Framework\FieldsAPI\Field;
trait HasNodes
{
/**
* @var Node[]
*/
protected $nodes = [];
/**
* @inheritdoc
*/
public function getNodeIndexByName(string $name)
{
foreach ($this->nodes as $index => $node) {
if ($node->getName() === $name) {
return $index;
}
}
return null;
}
/**
* @inheritdoc
*
* @return Node|null
*/
public function getNodeByName(string $name)
{
foreach ($this->nodes as $node) {
if ($node->getName() === $name) {
return $node;
}
if ($node instanceof Collection) {
$nestedNode = $node->getNodeByName($name);
if ($nestedNode !== null) {
return $nestedNode;
}
}
}
return null;
}
/**
* @inheritdoc
*/
public function all(): array
{
return $this->nodes;
}
/**
* @inheritdoc
*
* @return Field[]
*/
public function getFields(): array
{
$fields = [];
foreach ($this->nodes as $node) {
if ($node instanceof Field) {
$fields[] = $node;
} elseif ($node instanceof Collection) {
$nestedFields = $node->getFields();
foreach($nestedFields as $field) {
$fields[] = $field;
}
}
}
return $fields;
}
/**
* @inheritdoc
*/
public function count(): int
{
return count($this->nodes);
}
}