Исходный код вики CommentsManager

Редактировал(а) Dmitriy Rybakov 05.08.2025, 13:07

Последние авторы
1 {{velocity}}
2 #if(! $request.delete)
3 {{info}}This app intends to show every comment and delete them if needed.{{/info}}
4
5 #set($xwql = "select obj.author,obj.date,obj.comment,doc.space,obj.id,doc.name from Document doc, doc.object(XWiki.XWikiComments) as obj where doc.translation = 0 order by obj.date DESC")
6 #set($results = $services.query.xwql($xwql).execute())
7 $results.size() comments in this wiki, most recent first:
8
9 {{html wiki=true}}
10 <form action="" method="get">
11 <table>
12 <tr><td>
13 <input type="submit" value="Delete selected comments">
14 </td></tr>
15
16 #foreach($row in $results)
17 #foreach($col in $row)
18 #if ($velocityCount == 1)
19 #set($author = $col)
20 #elseif ($velocityCount == 2)
21 #set($date = $col)
22 #elseif ($velocityCount == 3)
23 #set($comment = $col)
24 #elseif ($velocityCount == 4)
25 #set($space = $col)
26 #elseif ($velocityCount == 5)
27 #set($id = $col)
28 #elseif ($velocityCount == 6)
29 #set($page = $col)
30 #end
31 #end
32 <tr><td>
33 Comment on [[$space.$page]] by [[$author]] on $date:<br/>
34 $comment<br/>
35 #set($path = "$space;$page;$author")
36 <input type="checkbox" name='delete' value="$path">Delete this comment</input>
37 </td></tr>
38 #end
39
40 <tr><td>
41 <input type="submit" value="Delete selected comments"/>
42 </td></tr>
43
44 </table>
45 </form>
46 {{/html}}
47
48 #else
49
50 #set($comsToDelete = $request.getParameterValues("delete"))
51 Deleting $comsToDelete.size() comments ...
52
53 #foreach($compath in $comsToDelete)
54 #set($space = $compath.split(';')[0])
55 #set($page = $compath.split(';')[1])
56 #set($author = $compath.split(';')[2])
57 #set($docRef = $services.model.createDocumentReference('',$space,$page))
58 #set($doc = $xwiki.getDocument($docRef))
59 #set($obj = $doc.getObject('XWiki.XWikiComments','author',"$author"))
60 #if($obj)
61 #set($bool = $doc.removeObject($obj))
62 #if($bool == "true")
63 * {{success}}Comment on page $page from author $author has been deleted successfully.{{/success}}
64 $doc.save()
65 #else
66 * {{error}}Comment on page $page hasn't been deleted properly...{{/error}}
67 #end
68 #else
69 * {{error}}Comment on page $page not found :({{/error}}
70 #end
71 #end
72 #end
73
74 {{/velocity}}