From 0b64c3aa4f35df5ef68a1dd5b8323b15081c734e Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 10 Nov 2015 10:52:10 +0100
Subject: [PATCH] OO-1776: remove image, movie and the internal link plugin

---
 .../elements/richText/RichTextConfiguration.java    | 13 +++++++++++++
 .../flexible/impl/elements/richText/TinyConfig.java | 10 ++++++++++
 .../nodes/gta/ui/GTAAssignmentEditController.java   |  4 ++++
 .../gta/ui/GTASampleSolutionsEditController.java    |  4 ++++
 .../nodes/gta/ui/SubmitDocumentsController.java     |  4 ++++
 5 files changed, 35 insertions(+)

diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextConfiguration.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextConfiguration.java
index 5d435c6fd27..865e063b8c1 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextConfiguration.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextConfiguration.java
@@ -386,6 +386,10 @@ public class RichTextConfiguration implements Disposable {
 	public void disableMathEditor() {
 		tinyConfig = tinyConfig.disableMathEditor();
 	}
+	
+	public void disableImageAnMovie() {
+		tinyConfig = tinyConfig.disableImageAndMedia();
+	}
 
 	/**
 	 * Enable / disable the full-screen plugin
@@ -522,6 +526,15 @@ public class RichTextConfiguration implements Disposable {
 		linkBrowserBaseContainer = vfsContainer;
 		linkBrowserCustomTreeModel = customLinkTreeModel;
 	}
+	
+	public void disableFileBrowserCallback() {
+		linkBrowserImageSuffixes = null;
+		linkBrowserMediaSuffixes = null;
+		linkBrowserFlashPlayerSuffixes = null;
+		linkBrowserBaseContainer = null;
+		linkBrowserCustomTreeModel = null;
+		nonQuotedConfigValues.remove(FILE_BROWSER_CALLBACK);
+	}
 
 	/**
 	 * Set an optional path relative to the vfs container of the file browser
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TinyConfig.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TinyConfig.java
index 4ff3cdf465b..519c2c2084b 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TinyConfig.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TinyConfig.java
@@ -114,6 +114,16 @@ public class TinyConfig {
 				.enableFeature("olatmovieviewer");
 	}
 	
+	/**
+	 * Disable image, media and movie plugins.
+	 * @return
+	 */
+	public TinyConfig disableImageAndMedia() {
+		return disableFeature("image")
+				.disableFeature("media")
+				.disableFeature("olatmovieviewer");
+	}
+	
 	/**
 	 * Remove media + olatmovie
 	 * @return
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTAAssignmentEditController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTAAssignmentEditController.java
index 898f5c98443..502f51507be 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/GTAAssignmentEditController.java
+++ b/src/main/java/org/olat/course/nodes/gta/ui/GTAAssignmentEditController.java
@@ -414,6 +414,8 @@ public class GTAAssignmentEditController extends FormBasicController {
 				tasksContainer, documentName, "media", true, true);
 		newTaskEditorCtrl.setNewFile(true);
 		newTaskEditorCtrl.setUserObject(taskDef);
+		newTaskEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+		newTaskEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 		listenTo(newTaskEditorCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), "close", newTaskEditorCtrl.getInitialComponent());
@@ -426,6 +428,8 @@ public class GTAAssignmentEditController extends FormBasicController {
 
 		editTaskEditorCtrl = WysiwygFactory.createWysiwygController(ureq, getWindowControl(),
 				tasksContainer, documentName, "media", true, true);
+		editTaskEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+		editTaskEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 		listenTo(editTaskEditorCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), "close", editTaskEditorCtrl.getInitialComponent());
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTASampleSolutionsEditController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTASampleSolutionsEditController.java
index e7a09109ccd..1176cab3d1f 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/GTASampleSolutionsEditController.java
+++ b/src/main/java/org/olat/course/nodes/gta/ui/GTASampleSolutionsEditController.java
@@ -279,6 +279,8 @@ public class GTASampleSolutionsEditController extends FormBasicController {
 				solutionContainer, documentName, "media", true, true);
 		newSolutionEditorCtrl.setNewFile(true);
 		newSolutionEditorCtrl.setUserObject(solution);
+		newSolutionEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+		newSolutionEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 		listenTo(newSolutionEditorCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), "close", newSolutionEditorCtrl.getInitialComponent());
@@ -291,6 +293,8 @@ public class GTASampleSolutionsEditController extends FormBasicController {
 
 		editSolutionEditorCtrl = WysiwygFactory.createWysiwygController(ureq, getWindowControl(),
 				solutionContainer, documentName, "media", true, true);
+		editSolutionEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+		editSolutionEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 		listenTo(editSolutionEditorCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), "close", editSolutionEditorCtrl.getInitialComponent());
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/SubmitDocumentsController.java b/src/main/java/org/olat/course/nodes/gta/ui/SubmitDocumentsController.java
index ea6ae71da20..c39f0befbbf 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/SubmitDocumentsController.java
+++ b/src/main/java/org/olat/course/nodes/gta/ui/SubmitDocumentsController.java
@@ -401,6 +401,8 @@ class SubmitDocumentsController extends FormBasicController {
 	
 			newDocumentEditorCtrl = WysiwygFactory.createWysiwygController(ureq, getWindowControl(),
 					documentsContainer, documentName, "media", true, true);
+			newDocumentEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+			newDocumentEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 			newDocumentEditorCtrl.setNewFile(true);
 			listenTo(newDocumentEditorCtrl);
 			
@@ -415,6 +417,8 @@ class SubmitDocumentsController extends FormBasicController {
 
 		editDocumentEditorCtrl = WysiwygFactory.createWysiwygController(ureq, getWindowControl(),
 				documentsContainer, documentName, "media", true, true);
+		editDocumentEditorCtrl.getRichTextConfiguration().disableImageAnMovie();
+		editDocumentEditorCtrl.getRichTextConfiguration().disableFileBrowserCallback();
 		listenTo(editDocumentEditorCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), "close", editDocumentEditorCtrl.getInitialComponent());
-- 
GitLab