From a127440167f9564974e8d6d67855c697d6cce2b6 Mon Sep 17 00:00:00 2001 From: Eduard Moraru <Enygma2002@gmail.com> Date: Fri, 10 Jul 2015 19:53:31 +0300 Subject: [PATCH] XWIKI-12299: Deprecate XWiki.parseContent since it is misleading and outdated - Deprecaed both core and api methods - Replaced their usage in xwiki-plaform with #evaluate --- .../src/main/resources/flamingo/footer.vm | 3 ++- .../src/main/resources/flamingo/htmlheader.vm | 10 +++++++--- .../src/main/java/com/xpn/xwiki/XWiki.java | 4 ++++ .../src/main/java/com/xpn/xwiki/api/XWiki.java | 2 ++ .../src/main/webapp/templates/macros.vm | 2 +- .../src/main/webapp/templates/shareinline.vm | 3 ++- .../src/main/webapp/templates/xwikivars.vm | 2 +- 7 files changed, 19 insertions(+), 7 deletions(-) diff --git a/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/footer.vm b/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/footer.vm index faea495eac1..5202566a9d9 100644 --- a/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/footer.vm +++ b/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/footer.vm @@ -6,7 +6,8 @@ #set ($version = $xwiki.getXWikiPreference("version")) #end #if ("$!version" != "") - #set ($version = $xwiki.parseContent($version)) + ## The version information coming from preferences is usually Velocity code, so make sure to evaluate it. + #set ($version = "#evaluate($version)") #else #set ($version = $!xwiki.version) #end diff --git a/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/htmlheader.vm b/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/htmlheader.vm index 1c1707e358a..febdf00d519 100644 --- a/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/htmlheader.vm +++ b/xwiki-platform-core/xwiki-platform-flamingo/xwiki-platform-flamingo-skin/src/main/resources/flamingo/htmlheader.vm @@ -30,7 +30,10 @@ #if(!$title) #set($title = $!xwiki.getSpacePreference('title')) #if($title != '') - #set($title = "$escapetool.xml($xwiki.parseContent($title))") + ## Evaluate the title since it can have velocity code. + #set($title = "#evaluate($title)") + ## Don`t forget to escape it. + #set($title = "$escapetool.xml($title)") #else #set($title = "XWiki - $escapetool.xml($!doc.space) - $escapetool.xml($!tdoc.displayTitle)") #end @@ -78,9 +81,10 @@ ## --------------------------------------------------------------------------------------------------------------- <meta name="gwt:property" content="locale=$!{xcontext.language}" /> ## --------------------------------------------------------------------------------------------------------------- - ## Add user-defined Meta directives + ## Add user-defined Meta directives. ## --------------------------------------------------------------------------------------------------------------- - $xwiki.parseContent($!xwiki.getSpacePreference("meta")) + ## Note: Velocity code, so it needs to be evaluated. + #evaluate($!xwiki.getSpacePreference("meta")) ## --------------------------------------------------------------------------------------------------------------- ## Hook for inserting Link extensions. This will be replaced with the pulled link references. ## --------------------------------------------------------------------------------------------------------------- diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java index c5710901994..74c27857355 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java @@ -1761,6 +1761,10 @@ public <T> List<T> search(String sql, int nb, int start, Object[][] whereParams, return getStore().search(sql, nb, start, whereParams, context); } + /** + * @deprecated Since 7.2M1. Use specific rendering/parsing options for the content type you want to parse/render. + */ + @Deprecated public String parseContent(String content, XWikiContext xcontext) { return getOldRendering().parseContent(content, xcontext); diff --git a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/api/XWiki.java b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/api/XWiki.java index 4be79fc3de6..00f911afe93 100644 --- a/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/api/XWiki.java +++ b/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/api/XWiki.java @@ -800,7 +800,9 @@ public List<Document> wrapDocs(List<?> docs) * * @param content * @return evaluated content if the content contains velocity scripts + * @deprecated Since 7.2M1. Use specific rendering/parsing options for the content type you want to parse/render. */ + @Deprecated public String parseContent(String content) { return this.xwiki.parseContent(content, getXWikiContext()); diff --git a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/macros.vm b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/macros.vm index 8e4af241a7b..bf0b28b8c4d 100644 --- a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/macros.vm +++ b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/macros.vm @@ -190,7 +190,7 @@ $xwiki.getUserName("xwiki:${username}") #else </li> #end - <li class="tocEntry"><a href="#$tocEntry.key">$!tocEntry.value.numbering $xwiki.parseContent($tocEntry.value.text)</a> + <li class="tocEntry"><a href="#$tocEntry.key">$!tocEntry.value.numbering #evaluate($tocEntry.value.text)</a> #set ($lastLevel = $level) #set($openeditem = true) #end diff --git a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/shareinline.vm b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/shareinline.vm index ce791dc2eb2..674728b64b2 100644 --- a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/shareinline.vm +++ b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/shareinline.vm @@ -91,7 +91,8 @@ #set ($fullMessage = $xwiki.getDocument('XWiki.SharePage').getObject('XWiki.Mail', 'language', $xcontext.language, true).getProperty('html').value) #set ($fullMessage = $fullMessage.replace('${recipientName}', $services.localization.render('core.viewers.share.recipientPlaceholder'))) #set ($fullMessage = $fullMessage.replaceAll('<pre[^>]*+>[^<]*+</pre>', $message)) - #set ($fullMessage = $xwiki.parseContent($fullMessage)) + ## Evaluate the template's content since it contains Velocity code. + #set ($fullMessage = "#evaluate($fullMessage)") <dt><label for="message">$services.localization.render('core.viewers.share.messagePreviewLabel')</label></dt> <dd class='mail-preview'>$fullMessage</dd> diff --git a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/xwikivars.vm b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/xwikivars.vm index aed7fc2a2a3..1dfcd4cbfe5 100644 --- a/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/xwikivars.vm +++ b/xwiki-platform-core/xwiki-platform-web/src/main/webapp/templates/xwikivars.vm @@ -106,7 +106,7 @@ #end #set ($skin = $xwiki.getSkin()) ## Compute the copyright and evaluate its content with Velocity to allow users to put some scripts inside -#set ($copyright = $xwiki.parseContent($xwiki.getSpaceCopyright())) +#set ($copyright = "#evaluate($xwiki.getSpaceCopyright())") #set ($xwikimode = $xcontext.getMode()) #set ($logredir = $escapetool.xml($xwiki.relativeRequestURL)) ## -- GitLab