Zuletzt geändert von xwikiadmin am 2025/01/07 12:27

Von Version 2.1
bearbeitet von xwikiadmin
am 2025/01/07 12:27
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-confluence-bridges-ui/1.25.4]
Auf Version 1.1
bearbeitet von xwikiadmin
am 2024/06/24 15:04
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros-confluence-bridges-ui/1.19.4]

Zusammenfassung

Details

XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -2,6 +2,15 @@
2 2  
3 3  {{velocity output=false}}
4 4  
5 +## See https://solr.apache.org/guide/solr/latest/query-guide/standard-query-parser.html#escaping-special-characters
6 +## And https://jira.xwiki.org/browse/XCOMMONS-2926
7 +#set ($solrSpecialChars = ['+', '-', '&&', '||', '!', '(', ')', '{', '}', '[', ']', '^', '"', '~', '*', '?', ':', '/', '\', ' '])
8 +#set ($escapedSolrSpecialChars = ['\+', '\-', '\&&', '\||', '\!', '\(', '\)', '\{', '\}', '\[', '\]', '\^', '\"', '\~', '\*', '\?', '\:', '\/', '\\', '\ '])
9 +
10 +#macro (escapeSolr $v)
11 +$stringtool.replaceEach($v, $solrSpecialChars, $escapedSolrSpecialChars)##
12 +#end
13 +
5 5  #macro (contentbylabellink $d)
6 6  <a href="$escapetool.xml($d.getURL('view'))">##
7 7  $escapetool.xml($d.getDisplayTitle())##
... ... @@ -8,6 +8,14 @@
8 8  </a>##
9 9  #end
10 10  
20 +#macro (getSpaceFacet $space)
21 +#set ($facetNumber = $space.getReversedReferenceChain().size() - 1)
22 +#if ($space.getRoot().getType().toString() == "WIKI"))
23 +#set ($facetNumber = $facetNumber - 1)
24 +#escapeSolr("$facetNumber/${serializer.serialize($space)}.")##
25 +#end
26 +#end
27 +
11 11  #macro (executeMacro)
12 12   #if ("$!xcontext.macro.params.title" != "")
13 13   **$services.rendering.escape($xcontext.macro.params.title, $xwiki.currentContentSyntaxId)**
... ... @@ -14,43 +14,41 @@
14 14   #end
15 15   #set ($results = $NULL)
16 16   #getCQLMacroResults($xcontext.macro $results)
17 - #if ($results != $NULL)
18 - #if ($results.empty)
19 - No results.
20 - #else
21 - #set ($tagsDoc = $xwiki.getDocument("Main.Tags"))
34 + #if ($results.empty)
35 + No results.
36 + #else
37 + #set ($tagsDoc = $xwiki.getDocument("Main.Tags"))
22 22  
23 - {{html clean=false}}
24 - <ul class="confluence-contentbylabel">
25 - #foreach ($r in $results)
26 - <li>
27 - <div class="xitemcontainer">
28 - $services.icon.renderHTML('page')
29 - #set ($d = $xwiki.getDocument($r.fullname))
30 - #contentbylabellink($d)
31 - #if ($xcontext.macro.params.showSpace != "false")
32 - #set ($confluenceSpace = $services.confluence.spaces.getConfluenceSpace($d))
33 - #if ("$!confluenceSpace" != "")
34 - &nbsp;(#contentbylabellink($xwiki.getDocument($confluenceSpace)))
35 - #end
39 + {{html clean=false}}
40 + <ul class="confluence-contentbylabel">
41 + #foreach ($r in $results)
42 + <li>
43 + <div class="xitemcontainer">
44 + $services.icon.renderHTML('page')
45 + #set ($d = $xwiki.getDocument($r.fullname))
46 + #contentbylabellink($d)
47 + #if ($xcontext.macro.params.showSpace != "false")
48 + #set ($confluenceSpace = $services.confluence.spaces.getConfluenceSpace($d))
49 + #if ("$!confluenceSpace" != "")
50 + &nbsp;(#contentbylabellink($xwiki.getDocument($confluenceSpace)))
36 36   #end
37 - #if ($xcontext.macro.params.showLabels != "false")
38 - <ul class="confluence-contentbylabel-taglist">
39 - #foreach ($tag in $r['property.XWiki.TagClass.tags_string'])
40 - <li>
41 - <a href='$escapetool.xml($tagsDoc.getURL("view", "do=viewTag&tag=$escapetool.url($tag)"))'>
42 - $escapetool.xml($tag)##
43 - </a>
44 - </li>
45 - #end
46 - </ul>
52 + #end
53 + #if ($xcontext.macro.params.showLabels != "false")
54 + <ul class="confluence-contentbylabel-taglist">
55 + #foreach ($tag in $r['property.XWiki.TagClass.tags_string'])
56 + <li>
57 + <a href='$escapetool.xml($tagsDoc.getURL("view", "do=viewTag&tag=$escapetool.url($tag)"))'>
58 + $escapetool.xml($tag)##
59 + </a>
60 + </li>
47 47   #end
48 - </il>
49 - #end
50 - </ul>
51 - {{/html}}
52 -
62 + </ul>
63 + #end
64 + </il>
53 53   #end
66 + </ul>
67 + {{/html}}
68 +
54 54   #end
55 55  #end
56 56  {{/velocity}}