Diff
Not logged in

Differences From:

File src/manifest.c part of check-in [bf428e6854] - Now able to enter and edit and display wiki pages. Still many problems to be resolved. by drh on 2007-10-06 13:13:33. [view]

To:

File src/manifest.c part of check-in [6d58613757] - Timeline comments are now rendered as wiki. Wiki changes appear on the timeline. by drh on 2007-10-06 16:37:39. [view]

@@ -827,8 +827,9 @@
   if( m.type==CFTYPE_WIKI ){
     char *zTag = mprintf("wiki-%s", m.zWikiTitle);
     int tagid = tag_findid(zTag, 1);
     int prior;
+    char *zComment;
     tag_insert(zTag, 1, 0, rid, m.rDate, rid);
     free(zTag);
     prior = db_int(0,
       "SELECT rid FROM tagxref"
@@ -838,9 +839,25 @@
     );
     if( prior ){
       content_deltify(prior, rid, 0);
     }
+    zComment = mprintf("Changes to wiki page [%h]", m.zWikiTitle);
+    db_multi_exec(
+      "INSERT INTO event(type,mtime,objid,user,comment,"
+      "                  bgcolor,brbgcolor,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 AND tagtype!=1),"
+      "  (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d),"
+      "  (SELECT value FROM tagxref WHERE tagid=%d AND rid=%d));",
+      m.rDate, rid, m.zUser, zComment,
+      TAG_BGCOLOR, rid,
+      TAG_BGCOLOR, rid,
+      TAG_USER, rid,
+      TAG_COMMENT, rid
+    );
+    free(zComment);
   }
   db_end_transaction(0);
   manifest_clear(&m);
   return 1;
 }