Skip to content
Snippets Groups Projects
Commit 33ef18dc authored by gnaegi's avatar gnaegi
Browse files

Merge OpenOLAT 10.2 to OpenOLAT default with 6f0535ce1dbe957887089a125717e6b4ae21b16a

parents 01cbe7ac eaa080dd
No related branches found
No related tags found
No related merge requests found
...@@ -41,6 +41,7 @@ import org.olat.core.CoreSpringFactory; ...@@ -41,6 +41,7 @@ import org.olat.core.CoreSpringFactory;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
import org.olat.core.dispatcher.DispatcherModule; import org.olat.core.dispatcher.DispatcherModule;
import org.olat.core.dispatcher.mapper.MapperService; import org.olat.core.dispatcher.mapper.MapperService;
import org.olat.core.dispatcher.mapper.manager.MapperKey;
import org.olat.core.gui.GlobalSettings; import org.olat.core.gui.GlobalSettings;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.Windows; import org.olat.core.gui.Windows;
...@@ -489,9 +490,10 @@ public class Window extends AbstractComponent { ...@@ -489,9 +490,10 @@ public class Window extends AbstractComponent {
// create a mapper which maps this mediaresource, and serves it once only // create a mapper which maps this mediaresource, and serves it once only
MediaResourceMapper extMRM = new MediaResourceMapper(); MediaResourceMapper extMRM = new MediaResourceMapper();
extMRM.setMediaResource(mmr); extMRM.setMediaResource(mmr);
String res = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), extMRM) + "/"; MapperKey mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), extMRM);
String resUrl = mapperKey.getUrl() + "/";
// e.g. res = /olat/m/10001/ // e.g. res = /olat/m/10001/
Command rmrcom = CommandFactory.createParentRedirectForExternalResource(res); Command rmrcom = CommandFactory.createParentRedirectForExternalResource(resUrl);
wbackofficeImpl.sendCommandTo(rmrcom); wbackofficeImpl.sendCommandTo(rmrcom);
if (isDebugLog) { if (isDebugLog) {
long durationAfterCreateMediaResourceMapper = System.currentTimeMillis() - debug_start; long durationAfterCreateMediaResourceMapper = System.currentTimeMillis() - debug_start;
......
...@@ -29,6 +29,7 @@ import org.olat.core.gui.util.CSSHelper; ...@@ -29,6 +29,7 @@ import org.olat.core.gui.util.CSSHelper;
import org.olat.core.logging.OLog; import org.olat.core.logging.OLog;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
import org.olat.core.util.FileUtils; import org.olat.core.util.FileUtils;
import org.olat.core.util.StringHelper;
import org.olat.core.util.io.ShieldInputStream; import org.olat.core.util.io.ShieldInputStream;
import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSLeaf;
import org.olat.search.service.SearchResourceContext; import org.olat.search.service.SearchResourceContext;
...@@ -87,16 +88,28 @@ public class WordOOXMLDocument extends FileDocument { ...@@ -87,16 +88,28 @@ public class WordOOXMLDocument extends FileDocument {
doc.setContent(0, dh.getContent()); doc.setContent(0, dh.getContent());
} else if(name.startsWith(HEADER) && name.endsWith(".xml")) { } else if(name.startsWith(HEADER) && name.endsWith(".xml")) {
String position = name.substring(HEADER.length(), name.indexOf(".xml")); String position = name.substring(HEADER.length(), name.indexOf(".xml"));
if(StringHelper.isLong(position)) {
OfficeDocumentHandler dh = new OfficeDocumentHandler(); try {
parse(new ShieldInputStream(zip), dh); OfficeDocumentHandler dh = new OfficeDocumentHandler();
doc.setHeader(Integer.parseInt(position), dh.getContent()); parse(new ShieldInputStream(zip), dh);
doc.setHeader(Integer.parseInt(position), dh.getContent());
} catch (NumberFormatException e) {
log.warn("", e);
//if position not a position, go head
}
}
} else if(name.startsWith(FOOTER) && name.endsWith(".xml")) { } else if(name.startsWith(FOOTER) && name.endsWith(".xml")) {
String position = name.substring(FOOTER.length(), name.indexOf(".xml")); String position = name.substring(FOOTER.length(), name.indexOf(".xml"));
if(StringHelper.isLong(position)) {
OfficeDocumentHandler dh = new OfficeDocumentHandler(); try {
parse(new ShieldInputStream(zip), dh); OfficeDocumentHandler dh = new OfficeDocumentHandler();
doc.setFooter(Integer.parseInt(position), dh.getContent()); parse(new ShieldInputStream(zip), dh);
doc.setFooter(Integer.parseInt(position), dh.getContent());
} catch (NumberFormatException e) {
log.warn("", e);
//if position not a position, go head
}
}
} }
entry = zip.getNextEntry(); entry = zip.getNextEntry();
} }
......
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