From 2fec902de83ea9fc3486af9a2a65fbfded1771b3 Mon Sep 17 00:00:00 2001
From: Florian Bogner <f.bogner@pcsg.de>
Date: Mon, 7 Aug 2017 14:22:49 +0200
Subject: [PATCH] feat: Added special case treatment for codeTag plugin and
 enabled quiqqer font awesome editor plugin by default

---
 plugins/activePlugins.json           |  2 ++
 src/QUI/Ckeditor/Plugins/Manager.php | 31 ++++++++++++++++++++--------
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/plugins/activePlugins.json b/plugins/activePlugins.json
index de1f3b7..9b940ff 100644
--- a/plugins/activePlugins.json
+++ b/plugins/activePlugins.json
@@ -11,6 +11,7 @@
   "codesnippet",
   "codesnippetgeshi",
   "codeTag",
+  "code",
   "colorbutton",
   "colordialog",
   "crossreference",
@@ -51,6 +52,7 @@
   "pre",
   "preview",
   "print",
+  "qui-font-awesome",
   "save",
   "scayt",
   "selectall",
diff --git a/src/QUI/Ckeditor/Plugins/Manager.php b/src/QUI/Ckeditor/Plugins/Manager.php
index 55f64f5..416bc97 100644
--- a/src/QUI/Ckeditor/Plugins/Manager.php
+++ b/src/QUI/Ckeditor/Plugins/Manager.php
@@ -89,10 +89,15 @@ class Manager
                     continue;
                 }
 
+                $pluginName = $entry;
+                // Special case, because gitlab gets confused with the dirctory named "codeTag"
+                if ($entry == "code") {
+                    $pluginName= "codeTag";
+                }
                 # Check if/where the plugin is installed
-                $targetDir = $this->installedPluginDir . "/" . $entry;
-                if (is_dir($this->activePluginDir . "/" . $entry)) {
-                    $targetDir = $this->activePluginDir . "/" . $entry;
+                $targetDir = $this->installedPluginDir . "/" . $pluginName;
+                if (is_dir($this->activePluginDir . "/" . $pluginName)) {
+                    $targetDir = $this->activePluginDir . "/" . $pluginName;
                 }
 
                 if (is_dir($targetDir)) {
@@ -135,24 +140,31 @@ class Manager
             }
 
             foreach (scandir($srcDir) as $entry) {
+                if ($entry == "." || $entry == "..") {
+                    continue;
+                }
+                
+                $pluginName = $entry;
+                // Special case, because gitlab gets confused with the dirctory named "codeTag"
+                if ($entry == "code") {
+                    $pluginName= "codeTag";
+                }
+                
                 $targetDir = $this->installedPluginDir;
                 if (in_array($entry, $activePlugins)) {
                     $targetDir = $this->activePluginDir;
                 }
 
-                if ($entry == "." || $entry == "..") {
-                    continue;
-                }
 
                 if (!is_dir($srcDir . "/" . $entry)) {
                     continue;
                 }
 
-                if (is_dir($this->installedPluginDir . "/" . $entry)) {
+                if (is_dir($this->installedPluginDir . "/" . $pluginName)) {
                     continue;
                 }
 
-                if (is_dir($this->activePluginDir . "/" . $entry)) {
+                if (is_dir($this->activePluginDir . "/" . $pluginName)) {
                     continue;
                 }
 
@@ -160,9 +172,10 @@ class Manager
                     continue;
                 }
 
+                
                 $this->copyDir(
                     $srcDir . "/" . $entry,
-                    $targetDir . "/" . $entry
+                    $targetDir . "/" . $pluginName
                 );
             }
         }
-- 
GitLab