Changes for page View File Macro

Last modified by Yana Oksner on 2025/04/30 10:28

From version 3.1
edited by Yana Oksner
on 2024/02/23 13:49
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros/1.15.0]
To version 1.1
edited by Yana Oksner
on 2023/11/13 11:24
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros/1.9.2]

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -2,24 +2,25 @@
2 2  #macro (executeMacro)
3 3   #set($hasPDFViewer = $xwiki.exists("XWiki.PDFViewerMacro"))
4 4   #set($officeExtensions = [ 'ppt', 'pptx', 'odp', 'doc', 'docx', 'odt', 'xls', 'xlsx', 'ods' ])
5 - #set($unescapedFilename = $xcontext.macro.params.get('att--filename'))
6 - #if(!$unescapedFilename)
7 - #set($unescapedFilename = $xcontext.macro.params.get('name'))
5 + #set($filename = $xcontext.macro.params.get('att--filename'))
6 + #if(!$filename)
7 + #set($filename = $xcontext.macro.params.get('name'))
8 8   #end
9 - #set($extension = $unescapedFilename.substring($mathtool.add($unescapedFilename.lastIndexOf('.'), 1)).toLowerCase())
10 - #set($escapedFilename = $services.rendering.escape($unescapedFilename, $xwiki.currentContentSyntaxId))
9 + #set($extension = $filename.substring($mathtool.add($filename.lastIndexOf('.'), 1)).toLowerCase())
11 11   #if($extension == 'pdf' && $hasPDFViewer)
12 12  
13 - {{pdfviewer file="$escapedFilename" /}}
12 + {{pdfviewer file="${filename}" /}}
14 14   #elseif($officeExtensions.contains($extension))
15 15  
16 - {{office reference="attach:$escapedFilename" /}}
17 - #elseif($doc.getAttachment($unescapedFilename))
18 - [[attach:$escapedFilename]]
15 + {{office reference="attach:${filename}" /}}
16 + #elseif($doc.getAttachment($filename))
17 + [[attach:${filename}]]
19 19   #end
20 20  #end
21 21  {{/velocity}}
22 22  
22 +{{include reference="Licenses.Code.VelocityMacros"/}}
23 +
23 23  {{velocity}}
24 24  ## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
25 25  ## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
... ... @@ -27,6 +27,8 @@
27 27  #if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))
28 28   #executeMacro
29 29  #else
30 - {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
31 + {{error}}
32 + #getMissingLicenseMessage('proMacros.extension.name')
33 + {{/error}}
31 31  #end
32 32  {{/velocity}}
XWiki.WikiMacroParameterClass[0]
Parameter mandatory
... ... @@ -1,1 +1,0 @@
1 -Yes