char *viewdefs[] = {
"Messages",
"Summary",
- "Address Book"
+ "Address Book",
+ "Calendar",
+ "Tasks"
};
char floorlist[128][SIZ];
" <A HREF=\"/toggle_self_service?newval=0&"
"tab=listserv\">"
"Click to disable.</A><BR>\n"
+ "The URL for subscribe/unsubscribe is: "
+ "<TT>http://%s/listsub</TT><BR>\n",
+ WC->http_host
);
}
else {
wprintf("so you don't have to keep returning here.\n");
wprintf("<BR><BR>");
- wprintf("<FORM METHOD=\"POST\" ACTION=\"/goto_private\">\n");
+ wprintf("<FORM METHOD=\"GET\" ACTION=\"/goto_private\">\n");
wprintf("<TABLE border><TR><TD>");
wprintf("Enter room name:</TD><TD>");
wprintf("disappear from your room list. Is this what you wish ");
wprintf("to do?<BR>\n");
- wprintf("<FORM METHOD=\"POST\" ACTION=\"/zap\">\n");
+ wprintf("<FORM METHOD=\"GET\" ACTION=\"/zap\">\n");
wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
wprintf("</FORM>\n");
wprintf("</FONT></TD></TR></TABLE>\n");
wprintf("<CENTER>");
- wprintf("<FORM METHOD=\"POST\" ACTION=\"/delete_room\">\n");
+ wprintf("<FORM METHOD=\"GET\" ACTION=\"/delete_room\">\n");
wprintf("Are you sure you want to delete <FONT SIZE=+1>");
escputs(WC->wc_roomname);
char buf[SIZ];
int levels, oldlevels;
+ int swap = 0;
struct folder {
char room[SIZ];
struct folder ftmp;
int max_folders = 0;
int alloc_folders = 0;
- int i, j, k;
+ int i, j, k, t;
int p;
int flags;
int floor;
fold = malloc(sizeof(struct folder));
memset(fold, 0, sizeof(struct folder));
strcpy(fold[0].name, "My folders");
+ fold[0].is_mailbox = 1;
/* Then add floors */
serv_puts("LFLR");
/* Bubble-sort the folder list */
for (i=0; i<max_folders; ++i) {
for (j=0; j<(max_folders-1)-i; ++j) {
- if (strcasecmp(fold[j].name, fold[j+1].name) > 0) {
+ if (fold[j].is_mailbox == fold[j+1].is_mailbox) {
+ swap = strcasecmp(fold[j].name, fold[j+1].name);
+ }
+ else {
+ if ( (fold[j+1].is_mailbox)
+ && (!fold[j].is_mailbox)) {
+ swap = 1;
+ }
+ else {
+ swap = 0;
+ }
+ }
+ if (swap > 0) {
memcpy(&ftmp, &fold[j], sizeof(struct folder));
memcpy(&fold[j], &fold[j+1],
sizeof(struct folder));
levels = num_tokens(fold[i].name, '|');
if (levels > oldlevels) {
for (k=0; k<(levels-oldlevels); ++k) {
- wprintf("<UL>");
++nests;
}
}
if (levels < oldlevels) {
for (k=0; k<(oldlevels-levels); ++k) {
- wprintf("</UL>");
--nests;
}
}
oldlevels = levels;
- wprintf("<LI>");
+ for (t=0; t<nests; ++t) wprintf(" ");
if (fold[i].selectable) {
wprintf("<A HREF=\"/dotgoto?room=");
urlescputs(fold[i].room);
wprintf("\">");
}
+ else {
+ wprintf("<i>");
+ }
if (fold[i].hasnewmsgs) wprintf("<B>");
extract(buf, fold[i].name, levels-1);
escputs(buf);
if (fold[i].hasnewmsgs) wprintf("</B>");
- if (fold[i].selectable) wprintf("</A>\n");
+ if (fold[i].selectable) {
+ wprintf("</A>");
+ }
+ else {
+ wprintf("</i>");
+ }
+ if (!strcasecmp(fold[i].name, "My Folders|Mail")) {
+ wprintf(" (INBOX)");
+ }
+ wprintf("<BR>\n");
}
- while (nests-- > 0) wprintf("</UL>\n");
+ while (nests-- > 0) ;;
free(fold);
wDumpContent(1);