![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/give/src/Framework/FieldsAPI/Concerns/ |
<?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($name) { foreach ($this->nodes as $index => $node) { if ($node->getName() === $name) { return $index; } } return false; } /** * {@inheritdoc} */ public function getNodeByName($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() { return $this->nodes; } /** * {@inheritdoc} */ public function getFields() { $fields = []; foreach ($this->nodes as $node) { if ($node instanceof Field) { $fields[] = $node; } elseif ($node instanceof Collection) { $fields = array_merge($fields, $node->getFields()); } } return $fields; } /** * {@inheritdoc} */ public function count() { return count($this->nodes); } }