X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Flibraries%2Fsrc%2FPlugin%2Flibraries%2FType%2FPhpFileLibraryType.php;fp=web%2Fmodules%2Fcontrib%2Flibraries%2Fsrc%2FPlugin%2Flibraries%2FType%2FPhpFileLibraryType.php;h=aa93b003c2976c84935cb04afb770a8b88c22d33;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/libraries/src/Plugin/libraries/Type/PhpFileLibraryType.php b/web/modules/contrib/libraries/src/Plugin/libraries/Type/PhpFileLibraryType.php new file mode 100644 index 000000000..aa93b003c --- /dev/null +++ b/web/modules/contrib/libraries/src/Plugin/libraries/Type/PhpFileLibraryType.php @@ -0,0 +1,72 @@ +phpFileLoader = $php_file_loader; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $container->get('plugin.manager.libraries.locator'), + $container->get('plugin.manager.libraries.version_detector'), + $container->get('libraries.php_file_loader') + ); + } + + /** + * {@inheritdoc} + */ + public function getLibraryClass() { + return PhpFileLibrary::class; + } + + /** + * {@inheritdoc} + */ + public function onLibraryLoad(LibraryInterface $library) { + /** @var \Drupal\libraries\ExternalLibrary\PhpFile\PhpFileLibraryInterface $library */ + // @todo Prevent loading a library multiple times. + foreach ($library->getPhpFiles() as $file) { + $this->phpFileLoader->load($file); + } + } + +}