From 09a49d66c2ed1eb0e8f664774660d4d4a20abbe1 Mon Sep 17 00:00:00 2001 From: jarnaldich Date: Mon, 14 Mar 2011 18:38:50 +0100 Subject: [PATCH] Afegint rss --- sputnik/actions/blog.lua | 43 +++++++++++++++++++++++++++++++++++++++++- sputnik/node_defaults/blog.lua | 1 + 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/sputnik/actions/blog.lua b/sputnik/actions/blog.lua index 62bc282..16c76c3 100644 --- a/sputnik/actions/blog.lua +++ b/sputnik/actions/blog.lua @@ -91,4 +91,45 @@ function actions.show_blog_entry(node, request, sputnik) return node.wrappers.default(node, request, sputnik) -- return wiki.actions.show(node, request, sputnik) -end \ No newline at end of file +end + +function actions.rss(node, request, sputnik) + local pages = pages_in_order(sputnik) + + + return cosmo.f(node.templates.RSS){ + title= "Recent Updates to Rubberbytes Blog", + channel_url = "http://" .. sputnik.config.DOMAIN .. sputnik:make_url(node.id), + items = function() + for i, page in ipairs(pages) do + page = sputnik:decorate_node(page) + page = sputnik:activate_node(page) + + local last_edit = sputnik:get_history(page.id, 1)[0] + + cosmo.yield{ + link = "http://" .. sputnik.config.DOMAIN .. sputnik:make_url(page.id), + title = page.title:gsub('blog/',''), + ispermalink = "false", + guid = page.id, + pub_date = sputnik:format_time_RFC822(page.creation_time), --sputnik:format_time_RFC822(last_edit.timestamp), + author = "Joan Arnaldich", + summary = sputnik:escape(page.actions.show_content(page, request, sputnik)) + } + end + end + }, "application/rss+xml" +end + + +function actions.save_page(node, request, sputnik) + if not node.creation_time then + local params = {} + params.author = request.user + params.creation_time = os.time() + node = sputnik:update_node_with_params(node, params) + end + return node +end + + diff --git a/sputnik/node_defaults/blog.lua b/sputnik/node_defaults/blog.lua index 62882ed..c4c819d 100644 --- a/sputnik/node_defaults/blog.lua +++ b/sputnik/node_defaults/blog.lua @@ -9,6 +9,7 @@ NODE = { actions = [[ show = "blog.show_blog" reload = "wiki.reload" + rss = "blog.rss" ]], } -- 2.11.4.GIT