Skip to content
Snippets Groups Projects
Commit 9bfede30 authored by André Noack's avatar André Noack Committed by André Noack
Browse files

check SemClass for mandatory and forbidden plugins

parent d6b6c21d
No related branches found
No related tags found
No related merge requests found
...@@ -120,8 +120,16 @@ class Step00349 extends Migration ...@@ -120,8 +120,16 @@ class Step00349 extends Migration
$all_plugins = $db->fetchPairs("SELECT pluginclassname, pluginid FROM plugins"); $all_plugins = $db->fetchPairs("SELECT pluginclassname, pluginid FROM plugins");
foreach ($db->query("SELECT seminar_id, status, modules FROM seminare") as $row) { foreach ($db->query("SELECT seminar_id, status, modules, class FROM seminare LEFT JOIN sem_types ON sem_types.id = seminare.status") as $row) {
$activated_plugins = $db->fetchPairs("SELECT plugins_activated.pluginid, state FROM `plugins_activated` INNER JOIN `plugins` USING(pluginid) WHERE range_id=? AND range_type='sem' ORDER BY navigationpos", [$row['seminar_id']]); $activated_plugins = $db->fetchPairs("SELECT plugins_activated.pluginid, state FROM `plugins_activated` INNER JOIN `plugins` USING(pluginid) WHERE range_id=? AND range_type='sem' ORDER BY navigationpos", [$row['seminar_id']]);
$sem_class = OldSemClass::getClasses()[$row['class']] ?: OldSemClass::getDefaultSemClass();
foreach ($sem_class->getModules() as $sem_class_module => $sem_class_module_meta) {
if (!isset($studip_modules[$sem_class_module]) && isset($all_plugins[$sem_class_module])) {
if ($sem_class_module_meta['sticky']) {
$activated_plugins[$all_plugins[$sem_class_module]] = $sem_class_module_meta['activated'] ? '1' : '0';
}
}
}
$modules = $this->getLocalModules('sem', $row['modules'], $row['status']); $modules = $this->getLocalModules('sem', $row['modules'], $row['status']);
$pos = 0; $pos = 0;
foreach ($modules as $pos => $module) { foreach ($modules as $pos => $module) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment