Исходный код вики Удалить Вики
Редактировал(а) wiki.ROBOT.ru 24.05.2025
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
|
1.1 | 1 | {{velocity}} |
2 | #set ($docextras=[]) | ||
3 | #macro (printException $exception) | ||
4 | #if($exception.message) | ||
5 | {{error}}$services.localization.render('platform.wiki.error.exceptionWithMessage', [$exception.message]){{/error}} | ||
6 | #else | ||
7 | {{error}}$exception.class{{/error}} | ||
8 | #end | ||
9 | #end | ||
10 | ## | ||
11 | #set ($wikiId = $request.wikiId) | ||
12 | #set ($wikiIdConfirm = ${request.wikiIdConfirm}) | ||
13 | #set ($form_token = $request.form_token) | ||
14 | ## | ||
15 | #if ("$!wikiId" == '') | ||
16 | {{error}}{{translation key="platform.wiki.error.oneParameterNotSpecified" parameters="wikiId"/}}{{/error}} | ||
17 | #else | ||
18 | ## FIXME: add plugin dependency checks. | ||
19 | ## | ||
20 | ## | ||
21 | #set ($wiki = $services.wiki.getById($wikiId)) | ||
22 | ## | ||
23 | #if (!$wiki) | ||
24 | #if (!$services.wiki.lastError) | ||
25 | #set ($escapedWikiId = $services.rendering.escape($escapetool.java($wikiId), 'xwiki/2.1')) | ||
26 | {{error}}{{translation key="platform.wiki.error.wikidoesnotexist" parameters="~"${escapedWikiId}~""/}}{{/error}} | ||
27 | #else | ||
28 | #printException($services.wiki.lastError) | ||
29 | #end | ||
30 | #else | ||
31 | #set ($currentUser = "${services.wiki.mainWikiId}:${xcontext.user}") | ||
32 | #set ($wikiMainPage = $wiki.mainPageReference) | ||
33 | #set ($wikiMainPageLinkStart = '') | ||
34 | #set ($wikiMainPageLinkEnd = '') | ||
35 | #if ($xwiki.exists($wikiMainPage)) | ||
36 | #set ($wikiMainPageLinkStart = '[[') | ||
37 | #set ($wikiMainPageLinkEnd = ">>${wikiMainPage}]]") | ||
38 | #end | ||
39 | ## | ||
40 | #if (!$services.wiki.canDeleteWiki($currentUser, $wikiId)) | ||
41 | {{error}}The user #if($xcontext.user != 'XWiki.XWikiGuest')[[$currentUser]]#{else}$xcontext.user#end is not allowed to delete the wiki ${wikiMainPageLinkStart}${wikiId}${wikiMainPageLinkEnd}.{{/error}} | ||
42 | #else | ||
43 | |||
44 | #set ($formTokenValid = $services.csrf.isTokenValid($form_token)) | ||
45 | #set ($wikiIdMatches = "$!wikiId" == "$!wikiIdConfirm") | ||
46 | #if (!$formTokenValid || !$wikiIdMatches) | ||
47 | #set ($browseDocumentReference = $services.model.createDocumentReference($services.wiki.mainWikiId, 'WikiManager', 'WebHome')) | ||
48 | #set ($backUrl = $xwiki.getURL($browseDocumentReference)) | ||
49 | #if ("$!form_token" != '') | ||
50 | #if (!$formTokenValid) | ||
51 | |||
52 | {{warning}} | ||
53 | {{translation key="platform.wiki.csrf.error" /}} | ||
54 | {{/warning}} | ||
55 | |||
56 | #end | ||
57 | #if (!$wikiIdMatches) | ||
58 | |||
59 | {{error}} | ||
60 | {{translation key="platform.wiki.delete.error.wikiIdDoesNotMatch"/}} | ||
61 | {{/error}} | ||
62 | |||
63 | #end | ||
64 | #end | ||
65 | {{box}} | ||
66 | $services.localization.render('platform.wiki.delete.confirmation', [$wikiMainPageLinkStart, $wikiId, $wikiMainPageLinkEnd]) | ||
67 | ((({{html}} | ||
68 | <form action="$doc.getURL()" method="post"> | ||
69 | <input type="hidden" name="wikiId" value="$!escapetool.xml($wikiId)" /> | ||
70 | <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.getToken())" /> | ||
71 | <p> | ||
72 | <label for='wikiDeleteConfirmation'>$services.localization.render('platform.wiki.delete.confirmation.retypeWikiId')</label> | ||
73 | <input type="text" name="wikiIdConfirm" value="$!{escapetool.xml($wikiIdConfirm)}" id="wikiDeleteConfirmation" class="required" /> | ||
74 | </p> | ||
75 | <button class="btn btn-danger" id="confirmButton">$services.localization.render('delete')</button> | ||
76 | <a class="btn btn-default" href="$backUrl">$services.localization.render('cancel')</a> | ||
77 | </form> | ||
78 | {{/html}}))) | ||
79 | {{/box}} | ||
80 | #else | ||
81 | ## The form_token is valid | ||
82 | #set ($temp = $services.wiki.deleteWiki($wikiId)) | ||
83 | #if ($services.wiki.lastError) | ||
84 | #printException($services.wiki.lastError) | ||
85 | #else | ||
86 | {{success}}$services.localization.render('platform.wiki.delete.success', ['[[', $currentUser, ">>$currentUser]]", $wikiId]){{/success}} | ||
87 | #end | ||
88 | #end | ||
89 | #end | ||
90 | #end | ||
91 | #end | ||
92 | {{/velocity}} |