Änderungen von Dokument View File Macro
Zuletzt geändert von xwikiadmin am 2025/01/07 12:27
Von Version 1.1
bearbeitet von xwikiadmin
am 2022/05/10 12:01
am 2022/05/10 12:01
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.2.2]
Auf Version 3.1
bearbeitet von xwikiadmin
am 2023/04/25 11:27
am 2023/04/25 11:27
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]
Zusammenfassung
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
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}}