Toggle navigation
Entrar
Registrar
BNMP2
Índice de Documentos
Diretório de Usuários
Application Index
Global
Diretório de Divisões
You need to login to start the chat system
$services.localization.render('xe.home.title')
RSS de Páginas Modificadas
Código fonte Wiki de
RSS de Páginas Modificadas
Última modificação por superadmin em 18/01/2018, 13:49
Esconder números de linha
1: {{velocity}} 2: ## TODO: Rewrite this page completely so that it uses the same source as the Activity Stream Macro 3: ## Backward compatibility redirect, if the RSS feed is called without the outputSyntax query argument, force it. 4: #if (("$!request.xpage" == 'plain' || "$!request.xpage" == 'rdf') && "$!request.outputSyntax" != 'plain') 5: $response.sendRedirect($xwiki.getURL($doc.fullName, 'view', 'xpage=plain&outputSyntax=plain')) 6: #end 7: #if ("$!request.xpage" == 'plain' && "$!request.outputSyntax" == 'plain') 8: $response.setContentType('application/rss+xml') 9: ## ====================== 10: ## Compute Query to find documents 11: ## ====================== 12: #if("$!{request.tag}" != '') 13: ## RSS feed for documents tagged with $request.tag 14: #set ($query = 'from doc.object(XWiki.TagClass) as tag where (') 15: #foreach ($tag in $request.getParameterValues('tag')) 16: #set ($query = "$query :tag${foreach.count} member of tag.tags") 17: #if ($foreach.hasNext) 18: #set ($query = "$query OR ") 19: #end 20: #end 21: #set ($query = "$query) AND ") 22: #else 23: #set ($query = 'where') 24: #end 25: #if("$!{request.space}" == '') 26: ## RSS feed for the whole wiki 27: #set ($query = "$query 1=1") 28: #else 29: ## RSS feed for spaces 30: #set ($query = "$query (") 31: #foreach ($space in $request.getParameterValues('space')) 32: #set ($query = "$query doc.space=:space${foreach.count} OR doc.space LIKE :space_nested${foreach.count}") 33: #if ($foreach.hasNext) 34: #set ($query = "$query OR ") 35: #end 36: #end 37: #set ($query = "$query)") 38: #end 39: #set ($query = "$query order by doc.date desc") 40: ## ============== 41: ## Bind Query parameters 42: ## ============== 43: ## Bind query parameters depending on the passed query string parameters 44: #set ($queryObject = $services.query.xwql($query).addFilter('hidden/document').addFilter('currentlanguage').setLimit(20).setOffset(0)) 45: #if("$!{request.tag}" != '') 46: #foreach ($tag in $request.getParameterValues('tag')) 47: #set ($queryObject = $queryObject.bindValue("tag${foreach.count}", $tag)) 48: #end 49: #end 50: #if("$!{request.space}" != '') 51: #foreach ($space in $request.getParameterValues('space')) 52: #set ($queryObject = $queryObject.bindValue("space${foreach.count}", $space)) 53: #set ($queryObject = $queryObject.bindValue("space_nested${foreach.count}", "${space}.%")) 54: #end 55: #end 56: ## ================ 57: ## Compute feed description 58: ## ================ 59: ## 4 cases to handle: no spaces and tags specified, only spaces specified, only tags specified and spaces and tags specified 60: #if ("$!{request.space}" != '') 61: #if ("$!{request.tag}" != '') 62: #set ($description = $services.localization.render('activity.rss.feed.tagsAndSpaces.description', [$stringtool.join($request.getParameterValues('tag'), ','), $stringtool.join($request.getParameterValues('space'), ',')])) 63: #else 64: #set ($description = $services.localization.render('activity.rss.feed.spaces.description', [$stringtool.join($request.getParameterValues('space'), ',')])) 65: #end 66: #else 67: #if ("$!{request.tag}" != '') 68: #set ($description = $services.localization.render('activity.rss.feed.tags.description', [$stringtool.join($request.getParameterValues('tag'), ',')])) 69: #else 70: #set ($description = $services.localization.render('activity.rss.feed.description')) 71: #end 72: #end 73: ## ===================== 74: ## Execute query and generate feed 75: ## ===================== 76: #set ($feed = $xwiki.feed.getWebFeed($queryObject.execute())) 77: #set ($feedURI = $xwiki.getDocument('Main.WebHome').getExternalURL('view')) 78: #set ($discard = $feed.setLink($feedURI)) 79: #set ($discard = $feed.setUri($feedURI)) 80: #set ($discard = $feed.setAuthor('XWiki')) 81: #set ($discard = $feed.setTitle($services.localization.render('activity.rss.feed.description'))) 82: #set ($discard = $feed.setDescription($description)) 83: #set ($discard = $feed.setLanguage("$xcontext.locale")) 84: #set ($discard = $feed.setCopyright($xwiki.getXWikiPreference('copyright'))) 85: $xwiki.feed.getFeedOutput($feed, $xwiki.getXWikiPreference('feed_type', 'rss_2.0')) 86: #end 87: {{/velocity}}