Skip to content
Snippets Groups Projects
Commit 9bade389 authored by srosse's avatar srosse
Browse files

Merge remote-tracking branch 'origin/OpenOLAT_14.1'

parents 3dc350b8 56270cc7
No related branches found
No related tags found
No related merge requests found
Showing
with 40 additions and 21 deletions
...@@ -49,7 +49,8 @@ import org.olat.course.editor.NodeEditController; ...@@ -49,7 +49,8 @@ import org.olat.course.editor.NodeEditController;
*/ */
public class DeliveryOptionsConfigurationController extends FormBasicController { public class DeliveryOptionsConfigurationController extends FormBasicController {
private DeliveryOptions config, parentConfig; private DeliveryOptions config;
private DeliveryOptions parentConfig;
private SingleSelection inheritEl; private SingleSelection inheritEl;
private SingleSelection standardModeEl; private SingleSelection standardModeEl;
...@@ -201,6 +202,7 @@ public class DeliveryOptionsConfigurationController extends FormBasicController ...@@ -201,6 +202,7 @@ public class DeliveryOptionsConfigurationController extends FormBasicController
"1300px", "1320px", "1340px", "1360px", "1380px" "1300px", "1320px", "1340px", "1360px", "1380px"
}; };
heightEl = uifactory.addDropdownSingleselect("height", "height.label", formLayout, keys, values, null); heightEl = uifactory.addDropdownSingleselect("height", "height.label", formLayout, keys, values, null);
heightEl.setExampleKey("automatic.need.js", null);
String[] cssValues = new String[] { String[] cssValues = new String[] {
translate("option.css.none"), translate("option.css.openolat") translate("option.css.none"), translate("option.css.openolat")
...@@ -319,7 +321,7 @@ public class DeliveryOptionsConfigurationController extends FormBasicController ...@@ -319,7 +321,7 @@ public class DeliveryOptionsConfigurationController extends FormBasicController
if(cfg != null && cfg.getOpenolatCss() != null && cfg.getOpenolatCss().booleanValue()) { if(cfg != null && cfg.getOpenolatCss() != null && cfg.getOpenolatCss().booleanValue()) {
cssOptionEl.select(cssKeys[1], true); cssOptionEl.select(cssKeys[1], true);
} else { } else {
cssOptionEl.select(cssKeys[0], false);//default none cssOptionEl.select(cssKeys[0], true);//default none
} }
String encodingContent = (cfg == null ? null : cfg.getContentEncoding()); String encodingContent = (cfg == null ? null : cfg.getContentEncoding());
...@@ -348,19 +350,27 @@ public class DeliveryOptionsConfigurationController extends FormBasicController ...@@ -348,19 +350,27 @@ public class DeliveryOptionsConfigurationController extends FormBasicController
if(!isInherit()) { if(!isInherit()) {
glossarEl.clearError(); glossarEl.clearError();
if(glossarEl.isAtLeastSelected(1)) { if(glossarEl.isAtLeastSelected(1) && !jsOptionEl.isSelected(1)) {
if(!jsOptionEl.isSelected(1)) { allOk &= false;
allOk &= false; glossarEl.setErrorKey("glossary.need.jQuery", null);
glossarEl.setErrorKey("glossary.need.jQuery", null);
}
}
heightEl.clearError();
if(heightEl.isSelected(0)
&& (standardModeEl.isSelected(0) || jsOptionEl.isSelected(0))) {
heightEl.setErrorKey("automatic.need.js", null);
allOk = false;
} }
allOk &= validateDropdown(jsOptionEl);
allOk &= validateDropdown(heightEl);
allOk &= validateDropdown(cssOptionEl);
allOk &= validateDropdown(encodingContentEl);
allOk &= validateDropdown(encodingJSEl);
}
return allOk;
}
private boolean validateDropdown(SingleSelection element) {
boolean allOk = true;
element.clearError();
if(element.isEnabled() && !element.isOneSelected()) {
element.setErrorKey("form.general.error", null);
allOk &= false;
} }
return allOk; return allOk;
......
...@@ -25,4 +25,4 @@ inherit.label=Standardwerte \u00FCbernehmen ...@@ -25,4 +25,4 @@ inherit.label=Standardwerte \u00FCbernehmen
inherit=Aus Layouteinstellungen der Lernressource \u00FCbernehmen inherit=Aus Layouteinstellungen der Lernressource \u00FCbernehmen
custom=Anpassen custom=Anpassen
glossary.need.jQuery=Glossar braucht jQuery glossary.need.jQuery=Glossar braucht jQuery
automatic.need.js=Automatic braucht javascript automatic.need.js=Automatic funktioniert besser mit Javascript
#Thu Sep 03 11:09:03 CEST 2015 #Thu Sep 03 11:09:03 CEST 2015
automatic.need.js=Automatic needs javascript automatic.need.js=Automatic works better with Javascript enabled.
command.download=Download file command.download=Download file
custom=Modify custom=Modify
encoding.auto=Automatically encoding.auto=Automatically
......
#Sun Nov 29 10:58:54 CET 2015 #Sun Nov 29 10:58:54 CET 2015
automatic.need.js=Automatique \u00E0 besoin de javascript automatic.need.js=Automatique fonctionne de mani\u00E8re optimale avec Javascript
command.download=T\u00E9l\u00E9charger fichier command.download=T\u00E9l\u00E9charger fichier
custom=Modifi\u00E9 custom=Modifi\u00E9
encoding.auto=Automatiquement encoding.auto=Automatiquement
......
#Thu Jun 23 10:44:16 CEST 2016 #Thu Jun 23 10:44:16 CEST 2016
automatic.need.js=Automatico richiede javascript
command.download=Scaricare file command.download=Scaricare file
custom=Modificare custom=Modificare
encoding.auto=Automaticamente encoding.auto=Automaticamente
......
#Mon Feb 08 20:04:53 CET 2016 #Mon Feb 08 20:04:53 CET 2016
automatic.need.js=Automaticamente precisa de javascript
command.download=Download command.download=Download
custom=Modificar custom=Modificar
encoding.auto=Automaticamente encoding.auto=Automaticamente
......
#Sat Oct 08 10:07:07 CEST 2016 #Sat Oct 08 10:07:07 CEST 2016
automatic.need.js=\u81EA\u52A8\u5316\u9700\u8981javascript
command.download=\u4E0B\u8F7D command.download=\u4E0B\u8F7D
custom=\u4FEE\u6539 custom=\u4FEE\u6539
encoding.auto=\u81EA\u52A8 encoding.auto=\u81EA\u52A8
......
...@@ -61,6 +61,7 @@ import org.olat.repository.RepositoryManager; ...@@ -61,6 +61,7 @@ import org.olat.repository.RepositoryManager;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.security.ExplicitTypePermission;
/** /**
* The CP manager implementation. * The CP manager implementation.
...@@ -81,6 +82,11 @@ public class CPManagerImpl implements CPManager { ...@@ -81,6 +82,11 @@ public class CPManagerImpl implements CPManager {
private static XStream configXstream = XStreamHelper.createXStreamInstance(); private static XStream configXstream = XStreamHelper.createXStreamInstance();
static { static {
XStream.setupDefaultSecurity(configXstream);
Class<?>[] types = new Class[] {
CPPackageConfig.class, DeliveryOptions.class
};
configXstream.addPermission(new ExplicitTypePermission(types));
configXstream.alias("packageConfig", CPPackageConfig.class); configXstream.alias("packageConfig", CPPackageConfig.class);
configXstream.alias("deliveryOptions", DeliveryOptions.class); configXstream.alias("deliveryOptions", DeliveryOptions.class);
} }
......
...@@ -29,17 +29,18 @@ import java.io.FileOutputStream; ...@@ -29,17 +29,18 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import org.apache.logging.log4j.Logger;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.iframe.DeliveryOptions; import org.olat.core.gui.control.generic.iframe.DeliveryOptions;
import org.olat.core.id.OLATResourceable; import org.olat.core.id.OLATResourceable;
import org.apache.logging.log4j.Logger;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
import org.olat.core.util.xml.XStreamHelper; import org.olat.core.util.xml.XStreamHelper;
import org.olat.fileresource.FileResourceManager; import org.olat.fileresource.FileResourceManager;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.security.ExplicitTypePermission;
/** /**
...@@ -54,6 +55,11 @@ public class ScormMainManager { ...@@ -54,6 +55,11 @@ public class ScormMainManager {
private static final Logger log = Tracing.createLoggerFor(ScormMainManager.class); private static final Logger log = Tracing.createLoggerFor(ScormMainManager.class);
private static XStream configXstream = XStreamHelper.createXStreamInstance(); private static XStream configXstream = XStreamHelper.createXStreamInstance();
static { static {
XStream.setupDefaultSecurity(configXstream);
Class<?>[] types = new Class[] {
ScormPackageConfig.class, DeliveryOptions.class
};
configXstream.addPermission(new ExplicitTypePermission(types));
configXstream.alias("packageConfig", ScormPackageConfig.class); configXstream.alias("packageConfig", ScormPackageConfig.class);
configXstream.alias("deliveryOptions", DeliveryOptions.class); configXstream.alias("deliveryOptions", DeliveryOptions.class);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment