From 140d3417f1bb8078ff3065ef32c4df3a1528c697 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 8 Jul 2016 10:27:03 +0200 Subject: [PATCH] OO-2097: remove double // in meta info of files, remove _blank target for internal links --- .../olat/core/commons/modules/bc/commands/CmdEditMeta.java | 5 ++++- .../wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java | 4 +++- src/main/webapp/static/js/openolat/wiki.js | 6 ++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java index 35995dea582..771060e62d6 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java @@ -119,7 +119,10 @@ public class CmdEditMeta extends BasicController implements FolderCommand { private String getResourceURL(WindowControl wControl) { String path = "path=" + folderComponent.getCurrentContainerPath(); if(currentItem != null) { - path += "/" + currentItem.getName(); + if(path.charAt(path.length() - 1) != '/') { + path += currentItem.getName(); + } + path += currentItem.getName(); } OLATResourceable ores = OresHelper.createOLATResourceableTypeWithoutCheck(path); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, wControl); diff --git a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java index 2db789b8f2d..2b78d36222d 100644 --- a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java +++ b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java @@ -40,6 +40,7 @@ import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; +import org.olat.core.helpers.Settings; import org.olat.core.logging.OLATRuntimeException; import org.olat.core.util.Formatter; @@ -112,7 +113,8 @@ public class WikiMarkupRenderer extends DefaultComponentRenderer { sb.append("</div>"); //set targets of media, image and external links to target "_blank" sb.append("<script type=\"text/javascript\">/* <![CDATA[ */ "); - sb.append("changeAnchorTargets('").append(uniqueId).append("');"); + String instanceUrl = Settings.getServerContextPathURI(); + sb.append("changeAnchorTargets('").append(uniqueId).append("','").append(instanceUrl).append("');"); sb.append("/* ]]> */</script>"); } } diff --git a/src/main/webapp/static/js/openolat/wiki.js b/src/main/webapp/static/js/openolat/wiki.js index 43383f118c8..d4c3c1d3161 100644 --- a/src/main/webapp/static/js/openolat/wiki.js +++ b/src/main/webapp/static/js/openolat/wiki.js @@ -9,7 +9,7 @@ if (clientPC.indexOf('opera') != -1) { var is_opera_seven = (window.opera && document.childNodes); } -function changeAnchorTargets(id) { +function changeAnchorTargets(id, hostUrl) { jQuery('a', jQuery('#' + id)).each(function(index, el) { var anchor = jQuery(el); var openInNewWindow = false; @@ -28,7 +28,9 @@ function changeAnchorTargets(id) { //open media links in new window, but only if file exists if (anchor.attr("title")) { var href = anchor.attr("href"); - if (!anchor.attr("class") && anchor.attr("title").indexOf("Media:") != -1) { //normal media link file found + if(href.indexOf(hostUrl) == 0) { + openInNewWindow = false; + } else if (!anchor.attr("class") && anchor.attr("title").indexOf("Media:") != -1) { //normal media link file found openInNewWindow = true; //modify link to non ajax mode as opening in new window with ajax mode on fails if (href.indexOf(":1/") != -1) { -- GitLab