Server IP : 192.158.238.246 / Your IP : 3.147.86.123 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/root/proc/7779/cwd/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); } }