Änderungen von Dokument View File Macro

Zuletzt geändert von xwikiadmin am 2025/01/07 11:39

Von Version 1.1
bearbeitet von xwikiadmin
am 2022/02/23 10:52
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.2.1]
Auf Version 3.1
bearbeitet von xwikiadmin
am 2023/04/25 10:54
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]

Zusammenfassung

Details

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