diff options
Diffstat (limited to 'lib/classes/PluginAdministration.php')
| -rw-r--r-- | lib/classes/PluginAdministration.php | 23 |
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); |
