diff --git a/forum.nim b/forum.nim index b05c56b..c343f74 100644 --- a/forum.nim +++ b/forum.nim @@ -645,7 +645,13 @@ get "/": createTFD() c.isThreadsList = true var count = 0 - resp genMain(c, genThreadsList(c, count)) + resp genMain(c, genThreadsList(c, count), genRSSHeaders(c)) + +get "/threadActivity.xml": + createTFD() + c.isThreadsList = true + var count = 0 + resp genRSS(c), "application/atom+xml" get "/t/@threadid/?@page?/?": createTFD() @@ -691,7 +697,7 @@ get "/page/@page/?": let list = genThreadsList(c, count) if count == 0: pass() - resp genMain(c, list) + resp genMain(c, list, genRSSHeaders(c)) get "/profile/@nick/?": createTFD() diff --git a/main.tmpl b/main.tmpl index 22f6525..46f3979 100644 --- a/main.tmpl +++ b/main.tmpl @@ -1,5 +1,6 @@ #! stdtmpl -#proc genMain(c: var TForumData, content: string): string = +#proc genMain(c: var TForumData, content: string, +# additional_headers = ""): string = # result = "" # var stats: TForumStats # if c.isThreadsList: stats = c.getStats(false) @@ -11,7 +12,7 @@ Nimrod Forum - + ${additional_headers} @@ -32,11 +33,11 @@ Login #end if - +
${c.genActionMenu}
- +
$content $c.errorMsg @@ -60,3 +61,55 @@
+#end proc +# +#proc genRSSHeaders(c: var TForumData): string = +# result = "" + +#end proc +# +#proc genRSS(c: var TForumData): string = +# result = "" +# var stats: TForumStats +# let frontQuery = c.req.makeUri("/") +# if c.isThreadsList: stats = c.getStats(false) +# else: +# stats = c.getStats(true) +# end if +# const query = sql"""SELECT A.id, A.name, +# strftime('%Y-%m-%dT%H:%M:%S', (A.modified)), +# COUNT(B.id), C.name, B.content +# FROM thread AS A, post AS B, person AS C +# WHERE A.id = b.thread AND B.author = C.id +# GROUP BY B.thread +# ORDER BY modified DESC LIMIT ?""" +# const threadId = 0 +# const name = 1 +# const threadDate = 2 +# const postCount = 3 +# const postAuthor = 4 +# const postContent = 5 +# let recent = GetValue(db, sql"""SELECT +# strftime('%Y-%m-%dT%H:%M:%S', (modified)) FROM thread +# ORDER BY modified DESC LIMIT 1""") + + + Nimrod forum thread activity + + + ${frontQuery} + ${recent} +# for row in Rows(db, query, 10): + + ${XMLencode(%name)} + urn:entry:${%threadid} + + ${%threadDate} + Posts ${postCount}, ${XMLEncode(%postAuthor)} said: ${XMLEncode(%postContent)} + +# end for + +#end proc