Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change the timeline comment when a wiki page is deleted. Remove some "#if 0" sections from the code. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | experimental |
Files: | files | file ages | folders |
SHA1: |
49e6670386005fa34186f357d0739f16 |
User & Date: | drh 2010-03-18 12:55:39 |
Original Comment: | Change the timeline comment when a wiki page is deleted. Remove some "#if 0" sections from the code. |
Context
2010-03-18
| ||
13:26 | Merge recent experimental changes (the attachment enhancement and the ability to delete wiki) into the trunk. check-in: f4a25366 user: drh tags: trunk | |
12:55 | Change the timeline comment when a wiki page is deleted. Remove some "#if 0" sections from the code. Closed-Leaf check-in: 49e66703 user: drh tags: experimental | |
10:39 | Show only non-empty wiki pages in the list of all wiki pages. A rebuild is required after updating in order for this feature to work. check-in: 012d5e4f user: drh tags: experimental | |
Changes
Changes to src/manifest.c.
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
....
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
|
} } if( m.type==CFTYPE_WIKI ){ char *zTag = mprintf("wiki-%s", m.zWikiTitle); int tagid = tag_findid(zTag, 1); int prior; char *zComment; char zLength[40]; while( isspace(m.zWiki[0]) ) m.zWiki++; sqlite3_snprintf(sizeof(zLength), zLength, "%d", strlen(m.zWiki)); tag_insert(zTag, 1, zLength, rid, m.rDate, rid); free(zTag); prior = db_int(0, "SELECT rid FROM tagxref" " WHERE tagid=%d AND mtime<%.17g" " ORDER BY mtime DESC", tagid, m.rDate ); if( prior ){ content_deltify(prior, rid, 0); } zComment = mprintf("Changes to wiki page [%h]", m.zWikiTitle); db_multi_exec( "REPLACE INTO event(type,mtime,objid,user,comment," " bgcolor,euser,ecomment)" "VALUES('w',%.17g,%d,%Q,%Q," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d AND tagtype>1)," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d)," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d));", ................................................................................ m.zAttachTarget, m.zAttachName, m.zAttachTarget, m.zAttachName ); if( strlen(m.zAttachTarget)!=UUID_SIZE || !validate16(m.zAttachTarget, UUID_SIZE) ){ char *zComment; #if 0 char *zTag = mprintf("wiki-%s", m.zAttachTarget); tag_findid(zTag, 1); free(zTag); #endif if( m.zAttachSrc && m.zAttachSrc[0] ){ zComment = mprintf("Add attachment \"%h\" to wiki page [%h]", m.zAttachName, m.zAttachTarget); }else{ zComment = mprintf("Delete attachment \"%h\" from wiki page [%h]", m.zAttachName, m.zAttachTarget); } |
>
>
|
>
|
>
>
>
<
<
<
<
<
|
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
....
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
|
} } if( m.type==CFTYPE_WIKI ){ char *zTag = mprintf("wiki-%s", m.zWikiTitle); int tagid = tag_findid(zTag, 1); int prior; char *zComment; int nWiki; char zLength[40]; while( isspace(m.zWiki[0]) ) m.zWiki++; nWiki = strlen(m.zWiki); sqlite3_snprintf(sizeof(zLength), zLength, "%d", nWiki); tag_insert(zTag, 1, zLength, rid, m.rDate, rid); free(zTag); prior = db_int(0, "SELECT rid FROM tagxref" " WHERE tagid=%d AND mtime<%.17g" " ORDER BY mtime DESC", tagid, m.rDate ); if( prior ){ content_deltify(prior, rid, 0); } if( nWiki>0 ){ zComment = mprintf("Changes to wiki page [%h]", m.zWikiTitle); }else{ zComment = mprintf("Deleted wiki page [%h]", m.zWikiTitle); } db_multi_exec( "REPLACE INTO event(type,mtime,objid,user,comment," " bgcolor,euser,ecomment)" "VALUES('w',%.17g,%d,%Q,%Q," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d AND tagtype>1)," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d)," " (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d));", ................................................................................ m.zAttachTarget, m.zAttachName, m.zAttachTarget, m.zAttachName ); if( strlen(m.zAttachTarget)!=UUID_SIZE || !validate16(m.zAttachTarget, UUID_SIZE) ){ char *zComment; if( m.zAttachSrc && m.zAttachSrc[0] ){ zComment = mprintf("Add attachment \"%h\" to wiki page [%h]", m.zAttachName, m.zAttachTarget); }else{ zComment = mprintf("Delete attachment \"%h\" from wiki page [%h]", m.zAttachName, m.zAttachTarget); } |
Changes to src/tkt.c.
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
manifest_parse(&manifest, &content); ticket_insert(&manifest, createFlag, rid); manifest_ticket_event(rid, &manifest, createFlag, tagid); manifest_clear(&manifest); createFlag = 0; } db_finalize(&q); #if 0 db_prepare(&q, "SELECT attachid, mtime, src IS NULL, filename, user" " FROM attachment" " WHERE target=%Q", zTktUuid ); while( db_step(&q)==SQLITE_ROW ){ int attachid = db_column_int(&q, 0); double mtime = db_column_double(&q, 1); int isDelete = db_column_int(&q, 2); const char *zFile = db_column_text(&q, 3); const char *zUser = db_column_text(&q, 4); char *zCom; if( isDelete ){ zCom = mprintf("Delete attachment \"%h\" from ticket [%.10s] by user %h", zFile, zTktUuid, zUser); }else{ zCom = mprintf("Add attachment \"%h\" to ticket [%.10s] by user %h", zFile, zTktUuid, zUser); } db_multi_exec( "REPLACE INTO event(type,tagid,mtime,objid,user,comment,brief)" "VALUES('t',%d,%.17g,%d,%Q,%Q,%Q)", tagid, mtime, attachid, zUser, zCom, zCom ); free(zCom); } db_finalize(&q); #endif } /* ** Create the subscript interpreter and load the "common" code. */ void ticket_init(void){ const char *zConfig; |
< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
manifest_parse(&manifest, &content); ticket_insert(&manifest, createFlag, rid); manifest_ticket_event(rid, &manifest, createFlag, tagid); manifest_clear(&manifest); createFlag = 0; } db_finalize(&q); } /* ** Create the subscript interpreter and load the "common" code. */ void ticket_init(void){ const char *zConfig; |