在2022-05-25 17:59上被ybq sz修改
Show last authors
| 1 | {{velocity}} |
| 2 | #set ($wikiId = $request.wikiId) |
| 3 | #set ($form_token = $request.form_token) |
| 4 | ## |
| 5 | #if ("$!wikiId" == '') |
| 6 | {{error}}{{translation key="platform.wiki.error.oneParameterNotSpecified" parameters="wikiId"/}}{{/error}} |
| 7 | #else |
| 8 | ## FIXME: add plugin dependency checks. |
| 9 | ## |
| 10 | #set ($wiki = $services.wiki.getById($wikiId)) |
| 11 | ## |
| 12 | #if ("$!wiki" == '') |
| 13 | #if ("$!{$services.wiki.lastException}" != '') |
| 14 | {{error}}$services.localization.render('platform.wiki.error.exceptionWithMessage', [$services.wiki.lastException.message]){{/error}} |
| 15 | #else |
| 16 | {{error}}{{translation key="platform.wiki.error.wikidoesnotexist" parameters="$wikiId"/}}{{/error}} |
| 17 | #end |
| 18 | #else |
| 19 | #set ($wikiName = $wiki.prettyName) |
| 20 | #if ("$!wikiName" == '') |
| 21 | #set ($wikiName = $wikiId) |
| 22 | #end |
| 23 | #set ($currentUser = "${xcontext.mainWikiName}:${xcontext.user}") |
| 24 | #set ($wikiMainPage = $wiki.mainPageReference) |
| 25 | #set ($wikiMainPageLinkStart = '') |
| 26 | #set ($wikiMainPageLinkEnd = '') |
| 27 | #if ($xwiki.exists($wikiMainPage)) |
| 28 | #set ($wikiMainPageLinkStart = '[[') |
| 29 | #set ($wikiMainPageLinkEnd = ">>${wikiMainPage}]]") |
| 30 | #end |
| 31 | ## |
| 32 | #set ($members = $services.wiki.user.getMembers($wikiId)) |
| 33 | #if (!$members || !$members.contains($currentUser)) |
| 34 | {{error}}$services.localization.render('platform.wiki.users.userNotMemberOfWiki', ['[[', $currentUser, ">>$currentUser]]", $wikiMainPageLinkStart, $wikiName, $wikiMainPageLinkEnd]){{/error}} |
| 35 | #elseif ($wiki.ownerId == $currentUser) |
| 36 | {{error}}$services.localization.render('platform.wiki.users.leave.error.userIsOwner', ['[[', $currentUser, ">>$currentUser]]", $wikiMainPageLinkStart, $wikiName, $wikiMainPageLinkEnd]){{/error}} |
| 37 | #else |
| 38 | #if (!$services.csrf.isTokenValid($form_token)) |
| 39 | #set ($browseDocumentReference = $services.model.createDocumentReference($services.wiki.mainWikiId, 'WikiManager', 'WebHome')) |
| 40 | #set ($backUrl = $xwiki.getURL($browseDocumentReference)) |
| 41 | #if("$!form_token" != '') |
| 42 | |
| 43 | {{warning}} |
| 44 | {{translation key="platform.wiki.csrf.error" /}} |
| 45 | {{/warning}} |
| 46 | |
| 47 | #end |
| 48 | {{box}} |
| 49 | $services.localization.render('platform.wiki.users.leave.confirmation', [$wikiMainPageLinkStart, $wikiName, $wikiMainPageLinkEnd]) |
| 50 | ((({{html}} |
| 51 | <form action="$doc.getURL()" method="post"> |
| 52 | <fieldset> |
| 53 | <input type="hidden" name="wikiId" value="$!escapetool.xml($wikiId)" /> |
| 54 | <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.getToken())" /> |
| 55 | <span class="buttonwrapper"><button class="button">$services.localization.render('platform.wiki.users.leave.confirmation.yes')</button> <a class="button" href="$backUrl">$services.localization.render('platform.wiki.users.leave.confirmation.no')</a></span> |
| 56 | </fieldset> |
| 57 | </form> |
| 58 | {{/html}}))) |
| 59 | {{/box}} |
| 60 | #else |
| 61 | #set ($result = $services.wiki.user.leave($currentUser, $wikiId)) |
| 62 | #if ($result) |
| 63 | {{success}}$services.localization.render('platform.wiki.users.leave.success', ['[[', $currentUser, ">>$currentUser]]", $wikiMainPageLinkStart, $wikiName, $wikiMainPageLinkEnd]){{/success}} |
| 64 | #else |
| 65 | #printException($services.wiki.user.lastException.message) |
| 66 | #end |
| 67 | #end |
| 68 | #end |
| 69 | #end |
| 70 | #end |
| 71 | {{/velocity}} |