From 639d258e2aaa4a79161cc161903ce0192b04e59a Mon Sep 17 00:00:00 2001 From: Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> Date: Tue, 4 Jun 2024 08:57:37 +0000 Subject: [PATCH] Create plugins using the dependency injection. Closes #4247 Merge request studip/studip!3078 --- lib/bootstrap-definitions.php | 1 + lib/plugins/engine/PluginManager.class.php | 2 +- tests/functional/_bootstrap.php | 1 + tests/jsonapi/_bootstrap.php | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/bootstrap-definitions.php b/lib/bootstrap-definitions.php index 8afb8ce5fbc..e3bf88ac4a0 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 fc81d7f36ef..7e36fa0ae4a 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 1745a1a0b7d..322883d9a63 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 dea1c813910..7987b34e91d 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'; -- GitLab