From 6796a8d73bf60b767e9204be691ca25b188c7653 Mon Sep 17 00:00:00 2001
From: Moritz Strohm <strohm@data-quest.de>
Date: Tue, 5 Jul 2022 16:37:32 +0200
Subject: [PATCH] made plugin available under the desktop navigation item in
 Stud.IP 5.x

---
 TandemPlugin.class.php | 14 +++++++++++++-
 controllers/admin.php  |  6 +++++-
 plugin.manifest        |  2 +-
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/TandemPlugin.class.php b/TandemPlugin.class.php
index 46078d2..2cd714f 100644
--- a/TandemPlugin.class.php
+++ b/TandemPlugin.class.php
@@ -29,6 +29,12 @@ class TandemPlugin extends StudIPPlugin implements SystemPlugin, PortalPlugin
     }
 
 
+    public function isOldStudip()
+    {
+        return version_compare($GLOBALS['SOFTWARE_VERSION'], '5.0', '<');
+    }
+
+
     public function __construct()
     {
         parent::__construct();
@@ -98,9 +104,15 @@ class TandemPlugin extends StudIPPlugin implements SystemPlugin, PortalPlugin
             $top_navigation = null;
             $navigation_name = 'admin';
             if (Config::get()->TANDEMPLUGIN_USE_TOOLS_NAVIGATION) {
-                if (Navigation::hasItem('/tools')) {
+                if (Navigation::hasItem('/tools') && $this->isOldStudip()) {
                     $top_navigation = Navigation::getItem('/tools');
                     $navigation_name = 'tandemplugin';
+                } elseif (Navigation::hasItem('/contents')) {
+                    $top_navigation = Navigation::getItem('/contents');
+                    $navigation_name = 'tandemplugin';
+                    $navigation->setImage(
+                        Icon::create("roles", "navigation")
+                    );
                 }
             } else {
                 $top_navigation = clone $navigation;
diff --git a/controllers/admin.php b/controllers/admin.php
index d9b7190..4e2872a 100644
--- a/controllers/admin.php
+++ b/controllers/admin.php
@@ -33,7 +33,11 @@ class AdminController extends PluginController
 
         $this->admin_nav_path = '/tandemplugin/admin';
         if (Config::get()->TANDEMPLUGIN_USE_TOOLS_NAVIGATION) {
-            $this->admin_nav_path = '/tools/tandemplugin';
+            if ($this->plugin->isOldStudip()) {
+                $this->admin_nav_path = '/tools/tandemplugin';
+            } else {
+                $this->admin_nav_path = '/contents/tandemplugin';
+            }
         }
     }
 
diff --git a/plugin.manifest b/plugin.manifest
index 3694670..ebf201e 100644
--- a/plugin.manifest
+++ b/plugin.manifest
@@ -1,7 +1,7 @@
 pluginname=TandemPlugin
 pluginclassname=TandemPlugin
 origin=data-quest
-version=1.1.0
+version=1.1.1
 description=Dieses Plugin ermöglicht es, Sprachtandems innerhalb der Stud.IP Platform zu bilden.
 studipMinVersion=4.0
 studipMaxVersion=5.9.99
-- 
GitLab