Version 3.1 by Vincent Massol on 2013/06/27 15:06

Show last authors
1 {{velocity}}
2 ##
3 ## Tag application.
4 ##
5 ## - See a Tag Cloud of all tags within the wiki.
6 ## - See all the pages tagged with the given tag.
7 ## - Rename a tag.
8 ## - Delete a tag.
9 ##
10 $xwiki.ssx.use('Main.Tags')##
11 ##
12 ## Set application variables (action and tag) from URL parameters.
13 ##
14 #set ($do = "$!{request.get('do')}")
15 #set ($tag = "$!{request.get('tag')}")
16 #set ($urlEscapedTag = $escapetool.url($tag))
17 #set ($htmlEscapedTag = $escapetool.xml($tag))
18 ##
19 ## Macro displayTagAppTitle. Display level1 title of this app.
20 ##
21 #macro (displayTagAppTitle $urlEscapedTag $htmlEscapedTag $displayButtons)
22 (% class="xapp" %)
23 = (% class="highlight tag" %)${tag}##
24 #if ($xwiki.hasAdminRights() && $displayButtons) ##
25 [[$services.localization.render('xe.tag.rename.link')>>||queryString="do=prepareRename&tag=${urlEscapedTag}" class="button rename" rel="nofollow"]] [[$services.localization.render('xe.tag.delete.link')>>||queryString="do=prepareDelete&tag=${urlEscapedTag}" class="button delete" rel="nofollow"]]##
26 #end
27 (%%) =
28 #end
29 ##
30 ## Switch between all possible actions:
31 ## viewTag, prepareRename, rename, prepareDelete, delete, default (Tag cloud)
32 ##
33 #if ($do == 'viewTag')
34 ##
35 ## View tag
36 ##
37 #displayTagAppTitle($urlEscapedTag $htmlEscapedTag true)
38 #if ("$!{request.get('renamedTag')}" != '')
39 {{info}}$services.localization.render('xe.tag.rename.success', ["//${request.get('renamedTag')}//"]){{/info}}
40
41 #end
42 #set ($list = $xwiki.tag.getDocumentsWithTag($tag))
43 {{container layoutStyle="columns"}}
44 (((
45 (% class="xapp" %)
46 === $services.localization.render('xe.tag.alldocs', ["//${tag}//"]) ===
47
48 {{html}}#displayDocumentList($list true $blacklistedSpaces){{/html}}
49 )))
50 (((
51 (% class="xapp" %)
52 === $services.localization.render('xe.tag.activity', ["//${tag}//"]) ===
53
54 {{activity tags="$tag" /}}
55 )))
56 {{/container}}
57 #elseif ($do == 'prepareRename')
58 ##
59 ## Prepare rename tag
60 ##
61 #displayTagAppTitle($urlEscapedTag $htmlEscapedTag false)
62 {{html}}
63 <form id="renameForm" action="$doc.getURL()" method="post">
64 <div>
65 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
66 <input name="do" type="hidden" value="renameTag" />
67 <input name="tag" type="hidden" value="$htmlEscapedTag" />
68 $services.localization.render('xe.tag.rename.renameto', [$htmlEscapedTag]) <input type="text" name="renameTo" /> <span class="buttonwrapper"><input type="submit" value="$services.localization.render('xe.tag.rename')" class="button"/></span><span class="buttonwrapper"><a href="$doc.getURL('view', "do=viewTag&tag=${urlEscapedTag}")" class="secondary button">Cancel</a></span>
69 </div>
70 </form>
71 {{/html}}
72 #elseif ($do == 'renameTag')
73 ##
74 ## Rename tag
75 ##
76 #set ($renameTo = "$!{request.get('renameTo')}")
77 #set ($success = false)
78 #if ($renameTo != '')
79 #set ($success = $xwiki.tag.renameTag($tag, $renameTo))
80 #end
81 #if ($success == true || $success == 'OK')
82 #set ($urlEscapedRenameTo = $escapetool.url($renameTo))
83 $response.sendRedirect($doc.getURL('view', "do=viewTag&tag=${urlEscapedRenameTo}&renamedTag=${urlEscapedTag}"))
84 #else
85 {{error}}$services.localization.render('xe.tag.rename.failure', ["//${tag}//", "//${renameTo}//"]){{/error}}
86 #end
87 #elseif ($do == 'prepareDelete')
88 ##
89 ## Prepare delete tag
90 ##
91 #displayTagAppTitle($urlEscapedTag $htmlEscapedTag false)
92 {{html}}
93 <form id="deleteForm" action="$doc.getURL()" method="post">
94 <div>
95 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
96 <input name="do" type="hidden" value="deleteTag" />
97 <input name="tag" type="hidden" value="$htmlEscapedTag" />
98 <span class="buttonwrapper"><input type="submit" value="$services.localization.render('xe.tag.delete', [$htmlEscapedTag])" class="button"/></span><span class="buttonwrapper"><a href="$doc.getURL('view', "do=viewTag&tag=${urlEscapedTag}")" class="secondary button">Cancel</a></span>
99 </div>
100 </form>
101 {{/html}}
102 #elseif ($do == 'deleteTag')
103 ##
104 ## Delete tag
105 ##
106 #set ($success = $xwiki.tag.deleteTag($tag))
107 #if ($success == true || $success == 'OK')
108 $response.sendRedirect($doc.getURL('view', "deletedTag=${urlEscapedTag}"))
109 #else
110 {{error}}$services.localization.render('xe.tag.delete.failure', ["//${tag}//"]){{/error}}
111 #end
112 #else
113 ##
114 ## View all tags (Tag Cloud)
115 ##
116 #set ($title = 'All Tags')
117 #if ("$!{request.get('deletedTag')}" != '')
118 {{info}}$services.localization.render('xe.tag.delete.success', ["//${request.get('deletedTag')}//"]){{/info}}
119
120 #end
121 {{tagcloud/}}
122 #end
123 #set ($displayDocExtra = false)
124 {{/velocity}}