X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookFormAlter.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookFormAlter.php;h=0ee54c20976a081c08fa62bd24aca50ff0d8dcf5;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookFormAlter.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookFormAlter.php new file mode 100644 index 000000000..0ee54c209 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookFormAlter.php @@ -0,0 +1,43 @@ +getIndexer('function'); + + // @FIXME This is not working (returns empty result set)...don't know why. + $alter_hooks = $indexer + ->getQuery() + ->condition(db_or() + ->condition('id', $target->id() . '_form_alter') + ->condition('id', db_like($target->id() . '_form_%_alter'), 'LIKE') + ) + ->execute(); + + foreach ($alter_hooks as $alter_hook) { + /** @var \Pharborist\Functions\FunctionDeclarationNode $function */ + $function = $indexer->get($alter_hook->id); + + $parameters = $function->getParameters(); + if (sizeof($parameters) > 1) { + $parameters[1]->setTypeHint('\Drupal\Core\Form\FormStateInterface'); + $target->save($function); + } + } + } + +}