Änderungen von Dokument View File Macro

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

Von Version 3.1
bearbeitet von xwikiadmin
am 2023/04/25 10:54
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]
Auf Version 5.1
bearbeitet von xwikiadmin
am 2023/10/26 09:38
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.12]

Zusammenfassung

Details

XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -2,19 +2,20 @@
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($filename = $xcontext.macro.params.get('att--filename'))
6 - #if(!$filename)
7 - #set($filename = $xcontext.macro.params.get('name'))
5 + #set($unescapedFilename = $xcontext.macro.params.get('att--filename'))
6 + #if(!$unescapedFilename)
7 + #set($unescapedFilename = $xcontext.macro.params.get('name'))
8 8   #end
9 - #set($extension = $filename.substring($mathtool.add($filename.lastIndexOf('.'), 1)).toLowerCase())
9 + #set($extension = $unescapedFilename.substring($mathtool.add($unescapedFilename.lastIndexOf('.'), 1)).toLowerCase())
10 + #set($escapedFilename = $services.rendering.escape($unescapedFilename, $xwiki.currentContentSyntaxId))
10 10   #if($extension == 'pdf' && $hasPDFViewer)
11 11  
12 - {{pdfviewer file="${filename}" /}}
13 + {{pdfviewer file="$escapedFilename" /}}
13 13   #elseif($officeExtensions.contains($extension))
14 14  
15 - {{office reference="attach:${filename}" /}}
16 - #elseif($doc.getAttachment($filename))
17 - [[attach:${filename}]]
16 + {{office reference="attach:$escapedFilename" /}}
17 + #elseif($doc.getAttachment($unescapedFilename))
18 + [[attach:$escapedFilename]]
18 18   #end
19 19  #end
20 20  {{/velocity}}