Ä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
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
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
-
... ... @@ -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}}