Исходный код вики Export
Редактировал(а) Dmitriy Rybakov 05.08.2025, 13:07
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 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}&', 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 >>" class="button" /></td> | ||
| 128 | <td class="td-selectedColumn" style="text-align: center;"><input type="button" onclick="deleteDocs();" id="bttRemove" value="<< 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}} |