From a13c5198a0f03be757a99d5d58efc68433292f37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Fri, 7 Jan 2022 12:20:31 +0000
Subject: [PATCH] Resolve "Forum in Einrichtungen verschwunden"

---
 db/migrations/1.314_step_00349.php | 9 ++++++++-
 lib/classes/SemClass.class.php     | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/db/migrations/1.314_step_00349.php b/db/migrations/1.314_step_00349.php
index 73803ab40b6..8ae412340f5 100644
--- a/db/migrations/1.314_step_00349.php
+++ b/db/migrations/1.314_step_00349.php
@@ -157,6 +157,13 @@ class Step00349 extends Migration
 
         foreach ($db->query("SELECT institut_id, type, modules FROM Institute") 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='inst' ORDER BY navigationpos", [$row['institut_id']]);
+            //activate blubber if thread exists, biest-363
+            if (!isset($activated_plugins[$all_plugins['Blubber']])) {
+                $blubb_exists = $db->fetchColumn("SELECT 1 FROM blubber_threads WHERE context_id = ?", [$row['institut_id']]);
+                if ($blubb_exists) {
+                    $activated_plugins[$all_plugins['Blubber']] = '1';
+                }
+            }
             $modules = $this->getLocalModules('inst', $row['modules'], $row['type']);
             $pos = 0;
             foreach ($modules as $pos => $module) {
@@ -368,7 +375,7 @@ class OldSemClass implements ArrayAccess
         $slots = [
             'overview'            => 'CoreOverview',
             'admin'               => 'CoreAdmin',
-            'forum'               => 'Blubber',
+            'forum'               => 'CoreForum',
             'documents'           => 'CoreDocuments',
             'scm'                 => 'CoreScm',
             'wiki'                => 'CoreWiki',
diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php
index bf49076f5b8..f4ef3da8d83 100644
--- a/lib/classes/SemClass.class.php
+++ b/lib/classes/SemClass.class.php
@@ -86,7 +86,7 @@ class SemClass implements ArrayAccess
             'admin'               => 'CoreAdmin'     // always available
         ];
         $slots = [
-            'forum'               => 'Blubber',
+            'forum'               => 'CoreForum',
             'documents'           => 'CoreDocuments',
             'scm'                 => 'CoreScm',
             'wiki'                => 'CoreWiki',
-- 
GitLab