Fossil SCM

/timeline.rss now accepts the same filter parameters as /timeline (e.g. y=ci for commits and y=w for wiki)

stephan 2008-12-12 22:19 trunk
Commit 90adbd84430549a9877ef3ec20171c42ac37afa5
1 file changed +13 -3
+13 -3
--- src/rss.c
+++ src/rss.c
@@ -47,11 +47,14 @@
4747
4848
void page_timeline_rss(void){
4949
Stmt q;
5050
int nLine=0;
5151
char *zPubDate, *zProjectName, *zProjectDescr, *zFreeProjectName=0;
52
- const char zSQL[] =
52
+ Blob bSQL;
53
+ const char *zType = PD("y","all"); /* Type of events. All if NULL */
54
+ blob_zero(&bSQL);
55
+ const char zSQL1[] =
5356
@ SELECT
5457
@ blob.rid,
5558
@ uuid,
5659
@ datetime(event.mtime),
5760
@ coalesce(ecomment,comment),
@@ -58,12 +61,18 @@
5861
@ coalesce(euser,user),
5962
@ (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim),
6063
@ (SELECT count(*) FROM plink WHERE cid=blob.rid)
6164
@ FROM event, blob
6265
@ WHERE blob.rid=event.objid
63
- @ ORDER BY event.mtime DESC
6466
;
67
+ blob_append( &bSQL, zSQL1, -1 );
68
+
69
+ if( zType[0]!='a' ){
70
+ blob_appendf(&bSQL, " AND event.type=%Q", zType);
71
+ }
72
+
73
+ blob_append( &bSQL, " ORDER BY event.mtime DESC", -1 );
6574
6675
cgi_set_content_type("application/rss+xml");
6776
6877
zProjectName = db_get("project-name", 0);
6978
if( zProjectName==0 ){
@@ -83,11 +92,12 @@
8392
@ <title>%s(zProjectName)</title>
8493
@ <link>%s(g.zBaseURL)</link>
8594
@ <description>%s(zProjectDescr)</description>
8695
@ <pubDate>%s(zPubDate)</pubDate>
8796
@ <generator>Fossil version %s(MANIFEST_VERSION) %s(MANIFEST_DATE)</generator>
88
- db_prepare(&q, zSQL);
97
+ db_prepare(&q, blob_buffer(&bSQL));
98
+ blob_reset( &bSQL );
8999
while( db_step(&q)==SQLITE_ROW && nLine<=20 ){
90100
const char *zId = db_column_text(&q, 1);
91101
const char *zDate = db_column_text(&q, 2);
92102
const char *zCom = db_column_text(&q, 3);
93103
const char *zAuthor = db_column_text(&q, 4);
94104
--- src/rss.c
+++ src/rss.c
@@ -47,11 +47,14 @@
47
48 void page_timeline_rss(void){
49 Stmt q;
50 int nLine=0;
51 char *zPubDate, *zProjectName, *zProjectDescr, *zFreeProjectName=0;
52 const char zSQL[] =
 
 
 
53 @ SELECT
54 @ blob.rid,
55 @ uuid,
56 @ datetime(event.mtime),
57 @ coalesce(ecomment,comment),
@@ -58,12 +61,18 @@
58 @ coalesce(euser,user),
59 @ (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim),
60 @ (SELECT count(*) FROM plink WHERE cid=blob.rid)
61 @ FROM event, blob
62 @ WHERE blob.rid=event.objid
63 @ ORDER BY event.mtime DESC
64 ;
 
 
 
 
 
 
 
65
66 cgi_set_content_type("application/rss+xml");
67
68 zProjectName = db_get("project-name", 0);
69 if( zProjectName==0 ){
@@ -83,11 +92,12 @@
83 @ <title>%s(zProjectName)</title>
84 @ <link>%s(g.zBaseURL)</link>
85 @ <description>%s(zProjectDescr)</description>
86 @ <pubDate>%s(zPubDate)</pubDate>
87 @ <generator>Fossil version %s(MANIFEST_VERSION) %s(MANIFEST_DATE)</generator>
88 db_prepare(&q, zSQL);
 
89 while( db_step(&q)==SQLITE_ROW && nLine<=20 ){
90 const char *zId = db_column_text(&q, 1);
91 const char *zDate = db_column_text(&q, 2);
92 const char *zCom = db_column_text(&q, 3);
93 const char *zAuthor = db_column_text(&q, 4);
94
--- src/rss.c
+++ src/rss.c
@@ -47,11 +47,14 @@
47
48 void page_timeline_rss(void){
49 Stmt q;
50 int nLine=0;
51 char *zPubDate, *zProjectName, *zProjectDescr, *zFreeProjectName=0;
52 Blob bSQL;
53 const char *zType = PD("y","all"); /* Type of events. All if NULL */
54 blob_zero(&bSQL);
55 const char zSQL1[] =
56 @ SELECT
57 @ blob.rid,
58 @ uuid,
59 @ datetime(event.mtime),
60 @ coalesce(ecomment,comment),
@@ -58,12 +61,18 @@
61 @ coalesce(euser,user),
62 @ (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim),
63 @ (SELECT count(*) FROM plink WHERE cid=blob.rid)
64 @ FROM event, blob
65 @ WHERE blob.rid=event.objid
 
66 ;
67 blob_append( &bSQL, zSQL1, -1 );
68
69 if( zType[0]!='a' ){
70 blob_appendf(&bSQL, " AND event.type=%Q", zType);
71 }
72
73 blob_append( &bSQL, " ORDER BY event.mtime DESC", -1 );
74
75 cgi_set_content_type("application/rss+xml");
76
77 zProjectName = db_get("project-name", 0);
78 if( zProjectName==0 ){
@@ -83,11 +92,12 @@
92 @ <title>%s(zProjectName)</title>
93 @ <link>%s(g.zBaseURL)</link>
94 @ <description>%s(zProjectDescr)</description>
95 @ <pubDate>%s(zPubDate)</pubDate>
96 @ <generator>Fossil version %s(MANIFEST_VERSION) %s(MANIFEST_DATE)</generator>
97 db_prepare(&q, blob_buffer(&bSQL));
98 blob_reset( &bSQL );
99 while( db_step(&q)==SQLITE_ROW && nLine<=20 ){
100 const char *zId = db_column_text(&q, 1);
101 const char *zDate = db_column_text(&q, 2);
102 const char *zCom = db_column_text(&q, 3);
103 const char *zAuthor = db_column_text(&q, 4);
104

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button