diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java index 73bf65cf24561aee1546770a1d46ddc4378362d2..7fa9030f79838c7f502bf39df9ff77c968a3bc00 100644 --- a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java +++ b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java @@ -23,6 +23,8 @@ import java.io.InputStream; import java.util.Date; import org.olat.core.commons.controllers.linkchooser.CustomLinkTreeModel; +import org.olat.core.commons.editor.plaintexteditor.PlainTextEditorController; +import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -32,6 +34,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextConfiguration; import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.panel.Panel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -42,6 +45,7 @@ import org.olat.core.util.Encoder; import org.olat.core.util.FileUtils; import org.olat.core.util.Formatter; import org.olat.core.util.SimpleHtmlParser; +import org.olat.core.util.Util; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.coordinate.LockResult; import org.olat.core.util.resource.OresHelper; @@ -139,6 +143,16 @@ public class HTMLEditorController extends FormBasicController { this.fileName = ((relFilePath.charAt(0) == '/') ? relFilePath.substring(1) : relFilePath); this.fileLeaf = (VFSLeaf) baseContainer.resolve(fileName); if (fileLeaf == null) throw new AssertException("file::" + getFileDebuggingPath(baseContainer, relFilePath) + " does not exist!"); + long size = fileLeaf.getSize(); + if ( size > FolderConfig.getMaxEditSizeLimit()) { + // limit to reasonable size, see OO-57 + setTranslator(Util.createPackageTranslator(PlainTextEditorController.class, getLocale(),getTranslator())); + getWindowControl().setError(translate("plaintext.error.tolarge", new String[]{(size / 1000) + "", (FolderConfig.getMaxEditSizeLimit()/1000)+""})); + this.body = ""; + //initForm(ureq); + return; + } + // check if someone else is already editing the file if (fileLeaf instanceof LocalFileImpl) { // Cast to LocalFile necessary because the VFSItem is missing some diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/_content/htmleditor.html b/src/main/java/org/olat/core/commons/editor/htmleditor/_content/htmleditor.html index 7f8675edc68fd6ad56bb08548cd1d21a3d9e8818..74d2bb969e6d65b125174c5e4ee47006cc161a41 100644 --- a/src/main/java/org/olat/core/commons/editor/htmleditor/_content/htmleditor.html +++ b/src/main/java/org/olat/core/commons/editor/htmleditor/_content/htmleditor.html @@ -4,7 +4,7 @@ $r.translate("error.pageeditedby", $lockOwner) </p> #else - +#if ($r.available("rtfElement")) <script language="JavaScript"> /* <![CDATA[ */ function b_resizetofit_htmleditor() { @@ -87,5 +87,7 @@ #end </div> +#end + #end </div> diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/PlainTextEditorController.java b/src/main/java/org/olat/core/commons/editor/plaintexteditor/PlainTextEditorController.java index 31687fe7ec877ad17daf8c494de365caf1c773fc..30e0f2da92f0adc268865d76a7097de2e38e30d5 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/PlainTextEditorController.java +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/PlainTextEditorController.java @@ -27,6 +27,7 @@ package org.olat.core.commons.editor.plaintexteditor; import java.io.InputStream; +import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -76,9 +77,9 @@ public class PlainTextEditorController extends BasicController { this.newFile = newFile; long size = vfsfile.getSize(); //bytes - if (size > 500000) { // max filesize is 500kb + if (size > FolderConfig.getMaxEditSizeLimit()) { // limit to reasonable size, see OLAT-3025 - showError("plaintext.error.tolarge", (size / 1000) + ""); + getWindowControl().setError(translate("plaintext.error.tolarge", new String[]{(size / 1000) + "", (FolderConfig.getMaxEditSizeLimit()/1000)+""})); putInitialPanel(new Panel("empty")); return; } diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_af.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_af.properties index acd5733c83e642812994cbf321d7ea7c2416cf7c..8682e77c047b23b4deeefcb0a425b08f1b0af0d8 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_af.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_af.properties @@ -1,3 +1,3 @@ #Thu Feb 18 05:01:24 CET 2010 -plaintext.error.tolarge=Hierdie dokument kon nie oopgemaak word nie aangesien dit te groot is ({0} KB). L\u00EAers tot 500 KB wor toegelaat. +plaintext.error.tolarge=Hierdie dokument kon nie oopgemaak word nie aangesien dit te groot is ({0} KB). L\u00EAers tot {1} KB wor toegelaat. textarea=Inhoud van dokument diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_bg.properties index cba5c0c859c0ac2ee8883510b07db95c96149988..5709440428dad8151997d1c61a26b2d3d4f35288 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_bg.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_bg.properties @@ -1,3 +1,3 @@ #Thu May 21 15:51:05 CEST 2009 -plaintext.error.tolarge=\u0422\u043E\u0437\u0438 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043E\u0442\u0432\u043E\u0440\u0435\u043D, \u0437\u0430\u0449\u043E\u0442\u043E \u0435 \u0442\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C ({0} KB). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438 \u0441\u0430 \u0444\u0430\u0439\u043B\u043E\u0432\u0435 \u0434\u043E 500 KB. +plaintext.error.tolarge=\u0422\u043E\u0437\u0438 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043E\u0442\u0432\u043E\u0440\u0435\u043D, \u0437\u0430\u0449\u043E\u0442\u043E \u0435 \u0442\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C ({0} KB). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438 \u0441\u0430 \u0444\u0430\u0439\u043B\u043E\u0432\u0435 \u0434\u043E {1} KB. textarea=\u0421\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435 \u043D\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_cs.properties index e63a1e0164ac0ed56620880619bb5854465b322d..9593617ba686959d47b01e5e6a8a6e66c9df97d2 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_cs.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_cs.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:13 CET 2009 -plaintext.error.tolarge=Dokument nem\u016F\u017Ee b\u00FDt otev\u0159en, proto\u017Ee je p\u0159\u00EDli\u0161 velk\u00FD ({0} KB). Jsou povoleny soubory do 500 KB. +plaintext.error.tolarge=Dokument nem\u016F\u017Ee b\u00FDt otev\u0159en, proto\u017Ee je p\u0159\u00EDli\u0161 velk\u00FD ({0} KB). Jsou povoleny soubory do {1} KB. textarea=Obsah dokumentu diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_de.properties index 498d76efb85f4e8168f3f5a2d59134231e3828be..b6a53bc6369eeaada631c5316671d61fc245892a 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_de.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:04 CET 2009 -plaintext.error.tolarge=Die Datei konnte nicht ge\u00F6ffnet werden da sie zu gross ist ({0}KB). Zugelassen sind Dateien bis 500KB. +plaintext.error.tolarge=Die Datei konnte nicht ge\u00F6ffnet werden da sie zu gross ist ({0}KB). Zugelassen sind Dateien bis {1}KB. textarea=Inhalt Dokument diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_el.properties index 87132ddde229f594bfc56439059efae4a18f0ed9..848fa9fe68656e52d863d3c58c3588038c63a34a 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_el.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_el.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:15 CET 2009 -plaintext.error.tolarge=\u03A4\u03BF \u03AD\u03B3\u03B3\u03C1\u03B1\u03C6\u03BF \u03B4\u03B5\u03BD \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B5 \u03BD\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9, \u03B3\u03B9\u03B1\u03C4\u03AF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF ({0} KB). \u0395\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C4\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03AD\u03C9\u03C2 \u03BA\u03B1\u03B9 500 KB. +plaintext.error.tolarge=\u03A4\u03BF \u03AD\u03B3\u03B3\u03C1\u03B1\u03C6\u03BF \u03B4\u03B5\u03BD \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B5 \u03BD\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9, \u03B3\u03B9\u03B1\u03C4\u03AF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF ({0} KB). \u0395\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C4\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03AD\u03C9\u03C2 \u03BA\u03B1\u03B9 {1} KB. textarea=\u03A0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF \u03B5\u03B3\u03B3\u03C1\u03AC\u03C6\u03BF\u03C5 diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_en.properties index f82eb45cdc8f1dd0237814a476c2ade018d19087..6be84a73b2666fb91b5aa54c62a6d3ce728c268f 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_en.properties @@ -1,3 +1,3 @@ #Thu Jan 21 17:18:12 CET 2010 -plaintext.error.tolarge=This document could not be opened since it is too large ({0} KB). Allowed are files up to 500 KB. +plaintext.error.tolarge=This document could not be opened since it is too large ({0} KB). Allowed are files up to {1}KB. textarea=Content of document diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_es.properties index 6864e9166496d523a2bb8536319f4ad314d5d6d9..8ae2169b6cfda685aa72d770db4d28ad63f0770d 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_es.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_es.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:20 CET 2009 -plaintext.error.tolarge=Este archivo no puede ser abierto, porque es demasiado grande ({0} KB). Se permite archivos hasta 500 KB. +plaintext.error.tolarge=Este archivo no puede ser abierto, porque es demasiado grande ({0} KB). Se permite archivos hasta {1} KB. textarea=Contenido del archivo diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_fr.properties index 50353b69106db3fd3e90c02ec1e40d81c6b55270..75cb36e5240891a7b7afdfe2ef0644a4a939432e 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_fr.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:07 CET 2009 -plaintext.error.tolarge=Le fichier ne peut pas \u00EAtre ouvert parce qu'elle est trop grande({0}KB). Autoris\u00E9s sont seulement les fichiers jusqu'\u00E0 500KB. +plaintext.error.tolarge=Le fichier ne peut pas \u00EAtre ouvert parce qu'elle est trop grande({0}KB). Autoris\u00E9s sont seulement les fichiers jusqu'\u00E0 {1} KB. textarea=Contenu document diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_it.properties index a286b983df95798181e83b09a88dddcbef92e13a..2bf50cf33a804385692a0e6867f44b2c6116244a 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_it.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:09 CET 2009 -plaintext.error.tolarge=Non \u00E8 stato possibile aprire il file perch\u00E9 \u00E8 troppo grande ({0}KB). Sono ammessi file fino a 500KB. +plaintext.error.tolarge=Non \u00E8 stato possibile aprire il file perch\u00E9 \u00E8 troppo grande ({0}KB). Sono ammessi file fino a {1}KB. textarea=Contenuto documento diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_lt.properties index b4f2a3f4feeee91c711f4a64c42563db8f3445ae..251afb7ed306cfa1a13bdefd5987cae1ecd49638 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_lt.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_lt.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:02 CET 2009 -plaintext.error.tolarge=\u0160is dokumentas negali b\u016Bti atidarytas, nes jis yra per didelis ({0} KB). Leid\u017Eiamas dokumento dydis yra iki 500 KB. +plaintext.error.tolarge=\u0160is dokumentas negali b\u016Bti atidarytas, nes jis yra per didelis ({0} KB). Leid\u017Eiamas dokumento dydis yra iki {1} KB. textarea=Dokumento turinys diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nb_NO.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nb_NO.properties index cfcdcba1ea66ba304d3f5ad6a2b9dbf633a71b5c..41708816551aaae29eb0356a518ed57f3200337f 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nb_NO.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nb_NO.properties @@ -1,3 +1,3 @@ #Tue Jun 16 14:19:04 CEST 2009 -plaintext.error.tolarge=Dokumentet kan ikke \u00E5pnes fordi det er for stort\: {0} kB. Maksimal tillatt filst\u00F8rrelse er 500 kB. +plaintext.error.tolarge=Dokumentet kan ikke \u00E5pnes fordi det er for stort\: {0} kB. Maksimal tillatt filst\u00F8rrelse er {1} kB. textarea=Dokumentinnhold diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nl_NL.properties index d84fba715a3b99b64c0c89cbf93eeecc15d03952..af034f0bd7f4dd8bcf56d32cea35da304d849f03 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nl_NL.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_nl_NL.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:21 CET 2009 -plaintext.error.tolarge=Dit document kon niet worden geopend omdat het te groot is({0} KB). Enkel bestanden tot 500 KB zijn toegestaan. +plaintext.error.tolarge=Dit document kon niet worden geopend omdat het te groot is({0} KB). Enkel bestanden tot {1} KB zijn toegestaan. textarea=Inhoud van het document diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pl.properties index aff8d4ee5971d73c305ad7a15611fbaa3d88927f..dff585ffe4127bc66bc6e7ce4ec2e4475ee24d59 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pl.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pl.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:16 CET 2009 -plaintext.error.tolarge=Dokument nie mo\u017Ce zosta\u0107 otwarty ze wzgl\u0119du na zbyt du\u017Cy rozmiar ({0} KB). Dozwolone s\u0105 pliki o rozmiarze do 500 KB +plaintext.error.tolarge=Dokument nie mo\u017Ce zosta\u0107 otwarty ze wzgl\u0119du na zbyt du\u017Cy rozmiar ({0} KB). Dozwolone s\u0105 pliki o rozmiarze do {1} KB textarea=Zawarto\u015B\u0107 dokumentu diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pt_BR.properties index 4d1aae109f17170158faa8b13245689fcd9e43db..490c9506a2b6686ee00ea535c5c09eccc554bdb4 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_pt_BR.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:53:59 CET 2009 -plaintext.error.tolarge=Este documento n\u00E3o pode ser aberto porque \u00E9 muito grande ({0} KB). Arquivos at\u00E9 500 KB s\u00E3o permitidos. +plaintext.error.tolarge=Este documento n\u00E3o pode ser aberto porque \u00E9 muito grande ({0} KB). Arquivos at\u00E9 {1} KB s\u00E3o permitidos. textarea=Conte\u00FAdo do documento diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_ru.properties index 0a1b6201fb5f70f2dbff297f8b6dd3369dea8bfe..ec4ca641fcf26950c736e13424d94b70a08c85b8 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_ru.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_ru.properties @@ -1,3 +1,3 @@ #Mon Mar 02 21:04:31 CET 2009 -plaintext.error.tolarge=\u0414\u0430\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u044C, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439 ({0} \u041A\u0431\u0430\u0439\u0442). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u044B \u0444\u0430\u0439\u043B\u044B \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 500 \u041A\u0431\u0430\u0439\u0442. +plaintext.error.tolarge=\u0414\u0430\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u044C, \u0442\u0430\u043A \u043A\u0430\u043A \u043E\u043D \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439 ({0} \u041A\u0431\u0430\u0439\u0442). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u044B \u0444\u0430\u0439\u043B\u044B \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {1} \u041A\u0431\u0430\u0439\u0442. textarea=\u0421\u043E\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430 diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_sq.properties index c6c517d93b263123ccb925623863186e4e757411..e685e5c4f3bddce86942ba22e7ce377b0df5bf79 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_sq.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_sq.properties @@ -1,3 +1,3 @@ #Sun Apr 26 13:07:44 CEST 2009 -plaintext.error.tolarge=Ky dokument nuk mund t\u00EB hapet pasi q\u00EB \u00EBsht\u00EB shum\u00EB i madh ({0} KB). Skedar\u00EBt e lejuar jan\u00EB deri n\u00EB 500 KB. +plaintext.error.tolarge=Ky dokument nuk mund t\u00EB hapet pasi q\u00EB \u00EBsht\u00EB shum\u00EB i madh ({0} KB). Skedar\u00EBt e lejuar jan\u00EB deri n\u00EB {1} KB. textarea=P\u00EBrmbajtja e dokumentit diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_vi.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_vi.properties index f72fbd4c0340caa6d06faf3a12d855438ec80e15..aa208633c0ac110c46ec70d6b2aa19b1f5d9e5d8 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_vi.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_vi.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:53:58 CET 2009 -plaintext.error.tolarge=<span class\="b_translation_i18nitem"><a class\="b_translation_i18nitem_launcher" style\="display\:none" href\="/translation/auth/2%3A3%3A1000018715%3A1%3A0%3Abundle%3Aorg.olat.core.commons.controllers.editor.plaintexteditor%3Akey%3Aplaintext.error.tolarge%3Aid%3A1000025383/" title\="Please translate the text fragment 'org.olat.core.commons.controllers.editor.plaintexteditor\:plaintext.error.tolarge\:1000025383'"></a>T\u00E0i li\u1EC7u n\u00E0y kh\u00F4ng th\u1EC3 m\u1EDF \u0111\u01B0\u1EE3c b\u1EDFi v\u00EC qu\u00E1 l\u1EDBn ({0} KB). Cho ph\u00E9p c\u00E1c t\u1EC7p tin c\u00F3 k\u00EDch th\u01B0\u1EDBc t\u1ED1i \u0111a 500 KB.</span> +plaintext.error.tolarge=<span class\="b_translation_i18nitem"><a class\="b_translation_i18nitem_launcher" style\="display\:none" href\="/translation/auth/2%3A3%3A1000018715%3A1%3A0%3Abundle%3Aorg.olat.core.commons.controllers.editor.plaintexteditor%3Akey%3Aplaintext.error.tolarge%3Aid%3A1000025383/" title\="Please translate the text fragment 'org.olat.core.commons.controllers.editor.plaintexteditor\:plaintext.error.tolarge\:1000025383'"></a>T\u00E0i li\u1EC7u n\u00E0y kh\u00F4ng th\u1EC3 m\u1EDF \u0111\u01B0\u1EE3c b\u1EDFi v\u00EC qu\u00E1 l\u1EDBn ({0} KB). Cho ph\u00E9p c\u00E1c t\u1EC7p tin c\u00F3 k\u00EDch th\u01B0\u1EDBc t\u1ED1i \u0111a {1} KB.</span> textarea=<span class\="b_translation_i18nitem"><a class\="b_translation_i18nitem_launcher" style\="display\:none" href\="/translation/auth/2%3A3%3A1000018715%3A1%3A0%3Abundle%3Aorg.olat.core.commons.controllers.editor.plaintexteditor%3Akey%3Atextarea%3Aid%3A1000025395/" title\="Please translate the text fragment 'org.olat.core.commons.controllers.editor.plaintexteditor\:textarea\:1000025395'"></a>N\u1ED9i dung t\u00E0i li\u1EC7u</span> diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_CN.properties index 54c9b4142eea2169e56a784bd25777969830927b..a72a39b41567b6faabbabb52fbdce24a0fcec39f 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_CN.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_CN.properties @@ -1,3 +1,3 @@ #Tue Sep 22 07:19:55 CEST 2009 -plaintext.error.tolarge=\u672C\u6587\u6863\u4E0D\u80FD\u6253\u5F00\u662F\u56E0\u4E3A\u5176\u8FC7\u5927({0}KB)\u3002\u672C\u7CFB\u7EDF\u5141\u8BB8\u7684\u6587\u4EF6\u5927\u5C0F\u4E3A<\=500KB +plaintext.error.tolarge=\u672C\u6587\u6863\u4E0D\u80FD\u6253\u5F00\u662F\u56E0\u4E3A\u5176\u8FC7\u5927({0}KB)\u3002\u672C\u7CFB\u7EDF\u5141\u8BB8\u7684\u6587\u4EF6\u5927\u5C0F\u4E3A<\={1} KB textarea=\u6587\u6863\u7684\u5185\u5BB9 diff --git a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_TW.properties index c8cacd09135500867b080d1646ee9791e2f21d61..4321222729e816cedd3b53d856473dab6696cc95 100644 --- a/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_TW.properties +++ b/src/main/java/org/olat/core/commons/editor/plaintexteditor/_i18n/LocalStrings_zh_TW.properties @@ -1,3 +1,3 @@ #Mon Mar 02 09:54:05 CET 2009 -plaintext.error.tolarge=\u9019\u500B\u6587\u4EF6\u7121\u6CD5\u88AB\u958B\u555F\uFF0C\u56E0\u70BA\u4ED6\u592A\u5927\u4E86 ({0} KB)\u3002\u5141\u8A31\u7684\u6A94\u6848\u6848\u5927\u5C0F\u6700\u5927\u662F 500 KB\u3002 +plaintext.error.tolarge=\u9019\u500B\u6587\u4EF6\u7121\u6CD5\u88AB\u958B\u555F\uFF0C\u56E0\u70BA\u4ED6\u592A\u5927\u4E86 ({0} KB)\u3002\u5141\u8A31\u7684\u6A94\u6848\u6848\u5927\u5C0F\u6700\u5927\u662F {1} KB\u3002 textarea=\u6587\u4EF6\u5167\u5BB9 diff --git a/src/main/java/org/olat/core/commons/modules/bc/FolderConfig.java b/src/main/java/org/olat/core/commons/modules/bc/FolderConfig.java index 4fa657b47ad73233bb048639efe47a963d8c935f..a1ad7c989f80b1ecbd49687d60f8861127c689bb 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/FolderConfig.java +++ b/src/main/java/org/olat/core/commons/modules/bc/FolderConfig.java @@ -54,6 +54,7 @@ public class FolderConfig { private static long limitULKB = LIMITULKB_DEFAULT; private static long quotaKB = QUOTAKB_DEFAULT; + private static long editFileSizeLimit; private static final String META_DIR = "/.meta"; private static final String TMP_DIR = "/tmp"; private static final String VERSION_DIR = "/.version"; @@ -170,6 +171,16 @@ public class FolderConfig { public static String getRelativeTmpDir() { return TMP_DIR; } + + /** + * Returns the max File-Size in _Bytes_ that is allowed for online-editing. + * (plaintext and html wysiwyg editor) + * + * @return + */ + public static long getMaxEditSizeLimit(){ + return editFileSizeLimit; + } /* ================= Setters ================ */ @@ -182,6 +193,13 @@ public class FolderConfig { limitULKB = newLimitULKB; } + /** + * + */ + public static void setMaxEditSizeLimit(long sizelimit) { + editFileSizeLimit = sizelimit; + } + /** * Sets the userHomes. * @param newUserHomes The userHomes to set diff --git a/src/main/java/org/olat/core/commons/modules/bc/FolderModule.java b/src/main/java/org/olat/core/commons/modules/bc/FolderModule.java index 47121b2487c46b2a7e5a51edb758c1801562caf6..9ef16f148fe8224f223a6a5aa258a30278e0db3a 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/FolderModule.java +++ b/src/main/java/org/olat/core/commons/modules/bc/FolderModule.java @@ -45,6 +45,7 @@ public class FolderModule extends AbstractOLATModule { OLog log = Tracing.createLoggerFor(FolderModule.class); private static final String CONFIG_ROOT = "Root"; private static final String CONFIG_LIMITULMB = "LimitULMB"; + private static final String CONFIG_EDITFILESIZELIMIT = "EditFileSizeLimit"; private static final String CONFIG_QUOTAMB = "QuotaMB"; private static final String CONFIG_SENDDOCLINKONLY = "SendDocLinkOnly"; private static final String CONFIG_SENDDOCTOEXTERN = "SendDocToExtern"; @@ -73,6 +74,9 @@ public class FolderModule extends AbstractOLATModule { log.info("Folder root set to '" + FolderConfig.getCanonicalRoot() + "'."); + int maxEditSizeLimit = getIntConfigParameter(CONFIG_EDITFILESIZELIMIT, 524288); + FolderConfig.setMaxEditSizeLimit(maxEditSizeLimit); + // Set maximum upload filesize int maxULMB =getIntConfigParameter(CONFIG_LIMITULMB, 100); FolderConfig.setLimitULKB(maxULMB * 1024); diff --git a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties index 4c6431b425725dae09d2306aaaabb9e0fcfc8fd7..bd5e336db42b9c3866d509ea938ad098cf197aec 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_en.properties @@ -7,6 +7,7 @@ FileMoveCopyFailed=Files/folders <b>{0}</b> could not be moved/copied. FileRenameFailed=File <b>{0}</b> could not be renamed. FileUnzipFailed=File <b>{0}</b> could not be unzipped. FileUnzipped=File <b>{0}</b> unzipped successfully. +FileEditFailed=This file could not be opened in an editor. Locked=Locked by {1} {0} on {2} NoFileChoosen=No file has been uploaded. NoFileChosen=No file selected diff --git a/src/main/java/org/olat/core/commons/modules/bc/_spring/folderModuleCorecontext.xml b/src/main/java/org/olat/core/commons/modules/bc/_spring/folderModuleCorecontext.xml index a7cd1791b99e52d49dcbd9611b66a5ccd6425d17..8cdd9d3e9833a6e912d37b6376ea932a699c6f76 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_spring/folderModuleCorecontext.xml +++ b/src/main/java/org/olat/core/commons/modules/bc/_spring/folderModuleCorecontext.xml @@ -31,6 +31,8 @@ SendDocToExtern=${folder.sendDocumentToExtern} <!-- Restrict sending document to links to enforce authentication --> SendDocLinkOnly=${folder.sendDocumentLinkOnly} + <!-- max edit filesize for online-editing in Bytes --> + EditFileSizeLimit=524288 </value> </property> </bean> diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditContent.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditContent.java index c2ebc889464426136ac4a793ebb4663fc7df0545..bbc207a9a3deaf6b70249313e42e4c478f732bc4 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditContent.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditContent.java @@ -90,8 +90,15 @@ public class CmdEditContent extends BasicController implements FolderCommand { if(status == FolderCommandStatus.STATUS_FAILED) { return null; } - else if (!(currentItem instanceof VFSLeaf)) { - throw new AssertException("Invalid file: " + folderComponent.getCurrentContainerPath() + "/" + currentItem.getName()); + + // do fileEditSanityCheck + // OO-57 + status = FolderCommandHelper.fileEditSanityCheck(currentItem); + if (status == FolderCommandStatus.STATUS_FAILED) { + // this should no longer happen, since folderComponent -> ListRenderer does not display edit-link for folders + logWarn("Given VFSItem is not a file, can't edit it: "+folderComponent.getCurrentContainerPath() + "/" + currentItem.getName(),null); + getWindowControl().setError(translator.translate("FileEditFailed")); + return null; } if(MetaInfoHelper.isLocked(currentItem, ureq)) { diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/FolderCommandHelper.java b/src/main/java/org/olat/core/commons/modules/bc/commands/FolderCommandHelper.java index f64484a038171fd999a108b04fbc5ec5c6bf979e..e21d5ebc537a76eb1c5c39f99aa38c74e27a090c 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/FolderCommandHelper.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/FolderCommandHelper.java @@ -26,6 +26,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.WindowControl; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; +import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSManager; /** @@ -73,6 +74,26 @@ public class FolderCommandHelper { return FolderCommandStatus.STATUS_SUCCESS; } + /** + * Checks whether the given VFSItem is valid for online-editing.<br /> + * Checks whether the file is a VFSLeaf see: OO-57 + * + * notice: htmlEditor and plaintext editor check for file-size and show + * appropriate message to user + * + * @param currentItem + * the VFSItem to check + * @return Returns STATUS_FAILED if item is a directory. Returns + * STATUS_SUCCESS if vfsItem is a leaf + */ + public static final int fileEditSanityCheck(VFSItem currentItem) { + if ((currentItem instanceof VFSLeaf)) { + return FolderCommandStatus.STATUS_SUCCESS; + } else { + return FolderCommandStatus.STATUS_FAILED; + } + } + /** * Check if a FileSelection exist * @param wControl diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java index 4e98fcb39fc376c5d5109150903452a2e7b69b93..120de7a6168c1c6d65d668cbb741c2a399f12108 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java +++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java @@ -422,7 +422,8 @@ public class ListRenderer { // content edit action String nameLowerCase = name.toLowerCase(); - if (!lockedForUser && (nameLowerCase.endsWith(".html") || nameLowerCase.endsWith(".htm") || nameLowerCase.endsWith(".txt") || nameLowerCase.endsWith(".css"))) { + boolean isLeaf= (child instanceof VFSLeaf); // OO-57 only display edit link if it's not a folder + if (isLeaf && !lockedForUser && (nameLowerCase.endsWith(".html") || nameLowerCase.endsWith(".htm") || nameLowerCase.endsWith(".txt") || nameLowerCase.endsWith(".css") || nameLowerCase.endsWith(".csv "))) { sb.append("<a href=\""); ubu.buildURI(sb, new String[] { PARAM_CONTENTEDITID }, new String[] { Integer.toString(pos) }, iframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME