aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/PluginAdministration.php
diff options
context:
space:
mode:
authorPhilipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de>2024-09-24 10:53:31 +0200
committerPhilipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de>2024-09-24 10:53:31 +0200
commit4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch)
tree5c07151ae61276d334e88f6309c30d439a85c12e /lib/classes/PluginAdministration.php
parentda0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff)
parent97a188592c679890a25c37ab78463add76a52ff7 (diff)
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'lib/classes/PluginAdministration.php')
-rw-r--r--lib/classes/PluginAdministration.php23
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/classes/PluginAdministration.php b/lib/classes/PluginAdministration.php
index 2732f58..faba3ec 100644
--- a/lib/classes/PluginAdministration.php
+++ b/lib/classes/PluginAdministration.php
@@ -440,27 +440,26 @@ class PluginAdministration
// get plugin meta data
$pluginclass = $manifest['pluginclassname'];
$origin = $manifest['origin'];
- $min_version = $manifest['studipMinVersion'];
- $max_version = $manifest['studipMaxVersion'];
+ $min_version = $manifest['studipMinVersion'] ?? null;
+ $max_version = $manifest['studipMaxVersion'] ?? null;
// check for compatible version
- if ((isset($min_version) && StudipVersion::olderThan($min_version)) ||
- (isset($max_version) && StudipVersion::newerThan($max_version))) {
+ if (
+ (isset($min_version) && StudipVersion::olderThan($min_version))
+ || (isset($max_version) && StudipVersion::newerThan($max_version))
+ ) {
throw new PluginInstallationException(_('Das Plugin ist mit dieser Stud.IP-Version nicht kompatibel.'));
}
// determine the plugin path
- $basepath = Config::get()->PLUGINS_PATH;
$pluginpath = $origin . '/' . $pluginclass;
- $pluginregistered = $plugin_manager->getPluginInfo($pluginclass);
-
- if ($pluginregistered) {
- new PluginInstallationException(_('Das Plugin ist bereits registriert.'));
- }
-
// create database schema if needed
- $this->createDBSchema($plugindir, $manifest, $pluginregistered);
+ $this->createDBSchema(
+ $plugindir,
+ $manifest,
+ (bool) $plugin_manager->getPluginInfo($pluginclass)
+ );
// now register the plugin in the database
$pluginid = $plugin_manager->registerPlugin($manifest['pluginname'], $pluginclass, $pluginpath);