diff options
| author | Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> | 2024-06-04 08:57:37 +0000 |
|---|---|---|
| committer | Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> | 2024-06-04 08:57:37 +0000 |
| commit | 639d258e2aaa4a79161cc161903ce0192b04e59a (patch) | |
| tree | e973226d561681947fc8d35224d3ecc0e8659c3c | |
| parent | 44d0923e7a000755ef6d8338e0d382e9e97a0106 (diff) | |
Create plugins using the dependency injection.
Closes #4247
Merge request studip/studip!3078
| -rw-r--r-- | lib/bootstrap-definitions.php | 1 | ||||
| -rw-r--r-- | lib/plugins/engine/PluginManager.class.php | 2 | ||||
| -rw-r--r-- | tests/functional/_bootstrap.php | 1 | ||||
| -rw-r--r-- | tests/jsonapi/_bootstrap.php | 1 |
4 files changed, 4 insertions, 1 deletions
diff --git a/lib/bootstrap-definitions.php b/lib/bootstrap-definitions.php index 8afb8ce..e3bf88a 100644 --- a/lib/bootstrap-definitions.php +++ b/lib/bootstrap-definitions.php @@ -67,4 +67,5 @@ return [ return $pdo; }), + PluginManager::class => DI\factory([PluginManager::class, 'getInstance']), ]; diff --git a/lib/plugins/engine/PluginManager.class.php b/lib/plugins/engine/PluginManager.class.php index fc81d7f..7e36fa0 100644 --- a/lib/plugins/engine/PluginManager.class.php +++ b/lib/plugins/engine/PluginManager.class.php @@ -591,7 +591,7 @@ class PluginManager } if ($plugin_class) { - $plugin = $plugin_class->newInstance(); + $plugin = app()->get($class); } return $this->plugin_cache[$class] = $plugin; diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php index 1745a1a..322883d 100644 --- a/tests/functional/_bootstrap.php +++ b/tests/functional/_bootstrap.php @@ -19,6 +19,7 @@ $inc_path .= PATH_SEPARATOR . __DIR__ . '/../../config'; ini_set('include_path', $inc_path); require 'lib/classes/StudipAutoloader.php'; +require 'lib/helpers.php'; require 'lib/functions.php'; require_once 'lib/language.inc.php'; require 'lib/visual.inc.php'; diff --git a/tests/jsonapi/_bootstrap.php b/tests/jsonapi/_bootstrap.php index dea1c81..7987b34 100644 --- a/tests/jsonapi/_bootstrap.php +++ b/tests/jsonapi/_bootstrap.php @@ -29,6 +29,7 @@ date_default_timezone_set('Europe/Berlin'); require 'config.inc.php'; +require 'lib/helpers.php'; require 'lib/functions.php'; require 'lib/language.inc.php'; require 'lib/visual.inc.php'; |
