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

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

Последние авторы
1 {{velocity}}
2 {{html clean="false" wiki="false"}}
3 #set($action = $request.action)
4 #if ($action == "getdocs")
5 $response.setContentType("text/xml")
6 #set($space = $request.spacename)
7 <response>
8 #set($docs = $xwiki.searchDocuments("where doc.space='$escapetool.sql($space)' order by doc.date desc"))
9 #foreach ($docname in $docs)
10 <value>$escapetool.xml("${docname}")</value>
11 #end
12 </response>
13 #elseif ($action == "getPackageList")
14 $response.setContentType("text/xml")
15 #set($alist = $doc.getAttachmentList())
16 <response>
17 #foreach ($oAttach in $alist)
18 <value>$oAttach.getFilename()</value>
19 #end
20 </response>
21 #elseif ($action == "preexport")
22 #set($ToExport = $request.getParameterValues("toExport"))
23 #set($session = $request.getSession(false))
24 #set($ok = $session.setAttribute("exportdata", $ToExport))
25 OK
26 #elseif ($action == "export")
27 #set($session = $request.getSession(false))
28 #set($ToExport = $session.getAttribute("exportdata"))
29 #set($withHistory = $request.withHistory)
30 #set($author = $request.author)
31 #set($description = $request.description)
32 #set($licence = $request.licence)
33 #set($version = $request.version)
34 #set($packageName = $request.packageName)
35
36 #set($export = $xwiki.package)
37
38 #if ($withHistory=="true")
39 $export.setWithVersions(true)
40 #else
41 $export.setWithVersions(false)
42 #end
43 #if ($author)
44 $export.setAuthorName($author)
45 #end
46 #if ($description)
47 $export.setDescription($description)
48 #end
49
50 #if ($licence)
51 $export.setLicence($licence)
52 #end
53
54 #if ($version)
55 $export.setVersion($version)
56 #end
57
58 $export.setName($packageName)
59 #foreach ($itemexp in $ToExport)
60 $export.add($itemexp, 0)
61 #end
62 $export.export()
63 #else
64
65 <div id="exportApp">
66 <table>
67 <tr>
68 <td class="td-docSelectorColumn"><h3 id="firstColumnTitle">Your Wiki</h3>
69 <span id="spaceSelectorEl">
70 Select a Space:
71 #set($spaces = $xwiki.getSpaces())
72 <select name="spaceSelector" id="spaceSelector">
73 <option value="---">---</option>
74 #foreach ($space in $spaces)
75 <option value="$escapetool.html($space)">$escapetool.html($space)</option>
76 #end
77 </select>
78 <br />
79 #set($script = $escapetool.xml($xwiki.getURL("Admin.ExportSpaceSuggest", "get", "xpage=plain&outputSyntax=plain")))
80 <form action="" onsubmit="setSpace(this.space.value); return false;">
81 Search space: <input type="text" name="space" value="" size="20" onfocus="new XWiki.widgets.Suggest(this, {script:'${script}&amp;', varname: 'input', seps:'', offsety: 13});" />
82 <input type="submit" class="button btn" value="Go" />
83 </form>
84 <br />
85 <span class="selectDocsActions">Select <a onclick="selectItems('checkedDoc', false);" class="Exportlink btn btn-default">none</a>, <a onclick="selectItems('checkedDoc', true);" class="Exportlink btn btn-default">all</a></span></span>
86 </td>
87 <td class="td-selectedColumn"><h3 id="secondColumnTitle">Your Package</h3>
88 <span class="selectDocsActions">Select <a onclick="selectItems('selCheckedDoc', false);" class="Exportlink btn btn-default">none</a>, <a onclick="selectItems('selCheckedDoc', true);" class="Exportlink btn btn-default">all</a></span>
89 </td>
90 <td class="td-packageColumn">
91 <h3 id="thirdColumnTitle">Package Info</h3>
92 </td>
93 </tr>
94 ## ROW 2
95 <tr>
96 <td class="td-docSelectorColumn">
97 <div id="docSelectorColumn">
98 <div id="spaceDocs">
99 <span id="noSelectedSpace"><br /><br />Start by choosing a space to list documents</span>
100 </div>
101 </div>
102 </td>
103 <td class="td-selectedColumn">
104 <div id="selectedColumn">
105 <div id="spaceDocs">
106 <table>
107 <tbody id="selectedDocsTable">
108 </tbody>
109 </table>
110 </div>
111 </div>
112 </td>
113 <td class="td-packageColumn">
114 <label for="appName"><i>Package Name</i></label><br /><input type="text" name="appName" id="appName" value="package"><br /><br />
115 <label for="appDesc"><i>Description</i></label><br /><textarea name="appDesc" id="appDesc"></textarea><br /><br />
116 <label for="appLicence"><i>Licence</i></label><br /><input type="text" name="appLicence" id="appLicence" value="LGPL"><br /><br />
117 <label for="appAuthor"><i>Author</i></label><br /><input type="text" name="appAuthor" id="appAuthor" value="$xcontext.user"><br /><br />
118 <label for="appVersion"><i>Version</i></label><br /><input type="text" name="appVersion" id="appVersion" value=""><br /><br />
119 <span id="historyEls">
120 <label for="appWithHistory"><i>Add history</i><input type="checkbox" name="appWithHistory" id="appWithHistory" value="true"></label>
121 <br /><br />
122 </span>
123 </td>
124 </tr>
125 ## ROW 3
126 <tr>
127 <td class="td-docSelectorColumn" style="text-align: center;"><input type="button" onclick="addDocs();" id="bttAdd" value="Add to my package &gt;&gt;" class="button" /></td>
128 <td class="td-selectedColumn" style="text-align: center;"><input type="button" onclick="deleteDocs();" id="bttRemove" value="&lt;&lt; Remove from my package" class="button" /></td>
129 <td class="td-packageColumn" style="text-align: center;"><input type="button" id="bttExport" onclick="bttExport()" value="Export" class="button" /></td>
130 </tr>
131 </table>
132 </div>
133 #end
134 {{/html}}
135 {{/velocity}}