Last modified by Frank Fock on 2025/01/26 23:11

From version 1.1
edited by Frank Fock
on 2024/02/07 18:16
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros/1.14.3]
To version 2.1
edited by Frank Fock
on 2024/05/23 17:17
Change comment: Install extension [com.xwiki.pro:xwiki-pro-macros/1.17.3]

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,13 +1,26 @@
1 -{{velocity}}
2 -#set ($hasPDFViewer = $xwiki.exists('XWiki.PDFViewerMacro'))
3 -#set ($unescapedFilename = $xcontext.macro.params.get('att--filename'))
4 -#if (!$unescapedFilename)
5 - #set ($unescapedFilename = $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 -#set($escapedFilename = $services.rendering.escape($unescapedFilename, $xwiki.currentContentSyntaxId))
8 -#if ($hasPDFViewer)
9 - {{pdfviewer file="$escapedFilename" /}}
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
10 10  #else
11 - {{office reference="$escapedFilename" /}}
24 + {{missingLicenseMessage extensionName="proMacros.extension.name"/}}
12 12  #end
13 13  {{/velocity}}