diff --git a/plugins/activePlugins.json b/plugins/activePlugins.json new file mode 100644 index 0000000000000000000000000000000000000000..7cebdad912728064f0068692b9ae83da34ebb50c --- /dev/null +++ b/plugins/activePlugins.json @@ -0,0 +1,5 @@ +[ + "widget", + "dialog", + "autocorrect" +] \ No newline at end of file diff --git a/src/QUI/Ckeditor/Plugins/Manager.php b/src/QUI/Ckeditor/Plugins/Manager.php index 953618a66fa7a66cef2fa84d6651d6bdb4a1284e..ade96e2076f12fbbde7a40e2b1efaec8dbdd098b 100644 --- a/src/QUI/Ckeditor/Plugins/Manager.php +++ b/src/QUI/Ckeditor/Plugins/Manager.php @@ -114,14 +114,26 @@ class Manager ); + $activePlugins = array(); + $defaultStateFile = dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/plugins/activePlugins.json"; + if (file_exists($defaultStateFile)) { + $json = file_get_contents($defaultStateFile); + $activePlugins = json_decode($json, true); + } + + foreach ($srcDirs as $srcDir) { - $targetDir = $this->installedPluginDir; if (!is_dir($srcDir)) { return; } foreach (scandir($srcDir) as $entry) { + $targetDir = $this->installedPluginDir; + if (in_array($entry, $activePlugins)) { + $targetDir = $this->activePluginDir; + } + if ($entry == "." || $entry == "..") { continue; }