X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookPermission.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Fsrc%2FPlugin%2FDMU%2FConverter%2FHookPermission.php;h=6949f9031f700866879fb4a276e562b50fba2e98;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookPermission.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookPermission.php new file mode 100644 index 000000000..6949f9031 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Converter/HookPermission.php @@ -0,0 +1,46 @@ +executeHook($target, $this->pluginDefinition['hook']); + $this->writeInfo($target, 'permissions', $this->castTranslatables($permissions)); + } + + /** + * Casts translatable string objects in a permissions array to strings. + * + * @param array $permissions + * An array of permissions, as returned by hook_permission(). + * + * @return array + * The permissions array, with all TranslatableString objects casted to + * strings. + */ + protected function castTranslatables($permissions) { + array_walk_recursive($permissions, function (&$value) { + if ($value instanceof MarkupInterface) { + $value = (string) $value; + } + }); + + return $permissions; + } + +}