Last modified by Yana Oksner on 2025/07/18 12:19

From 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]
To 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]

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,12 +1,26 @@
1 -{{velocity}}
2 -#set ($hasPDFViewer = $xwiki.exists('XWiki.PDFViewerMacro'))
3 -#set ($filename = $xcontext.macro.params.get('att--filename'))
4 -#if (!$filename)
5 - #set ($filename = $xcontext.macro.params.get('name'))
1 +{{velocity output="false"}}
2 +#macro (executeMacro)
3 + #set ($hasPDFViewer = $xwiki.exists('XWiki.PDFViewerMacro'))
4 + #set ($unescapedFilename = $xcontext.macro.params.get('att--filename'))
5 + #if (!$unescapedFilename)
6 + #set ($unescapedFilename = $xcontext.macro.params.get('name'))
7 + #end
8 + #set($escapedFilename = $services.rendering.escape($unescapedFilename, $xwiki.currentContentSyntaxId))
9 + #if ($hasPDFViewer)
10 + {{pdfviewer file="$escapedFilename" /}}
11 + #else
12 + {{office reference="$escapedFilename" /}}
13 + #end
6 6  #end
7 -#if ($hasPDFViewer)
8 - {{pdfviewer file="$filename" /}}
15 +{{/velocity}}
16 +
17 +{{velocity}}
18 +## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
19 +## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
20 +## don't have view right on those pages.
21 +#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))
22 + #executeMacro
9 9  #else
10 - {{office reference="$filename" /}}
24 + {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
11 11  #end
12 12  {{/velocity}}
XWiki.WikiMacroParameterClass[0]
Parameter mandatory
... ... @@ -1,0 +1,1 @@
1 +Yes