aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>2024-06-04 08:57:37 +0000
committerMarcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>2024-06-04 08:57:37 +0000
commit639d258e2aaa4a79161cc161903ce0192b04e59a (patch)
treee973226d561681947fc8d35224d3ecc0e8659c3c
parent44d0923e7a000755ef6d8338e0d382e9e97a0106 (diff)
Create plugins using the dependency injection.
Closes #4247 Merge request studip/studip!3078
-rw-r--r--lib/bootstrap-definitions.php1
-rw-r--r--lib/plugins/engine/PluginManager.class.php2
-rw-r--r--tests/functional/_bootstrap.php1
-rw-r--r--tests/jsonapi/_bootstrap.php1
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';