166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
-
+
+
+
-
+
-
-
+
+
|
}
#undef TAGVIEW_DEFAULT_FILTER
/*
** Generate a timeline for the chosen tag
*/
void tagview_print_timeline(char const *pName, char const *pPrefix){
void tagview_print_timeline(char const *zName, char const *zPrefix){
char *zSql;
Stmt q;
int tagid = db_int(0, "SELECT tagid FROM tag WHERE tagname='%q%q'",
zPrefix, zName);
zSql = mprintf("%s AND EXISTS (SELECT 1"
" FROM tagxref"
" WHERE tagxref.rid = event.objid"
" AND tagxref.tagtype > 0"
" AND tagxref.tagid = (SELECT tagid FROM tag"
" AND tagxref.tagid = %d"
" WHERE tagname = %Q||%Q))"
" ORDER BY 3 desc",
timeline_query_for_www(), pPrefix, pName);
timeline_query_for_www(), tagid
);
db_prepare(&q, zSql);
free(zSql);
www_print_timeline(&q);
db_finalize(&q);
}
/*
|