19 declare(strict_types=1);
33 $this->path[] = $focus;
39 $clone->path[] = end($this->path)->getSubnode($id);
45 return count($this->path) == 1;
51 $last_node = array_pop($clone->path);
52 $parent = array_pop($clone->path);
53 $clone->path[] = $parent->withSubnode($last_node);
61 foreach ($hops as $hop) {
62 if ($hop != end($this->path)->
getId()) {
63 $zipper = $zipper->
toChild($hop);
71 if (count($this->path) == 1) {
72 return array_pop($this->path);
81 $focus = array_pop($clone->path);
82 $new_focus =
$f($focus);
83 $clone->path[] = $new_focus;
89 $zipper = $zipper ?? $this;
91 foreach (end($zipper->path)->getSubnodes() as $subnode) {
93 ->modifyAll($f, $zipper->toChild($subnode->getId()))
modifyAll(callable $f, ?Zipper $zipper=null)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins