Write out a log message when an unparented blog comment is encountered
[citadel.git] / webcit / blogview_renderer.c
index 83a8359882bc309437dcb55d0fb50e9c1e2762f4..5d7579a9079e9e7b14de1221af2430c8eec9d3bb 100644 (file)
@@ -69,7 +69,7 @@ void blogpost_render(struct blogpost *bp, int with_comments)
                for (i=1; i<bp->num_msgs; ++i) {
                        read_message(WC->WBuf, HKEY("view_blog_comment"), bp->msgs[i], NULL, &Mime);
                }
-               do_template("blog_comment_box");
+               do_template("view_blog_comment_box");
        }
 
        else {
@@ -214,6 +214,9 @@ int blogview_LoadMsgFromServer(SharedMessageStatus *Stat,
                }
                bp->msgs[bp->num_msgs++] = Msg->msgnum;
        }
+       else {
+               syslog(LOG_DEBUG, "** comment %ld is unparented", Msg->msgnum);
+       }
 
        return 200;
 }
@@ -279,11 +282,11 @@ int blogview_render(SharedMessageStatus *Stat, void **ViewSpecific, long oper)
         * which they point are still owned by the hash list.
         */
        if (num_blogposts > 0) {
+               int start_here = 0;
                /* Sort newest-to-oldest */
                qsort(blogposts, num_blogposts, sizeof(void *), blogview_sortfunc);
 
                /* allow the user to select a starting point in the list */
-               int start_here = 0;
                for (i=0; i<num_blogposts; ++i) {
                        if (blogposts[i]->top_level_id == firstp) {
                                start_here = i;
@@ -294,7 +297,23 @@ int blogview_render(SharedMessageStatus *Stat, void **ViewSpecific, long oper)
 
                /* Now go through the list and render what we've got */
                for (i=start_here; i<num_blogposts; ++i) {
-                       blogpost_render(blogposts[i], with_comments);
+                       if ((i > 0) && (i == start_here)) {
+                               int j = i - maxp;
+                               if (j < 0) j = 0;
+                               wc_printf("<div class=\"newer_blog_posts\"><a href=\"readfwd?go=");
+                               urlescputs(ChrPtr(WC->CurRoom.name));
+                               wc_printf("?firstp=%d?maxp=%d\">", blogposts[j]->top_level_id, maxp);
+                               wc_printf("%s →</a></div>\n", _("Newer posts"));
+                       }
+                       if (i < (start_here + maxp)) {
+                               blogpost_render(blogposts[i], with_comments);
+                       }
+                       else if (i == (start_here + maxp)) {
+                               wc_printf("<div class=\"older_blog_posts\"><a href=\"readfwd?go=");
+                               urlescputs(ChrPtr(WC->CurRoom.name));
+                               wc_printf("?firstp=%d?maxp=%d\">", blogposts[i]->top_level_id, maxp);
+                               wc_printf("← %s</a></div>\n", _("Older posts"));
+                       }
                }
 
                /* Done.  We are only freeing the array of pointers; the data itself