Wiki source code of Office Importer Results
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set ($displayDocExtra = false) | ||
| 3 | #if ($isguest) | ||
| 4 | #error($services.localization.render('xe.officeimporter.notallowed')) | ||
| 5 | #else | ||
| 6 | ######################### | ||
| 7 | ## Validate Input File ## | ||
| 8 | ######################### | ||
| 9 | #set ($mainDocRef = $services.wiki.currentWikiDescriptor.mainPageReference) | ||
| 10 | #set ($goBack = "[[$services.localization.render('xe.officeimporter.results.goback')" + | ||
| 11 | ">>path:$xwiki.getURL($mainDocRef, 'create', 'type=office')]]") | ||
| 12 | #set ($fileUpload = $xwiki.fileupload) | ||
| 13 | #set ($fileName = $fileUpload.getFileName("filePath")) | ||
| 14 | #if (!$fileName) | ||
| 15 | {{error}}$services.localization.render('xe.officeimporter.results.missingfile', [$goBack]){{/error}} | ||
| 16 | #else | ||
| 17 | #set ($discard = $fileUpload.loadFileList()) | ||
| 18 | #foreach ($fileItem in $fileUpload.fileItems) | ||
| 19 | #if ($fileItem.fieldName == "filePath") | ||
| 20 | #set ($officeFileStream = $fileItem.inputStream) | ||
| 21 | #break | ||
| 22 | #end | ||
| 23 | #end | ||
| 24 | #end | ||
| 25 | ########################### | ||
| 26 | ## Validate Target ## | ||
| 27 | ########################### | ||
| 28 | #set ($target = $request.target) | ||
| 29 | #if ("$!target" != '') | ||
| 30 | #set ($targetDocumentReference = $services.model.resolveDocument($target)) | ||
| 31 | #end | ||
| 32 | ########################## | ||
| 33 | ## Append Configuration ## | ||
| 34 | ########################## | ||
| 35 | #set ($appendContent = $request.overwriteContent != 'true') | ||
| 36 | ############################# | ||
| 37 | ## Filtering Configuration ## | ||
| 38 | ############################# | ||
| 39 | #set ($filterStyles = false) | ||
| 40 | #if ($request.filterStyles) | ||
| 41 | #set ($filterStyles = true) | ||
| 42 | #end | ||
| 43 | ############################# | ||
| 44 | ## Splitting Configuration ## | ||
| 45 | ############################# | ||
| 46 | #set ($splitDocument = $request.splitDocument == 'true') | ||
| 47 | #set ($headingLevels = ${request.getParameterValues('headingLevelsToSplit')|['1']}) | ||
| 48 | #set ($terminalChildPages = $request.terminalChildPages == 'true') | ||
| 49 | ############ | ||
| 50 | ## Import ## | ||
| 51 | ############ | ||
| 52 | #if($fileName) | ||
| 53 | #set ($resultDocumentLink = "[[**$services.localization.render('xe.officeimporter.results.result')**" + | ||
| 54 | ">>doc:$services.model.serialize($targetDocumentReference)]]") | ||
| 55 | #set ($xdomOfficeDoc = $services.officeimporter.officeToXDOM($officeFileStream, $fileName, $targetDocumentReference, | ||
| 56 | $filterStyles)) | ||
| 57 | #if ($xdomOfficeDoc) | ||
| 58 | #if (!$splitDocument) | ||
| 59 | #set ($result = $services.officeimporter.save($xdomOfficeDoc, $targetDocumentReference, $appendContent)) | ||
| 60 | #if ($result) | ||
| 61 | {{info}} | ||
| 62 | $services.localization.render('xe.officeimporter.results.success', [$resultDocumentLink, $goBack]) | ||
| 63 | {{/info}} | ||
| 64 | #else | ||
| 65 | {{error}}$services.rendering.escape($services.officeimporter.errorMessage, 'xwiki/2.1'){{/error}} | ||
| 66 | #end | ||
| 67 | #else | ||
| 68 | #set ($docsMap = $services.officeimporter.split($xdomOfficeDoc, $headingLevels, $request.childPagesNamingMethod, | ||
| 69 | $terminalChildPages, $targetDocumentReference)) | ||
| 70 | #if ($docsMap) | ||
| 71 | #foreach ($entry in $docsMap.entrySet()) | ||
| 72 | #set ($result = $services.officeimporter.save($entry.value, $entry.key.documentReference, $appendContent)) | ||
| 73 | #if (!$result) | ||
| 74 | {{warning}}$services.rendering.escape($services.officeimporter.errorMessage, 'xwiki/2.1'){{/warning}} | ||
| 75 | #end | ||
| 76 | #end | ||
| 77 | {{info}} | ||
| 78 | $services.localization.render('xe.officeimporter.results.success', [$resultDocumentLink, $goBack]) | ||
| 79 | {{/info}} | ||
| 80 | #else | ||
| 81 | {{error}}$services.officeimporter.errorMessage{{/error}} | ||
| 82 | #end | ||
| 83 | #end | ||
| 84 | #set ($discard = $xdomOfficeDoc.close()) | ||
| 85 | #else | ||
| 86 | {{error}}$services.officeimporter.errorMessage{{/error}} | ||
| 87 | #end | ||
| 88 | #end | ||
| 89 | #end | ||
| 90 | {{/velocity}} |