--- libs/sqwebmail/folder.c.orig 2008-07-20 19:00:33.000000000 +0200 +++ libs/sqwebmail/folder.c 2009-06-04 08:32:54.000000000 +0200 @@ -331,6 +331,18 @@ return rc ? "quota":""; } +static int groupmark(const char *folder, const char *file, size_t pos) +{ + maildir_msgmarkfile(folder, file, pos); + return (0); +} + +static int groupunmark(const char *folder, const char *file, size_t pos) +{ + maildir_msgunmarkfile(folder, file, pos); + return (0); +} + void folder_delmsgs(const char *dir, size_t pos) { const char *status=do_folder_delmsgs(dir, pos); @@ -392,6 +404,16 @@ } fclose(fp); } + else if (*cgi("cmdmark")) + { + rc=group_movedel( dir, &groupmark ); + maildir_savefoldermsgs(dir); + } + else if (*cgi("cmdunmark")) + { + rc=group_movedel( dir, &groupunmark ); + maildir_savefoldermsgs(dir); + } fprintf(ofp, "%s\n%s\n", maildir, path); fclose(ofp); @@ -510,7 +532,7 @@ folder_navigate(dir, pos, highend, morebefore, moreafter, last_message_searched_ptr); - printf("\n", + printf("
%s %s%s%s%s
\n", getarg("NUM"), getarg("DATE"), (strncmp(dir, INBOX "." SENT, sizeof(INBOX)+sizeof(SENT)-1) && @@ -531,9 +553,9 @@ if (found) { - puts(""); - puts(""); - puts(""); + puts(""); + puts("
%s   %s%s%s%s

 "); + puts("

 "); puts("