aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/PluginAdministration.php
diff options
context:
space:
mode:
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);