Wiki source code of Tags

Version 1.1 by Administrator on 2009/01/30 17:26

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