X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookMenuAlter.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookMenuAlter.php;h=7a3c6653114e26344f56159f09ab308a2e964219;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookMenuAlter.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookMenuAlter.php new file mode 100644 index 000000000..7a3c66531 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookMenuAlter.php @@ -0,0 +1,87 @@ +getIndexer('function') + ->get($this->pluginDefinition['hook']) + ->setDocComment($this->buildFixMe(NULL, [], self::DOC_COMMENT)); + + $render = [ + '#theme' => 'dmu_route_subscriber', + '#module' => $target->id(), + ]; + $this->writeClass($target, $this->parse($render)); + + $alterable = ParameterNode::create('data'); + $alterable->setTypeHint('array')->setReference(TRUE); + + $parameter = clone $alterable; + $this + ->implement($target, 'menu_links_discovered_alter') + ->appendParameter($parameter->setName('links')); + + $parameter = clone $alterable; + $this + ->implement($target, 'menu_local_tasks_alter') + ->appendParameter($parameter->setName('data')) + ->appendParameter(ParameterNode::create('route_name')); + + $parameter = clone $alterable; + $this + ->implement($target, 'menu_local_actions_alter') + ->appendParameter($parameter->setName('local_actions')); + + $parameter = clone $alterable; + $items = clone $alterable; + $function = $this + ->implement($target, 'contextual_links_view_alter') + ->appendParameter($parameter->setName('element')) + ->appendParameter($items->setName('items')->setReference(FALSE)); + + $target->save($function); + } + +}