0 Votes

Wiki source code of Flag a Comment

Last modified by Ryan C on 2025/03/28 06:54

Show last authors
1 {{velocity}}
2 #set($discard = $xwiki.jsx.use('ForumCode.NewFlagSheet'))
3 = $services.localization.render('conversations.flag.dialog.header') =
4
5 #set($flagDocName = $xwiki.getUniquePageName('Flags', 'Flag'))
6 #set($flagDoc = $xwiki.getDocument("Flags.${flagDocName}"))
7 #set($discard = $flagDoc.setContent($xwiki.getDocument('ForumCode.FlagTemplate').content))
8 #set($discard = $flagDoc.setParent('Flags.WebHome'))
9 #set($discard = $flagDoc.setHidden(true))
10 #if(!$flagDoc.getObject('ForumCode.FlagClass'))
11 #set($discard = $flagDoc.newObject('ForumCode.FlagClass'))
12 #end
13 #set($discard = $flagDoc.use('ForumCode.FlagClass'))
14 #if($request.get('ForumCode.FlagClass_0_message') && $request.get('ForumCode.FlagClass_0_message').trim() != '' && $request.get('ForumCode.FlagClass_0_reason') != '')
15 #set($discard = $flagDoc.updateObjectFromRequest('ForumCode.FlagClass'))
16 #set($discard = $flagDoc.set('status', 'open'))
17 #set($discard = $flagDoc.setSpace('Flags'))
18 #set($discard = $flagDoc.saveWithProgrammingRights())
19 ## sending email
20 #set($emailRegex = "[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}")
21 #set($adminEmail = $xwiki.getXWikiPreference('admin_email'))
22 #if (!$adminEmail.matches($emailRegex))
23 #set($adminEmail = '')
24 #end
25 #set($moderator = $flagDoc.getValue('moderator'))
26 #if("$!{moderator}" != '')
27 #set($moderatorEmail = $xwiki.getUserName($moderator, "$email", false))
28 #if(!$moderatorEmail.matches($emailRegex))
29 #set($moderatorEmail = '')
30 #end
31 #end
32
33 == $services.localization.render('conversations.flag.success.dialog.header') ==
34
35 $services.localization.render('conversations.flag.success.dialog.message')
36
37 #if("$!{adminEmail}" != '' && "$!{moderatorEmail}" != '')
38 #set($mailTo = "${adminEmail},${moderatorEmail}")
39 #set($url = $flagDoc.getExternalURL())
40 #set($res = $xwiki.mailsender.sendMessageFromTemplate($adminEmail, $mailTo, $util.null, $util.null, '', 'ForumCode.MailTemplateFlag', $xcontext.vcontext))
41 #if ($res != 0)
42 {{warning}}$services.localization.render('conversations.flag.error.nomailsent'){{/warning}}
43 #end
44 #else
45 {{warning}}$services.localization.render('conversations.flag.error.nomailsent'){{/warning}}
46 #end
47 ## sending notification email
48
49 [[$services.localization.render('conversations.flag.success.dialog.goback') >>$request.targetDocName]]
50 #else
51 #set($discard = $flagDoc.set("user", $xcontext.user))
52 #if($request.target)
53 #set($target = $request.target)
54 #set($discard = $flagDoc.set('target', $target))
55 #if($target.indexOf(':') != -1)
56 #set($targetDocName = $target.substring(0, $target.indexOf(':')))
57 #else
58 #set($targetDocName = $target)
59 #end
60 #set($targetDoc = $xwiki.getDocument($targetDocName))
61 #set($discard = $flagDoc.set('moderator', $targetDoc.creator))
62 #else
63 #set($targetDocName = $request.targetDocName)
64 #end
65 {{html clean='false' wiki='true'}}
66 <form action="" method="post" class="xform">
67 <input type="hidden" name="targetDocName" value="${escapetool.xml($targetDocName)}" />
68 $flagDoc.display('target', 'hidden')
69 $flagDoc.display('user', 'hidden')
70 $flagDoc.display('moderator', 'hidden')
71 <h2>$services.localization.render('conversations.flag.dialog.guidingquestion1.txt')</h2>
72 $services.localization.render('conversations.flag.dialog.instruction1.txt')
73 <h2>$services.localization.render('conversations.flag.dialog.guidingquestion2.txt')</h2>
74 <dl>
75 <dt>
76 <label>$services.localization.render('conversations.flag.dialog.reason.label')</label>
77 <span class="xHint">$services.localization.render('conversations.flag.dialog.instruction2.txt')</span>
78 #if($request.get('ForumCode.FlagClass_0_reason') && $request.get('ForumCode.FlagClass_0_reason') == '')
79 <span class="xErrorMsg">$services.localization.render('conversations.flag.dialog.mandatory')</span>
80 #end
81 </dt>
82 <dd>
83 $flagDoc.display('reason', 'edit')
84 </dd>
85 <dt>
86 <label>$services.localization.render('conversations.flag.dialog.message.label')</label>
87 <span class="xHint">$services.localization.render('conversations.flag.dialog.instruction3.txt')</span>
88 #if($request.get('ForumCode.FlagClass_0_message') && $request.get('ForumCode.FlagClass_0_message').trim() == '')
89 <span class="xErrorMsg"> $services.localization.render('conversations.flag.dialog.mandatory')</span>
90 #end
91 </dt>
92 <dd>
93 $flagDoc.display('message', 'edit')
94 </dd>
95 </dl>
96 <div class="buttons">
97 <span class="buttonwrapper">
98 <input class="button btn btn-primary" type="submit" value="$services.localization.render('conversations.flag.dialog.submit.btt')" />
99 </span>
100 <span class="buttonwrapper">
101 <input class="button secondary btn btn-default" type="button" value="$services.localization.render('conversations.flag.dialog.cancel.btt')" onclick="history.go(-1);" />
102 </span>
103 </div>
104 </form>
105 {{/html}}
106 #end
107 #set($docextras = [])
108 {{/velocity}}

XWiki AI Chat