--- webmail/folder.c.orig 2008-07-20 19:00:33.000000000 +0200 +++ webmail/folder.c 2009-06-04 08:32:54.000000000 +0200 @@ -247,6 +247,18 @@ return (maildir_msgmovefile(folder, file, cgi("moveto"), pos)); } +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) { int rc=0; @@ -317,6 +329,16 @@ rc=group_movedel( dir, &groupmove ); maildir_savefoldermsgs(dir); } + else if (*cgi("cmdmark")) + { + rc=group_movedel( dir, &groupmark ); + maildir_savefoldermsgs(dir); + } + else if (*cgi("cmdunmark")) + { + rc=group_movedel( dir, &groupunmark ); + maildir_savefoldermsgs(dir); + } maildir_cleanup(); @@ -441,7 +463,7 @@ folder_navigate(dir, pos, highend, morebefore, moreafter); - printf("\n", + printf("
%s %s%s%s%s
\n", getarg("NUM"), getarg("DATE"), (strncmp(dir, INBOX "." SENT, sizeof(INBOX)+sizeof(SENT)-1) && @@ -486,12 +508,13 @@ if ((q=strrchr(p, '/')) != 0) p=q+1; - printf(""); - puts(""); - puts(""); + puts(""); + puts("
%s   %s%s%s%s
%s%ld.%s%s%ld.%s%s!" : "", (long) (pos+i), (long) (pos+i)); printf("\" onchange=\"setsel('MOVE-%ld', 'row%d', 'folder-index-bg-%d');\"%s /> %s%s%s%s", + printf("\" />%s%s%s%s", folder_index_entry_start, type, folder_index_entry_end, @@ -545,9 +568,9 @@ if (found) { - puts("

 "); + puts("

 "); puts("