PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
give / src / Framework / FieldsAPI / Concerns / WalkNodes.php

WalkNodes.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.9, at src/Framework/FieldsAPI/Concerns/WalkNodes.php

51 lines 1012 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Framework\FieldsAPI\Concerns;
4
5 use Give\Framework\FieldsAPI\Contracts\Collection;
6
7 /**
8 * A declarative iterator for each Node in the tree.
9 */
10 trait WalkNodes
11 {
12
13 /**
14 * @param callable $callback
15 *
16 * @return void
17 */
18 public function walk(callable $callback)
19 {
20 $this->walkCollection($this, $callback);
21 }
22
23 /**
24 * @param Collection $collection
25 * @param callable $callback
26 *
27 * @return void
28 */
29 public function walkCollection(Collection $collection, callable $callback)
30 {
31 foreach ($collection->all() as $node) {
32 $callback($node);
33 if ($node instanceof Collection) {
34 $this->walkCollection($node, $callback);
35 }
36 }
37 }
38
39 /**
40 * @param callable $callback
41 *
42 * @return void
43 */
44 public function walkFields(callable $callback)
45 {
46 foreach ($this->getFields() as $field) {
47 $callback($field);
48 }
49 }
50 }
51