Modifications pour le document Confluence Bridge for Gallery
Modifié par superadmin le 21/07/2025 - 08:55
Résumé
-
Objets (1 modifications, 0 ajouts, 0 suppressions)
Détails
- XWiki.WikiMacroClass[0]
-
- Code de la macro
-
... ... @@ -21,10 +21,31 @@ 21 21 #foreach ($page in $pages) 22 22 ## Resolve page and put attachments in temporary list 23 23 #set ($tempAttachments = []) 24 - #set ($query = $services.query.xwql('where doc.title = :name').bindValue('name', $page)) 25 - #set ($pageStrings = $query.execute()) 26 - #if ($pageStrings.size() > 0) 27 - #set ($pageDocument = $xwiki.getDocument($pageStrings[0])) 24 + #set ($pageDocument = $objecttool.null) 25 + #if ($page.matches("^[a-zA-Z0-9]+:[\s\S]+")) 26 + #set ($spaceAndTitle = $page.split(":", 2)) 27 + #set ($pageTitleResolver = $services.component.getInstance("org.xwiki.contrib.confluence.resolvers.ConfluencePageTitleResolver")) 28 + #set ($space = $spaceAndTitle[0]) 29 + #set ($title = $spaceAndTitle[1]) 30 + #set ($pageRef = $pageTitleResolver.getDocumentByTitle($space, $title)) 31 + #if ($objecttool.isNull($pageRef)) 32 + #set ($query = $services.query.xwql('where doc.name = :name or doc.title = :name and (doc.fullName like :fullnamelike or doc.fullName like :fullnamelike2)').bindValue('name', $title).bindValue('fullnamelike', "$space.%").bindValue('fullnamelike2', "%.$space.%")) 33 + #set ($pageStrings = $query.execute()) 34 + #if ($pageStrings.size() > 0) 35 + #set ($pageDocument = $xwiki.getDocument($pageStrings[0])) 36 + #end 37 + #else ($objecttool.isNotNull($pageRef)) 38 + #set ($pageDocument = $xwiki.getDocument($pageRef)) 39 + #end 40 + #end 41 + #if ($objecttool.isNull($pageDocument)) 42 + #set ($query = $services.query.xwql('where doc.name = :name or doc.title = :name').bindValue('name', $page)) 43 + #set ($pageStrings = $query.execute()) 44 + #if ($pageStrings.size() > 0) 45 + #set ($pageDocument = $xwiki.getDocument($pageStrings[0])) 46 + #end 47 + #end 48 + #if ($objecttool.isNotNull($pageDocument)) 28 28 #set ($discard = $tempAttachments.addAll($pageDocument.getAttachmentList())) 29 29 ## iterate over remaining attachments and add full reference to attachment list 30 30 #foreach ($attachment in $tempAttachments)