liquid_feedback_frontend
changeset 171:7d231961a9d2
rename to sitemap/show.xml
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Sat Oct 09 22:34:52 2010 +0200 (2010-10-09) |
parents | da885b2dda29 |
children | 165f4bd02cf3 |
files | app/main/sitemap/show.lua app/main/sitemap/show.xml.lua |
line diff
1.1 --- a/app/main/sitemap/show.lua Sat Oct 09 22:13:32 2010 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,80 +0,0 @@ 1.4 -slot.set_layout("xml", "text/xml") 1.5 - 1.6 -slot.put_into("default", '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">') 1.7 - 1.8 -function url(args) 1.9 - return ui.tag{ 1.10 - tag = "url", 1.11 - content = function() 1.12 - ui.tag{tag = "loc", 1.13 - content = encode.url{ 1.14 - base = request.get_absolute_baseurl(), 1.15 - module = args.module, 1.16 - view = args.view, 1.17 - id = args.id 1.18 - } 1.19 - } 1.20 - if args.lastmod then 1.21 - ui.tag{tag = "lastmod", 1.22 - content = args.lastmod 1.23 - } 1.24 - end 1.25 - ui.tag{tag = "changefreq", 1.26 - content = args.changefreq or "daily", 1.27 - } 1.28 - if args.priority then 1.29 - ui.tag{tag = "priority", 1.30 - content = tostring(args.priority) 1.31 - } 1.32 - end 1.33 - 1.34 - end 1.35 - } 1.36 -end 1.37 - 1.38 -function max(...) 1.39 - trace.debug_table(arg) 1.40 - nargs = {} 1.41 - for i = 1,1,arg.n do 1.42 - if type(arg[i]) == "number" then 1.43 - nargs[#nargs] = arg[i] 1.44 - end 1.45 - end 1.46 - if #nargs > 0 then 1.47 - return math.max(unpack(nargs)) 1.48 - end 1.49 - return nil 1.50 -end 1.51 - 1.52 - 1.53 -areas = Area:new_selector():add_where("active='y'") 1.54 - 1.55 -for i,area in ipairs(areas:exec()) do 1.56 - url{ module = "area", view = "show", id = area.id, priority = 0.9 } 1.57 -end 1.58 - 1.59 --- FIXME timezone should be added as ...HH24:MI:SS+TZ with NUMERIC like +09:00 1.60 - 1.61 -issues = Issue:new_selector() 1.62 -issues:add_field("to_char(GREATEST(issue.created, issue.accepted, issue.half_frozen, issue.fully_frozen, issue.closed, issue.cleaned), 'YYYY-MM-DD\"T\"HH24:MI:SS')", "lastmod") 1.63 - 1.64 -for i,issue in ipairs(issues:exec()) do 1.65 - url{ module = "issue", view = "show", id = issue.id, priority = 0.8, 1.66 - lastmod = tostring(issue.lastmod) 1.67 - } 1.68 -end 1.69 - 1.70 -initiatives = Initiative:new_selector() 1.71 -initiatives:add_field("to_char(GREATEST(initiative.created, initiative.revoked, (select draft.created from draft where draft.initiative_id = initiative.id ORDER BY draft.created DESC LIMIT 1)), 'YYYY-MM-DD\"T\"HH24:MI:SS')", "lastmod") 1.72 - 1.73 -for i,initiative in ipairs(initiatives:exec()) do 1.74 - url{ module = "initiative", view = "show", id = initiative.id, priority = 0.5, 1.75 - lastmod = tostring(initiative.lastmod) 1.76 - } 1.77 -end 1.78 - 1.79 ---trace.render() 1.80 - 1.81 -slot.put_into("default", '</urlset>') 1.82 - 1.83 -return 1.84 \ No newline at end of file
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/app/main/sitemap/show.xml.lua Sat Oct 09 22:34:52 2010 +0200 2.3 @@ -0,0 +1,80 @@ 2.4 +slot.set_layout("xml", "text/xml") 2.5 + 2.6 +slot.put_into("default", '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">') 2.7 + 2.8 +function url(args) 2.9 + return ui.tag{ 2.10 + tag = "url", 2.11 + content = function() 2.12 + ui.tag{tag = "loc", 2.13 + content = encode.url{ 2.14 + base = request.get_absolute_baseurl(), 2.15 + module = args.module, 2.16 + view = args.view, 2.17 + id = args.id 2.18 + } 2.19 + } 2.20 + if args.lastmod then 2.21 + ui.tag{tag = "lastmod", 2.22 + content = args.lastmod 2.23 + } 2.24 + end 2.25 + ui.tag{tag = "changefreq", 2.26 + content = args.changefreq or "daily", 2.27 + } 2.28 + if args.priority then 2.29 + ui.tag{tag = "priority", 2.30 + content = tostring(args.priority) 2.31 + } 2.32 + end 2.33 + 2.34 + end 2.35 + } 2.36 +end 2.37 + 2.38 +function max(...) 2.39 + trace.debug_table(arg) 2.40 + nargs = {} 2.41 + for i = 1,1,arg.n do 2.42 + if type(arg[i]) == "number" then 2.43 + nargs[#nargs] = arg[i] 2.44 + end 2.45 + end 2.46 + if #nargs > 0 then 2.47 + return math.max(unpack(nargs)) 2.48 + end 2.49 + return nil 2.50 +end 2.51 + 2.52 + 2.53 +areas = Area:new_selector():add_where("active='y'") 2.54 + 2.55 +for i,area in ipairs(areas:exec()) do 2.56 + url{ module = "area", view = "show", id = area.id, priority = 0.9 } 2.57 +end 2.58 + 2.59 +-- FIXME timezone should be added as ...HH24:MI:SS+TZ with NUMERIC like +09:00 2.60 + 2.61 +issues = Issue:new_selector() 2.62 +issues:add_field("to_char(GREATEST(issue.created, issue.accepted, issue.half_frozen, issue.fully_frozen, issue.closed, issue.cleaned), 'YYYY-MM-DD\"T\"HH24:MI:SS')", "lastmod") 2.63 + 2.64 +for i,issue in ipairs(issues:exec()) do 2.65 + url{ module = "issue", view = "show", id = issue.id, priority = 0.8, 2.66 + lastmod = tostring(issue.lastmod) 2.67 + } 2.68 +end 2.69 + 2.70 +initiatives = Initiative:new_selector() 2.71 +initiatives:add_field("to_char(GREATEST(initiative.created, initiative.revoked, (select draft.created from draft where draft.initiative_id = initiative.id ORDER BY draft.created DESC LIMIT 1)), 'YYYY-MM-DD\"T\"HH24:MI:SS')", "lastmod") 2.72 + 2.73 +for i,initiative in ipairs(initiatives:exec()) do 2.74 + url{ module = "initiative", view = "show", id = initiative.id, priority = 0.5, 2.75 + lastmod = tostring(initiative.lastmod) 2.76 + } 2.77 +end 2.78 + 2.79 +--trace.render() 2.80 + 2.81 +slot.put_into("default", '</urlset>') 2.82 + 2.83 +return 2.84 \ No newline at end of file