]> code.citadel.org Git - citadel.git/blobdiff - webcit/messages.c
* Began implementing month view
[citadel.git] / webcit / messages.c
index d5d98b155e6b187a267cfbbfb07dfd181c0d89a5..b40b587f4bd7f455f4fc95e5a52d5e12e15eba15 100644 (file)
@@ -672,6 +672,8 @@ void readloop(char *oper)
        int num_displayed = 0;
        int is_summary = 0;
        int is_addressbook = 0;
+       int is_calendar = 0;
+       int is_tasks = 0;
        int remaining_messages;
        int lo, hi;
        int lowest_displayed = (-1);
@@ -728,16 +730,31 @@ void readloop(char *oper)
                else wprintf("<A HREF=\"/readfwd?alpha=1\">(other)</A>\n");
                wprintf("<HR width=100%%>\n");
        }
+       if (WC->wc_view == 3) {         /* calendar */
+               is_calendar = 1;
+               strcpy(cmd, "MSGS ALL");
+               maxmsgs = 32767;
+       }
+       if (WC->wc_view == 4) {         /* tasks */
+               is_tasks = 1;
+               strcpy(cmd, "MSGS ALL");
+               maxmsgs = 32767;
+               wprintf("<UL>");
+       }
 
        nummsgs = load_msg_ptrs(cmd);
        if (nummsgs == 0) {
-               if (!strcmp(oper, "readnew")) {
-                       wprintf("<EM>No new messages in this room.</EM>\n");
-               } else if (!strcmp(oper, "readold")) {
-                       wprintf("<EM>No old messages in this room.</EM>\n");
-               } else {
-                       wprintf("<EM>This room is empty.</EM>\n");
+
+               if ((!is_tasks) && (!is_calendar)) {
+                       if (!strcmp(oper, "readnew")) {
+                               wprintf("<EM>No new messages in this room.</EM>\n");
+                       } else if (!strcmp(oper, "readold")) {
+                               wprintf("<EM>No old messages in this room.</EM>\n");
+                       } else {
+                               wprintf("<EM>This room is empty.</EM>\n");
+                       }
                }
+
                goto DONE;
        }
 
@@ -792,6 +809,12 @@ void readloop(char *oper)
                        else if (is_addressbook) {
                                display_addressbook(WC->msgarr[a], alpha);
                        }
+                       else if (is_calendar) {
+                               display_calendar(WC->msgarr[a]);
+                       }
+                       else if (is_tasks) {
+                               display_task(WC->msgarr[a]);
+                       }
                        else {
                                read_message(WC->msgarr[a]);
                        }
@@ -817,6 +840,10 @@ void readloop(char *oper)
                wprintf("</TABLE>\n");
        }
 
+       if (is_tasks) {
+               wprintf("</UL>\n");
+       }
+
        /* Bump these because although we're thinking in zero base, the user
         * is a drooling idiot and is thinking in one base.
         */
@@ -924,7 +951,18 @@ void readloop(char *oper)
        }
        if (is_summary) wprintf("</FORM>\n");
 
-DONE:  wDumpContent(1);
+DONE:
+       if (is_tasks) {
+               wprintf("<A HREF=\"/display_edit_task?msgnum=0\">"
+                       "Add new task</A>\n"
+               );
+       }
+
+       if (is_calendar) {
+               do_calendar_view();
+       }
+
+       wDumpContent(1);
 }