Änderungen von Dokument Button

Zuletzt geändert von xwikiadmin am 2024/06/24 15:04

Von Version 1.1
bearbeitet von xwikiadmin
am 2022/08/11 17:55
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.3]
Auf Version 2.1
bearbeitet von xwikiadmin
am 2023/04/25 11:27
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]

Zusammenfassung

Details

XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -24,42 +24,56 @@
24 24   #fff
25 25   #end
26 26  #end
27 +#macro (executeMacro)
28 + ## Retrieve macro parameters
29 + #set ($label = $escapetool.xml($wikimacro.parameters.label))
30 + #set ($url = $escapetool.xml($wikimacro.parameters.url))
31 + #set ($color = $wikimacro.parameters.color)
32 + #set ($width = $escapetool.xml($wikimacro.parameters.width))
33 + #set ($newTab = $escapetool.xml($wikimacro.parameters.newTab))
34 + #set ($icon = $escapetool.xml($xcontext.macro.params.icon))
35 + ## Resolve the url as a Wiki Document if it exists, else assume it is an external link
36 + #if ($xwiki.exists($url))
37 + #set ($url = $xwiki.getDocument($url).getURL())
38 + #end
39 + ## The color will be a java.awt.Color object
40 + ## Transform it into an array of Integers for better malleability: [x, y, z]
41 + #if ($color)
42 + #set ($colors = [$color.Red, $color.Green, $color.Blue])
43 + #else
44 + #set ($colors = [255, 255, 255])
45 + #end
46 + #set ($darkenedColors = [])
47 + #darken($colors, $darkenedColors)
48 + {{html clean=false}}
49 + <a href="$url" #if($newTab == 'true')target="_blank"#end>
50 + <button
51 + style="
52 + background-color: #toCssRGB($colors);
53 + border-color: #toCssRGB($darkenedColors);
54 + color: #fontColor($colors);
55 + width: $!width;
56 + "
57 + class="btn">
58 + $!services.icon.renderHTML($!icon)
59 + $label
60 + </button>
61 + </a>
62 + {{/html}}
63 +#end
27 27  {{/velocity}}
28 28  
66 +{{include reference="Licenses.Code.VelocityMacros"/}}
67 +
29 29  {{velocity}}
30 -## Retrieve macro parameters
31 -#set ($label = $escapetool.xml($wikimacro.parameters.label))
32 -#set ($url = $escapetool.xml($wikimacro.parameters.url))
33 -#set ($color = $wikimacro.parameters.color)
34 -#set ($width = $escapetool.xml($wikimacro.parameters.width))
35 -#set ($newTab = $escapetool.xml($wikimacro.parameters.newTab))
36 -#set ($icon = $escapetool.xml($xcontext.macro.params.icon))
37 -## Resolve the url as a Wiki Document if it exists, else assume it is an external link
38 -#if ($xwiki.exists($url))
39 - #set ($url = $xwiki.getDocument($url).getURL())
40 -#end
41 -## The color will be a java.awt.Color object
42 -## Transform it into an array of Integers for better malleability: [x, y, z]
43 -#if ($color)
44 - #set ($colors = [$color.Red, $color.Green, $color.Blue])
69 +## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right
70 +## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that
71 +## don't have view right on those pages.
72 +#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference))
73 + #executeMacro
45 45  #else
46 - #set ($colors = [255, 255, 255])
75 + {{error}}
76 + #getMissingLicenseMessage('proMacros.extension.name')
77 + {{/error}}
47 47  #end
48 -#set ($darkenedColors = [])
49 -#darken($colors, $darkenedColors)
50 -{{html clean=false}}
51 -<a href="$url" #if($newTab == 'true')target="_blank"#end>
52 - <button
53 - style="
54 - background-color: #toCssRGB($colors);
55 - border-color: #toCssRGB($darkenedColors);
56 - color: #fontColor($colors);
57 - width: $!width;
58 - "
59 - class="btn">
60 - $!services.icon.renderHTML($!icon)
61 - $label
62 - </button>
63 -</a>
64 -{{/html}}
65 65  {{/velocity}}