mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Fixed display of multiple messages in threaded find
SVN revision: 260
This commit is contained in:
parent
4ca8089ecc
commit
076920ddbf
58
elogd.c
58
elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 2.87 2002/10/15 08:07:13 midas
|
||||||
|
Fixed display of multiple messages in threaded find
|
||||||
|
|
||||||
Revision 2.86 2002/09/30 07:07:02 midas
|
Revision 2.86 2002/09/30 07:07:02 midas
|
||||||
Fixed typo
|
Fixed typo
|
||||||
|
|
||||||
@ -6560,7 +6563,7 @@ char str[256], col[80], ref[256], img[80];
|
|||||||
char mode[80];
|
char mode[80];
|
||||||
char menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH];
|
char menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH];
|
||||||
char *p , *pt, *pt1, *pt2;
|
char *p , *pt, *pt1, *pt2;
|
||||||
BOOL show_attachments, threaded, only_message_heads;
|
BOOL show_attachments, threaded;
|
||||||
time_t ltime, ltime_start, ltime_end, now;
|
time_t ltime, ltime_start, ltime_end, now;
|
||||||
struct tm tms, *ptms;
|
struct tm tms, *ptms;
|
||||||
MSG_LIST *msg_list;
|
MSG_LIST *msg_list;
|
||||||
@ -6582,6 +6585,16 @@ MSG_LIST *msg_list;
|
|||||||
*pt1-- = 0;
|
*pt1-- = 0;
|
||||||
*pt1 = 0;
|
*pt1 = 0;
|
||||||
}
|
}
|
||||||
|
/* add reverse=0 if not present */
|
||||||
|
if (strstr(_cmdline, "reverse=") == NULL &&
|
||||||
|
getcfg(lbs->name, "Reverse sort", str) &&
|
||||||
|
atoi(str) == 1)
|
||||||
|
{
|
||||||
|
if (strchr(_cmdline, '?'))
|
||||||
|
strcat(_cmdline, "&reverse=0");
|
||||||
|
else
|
||||||
|
strcat(_cmdline, "?reverse=0");
|
||||||
|
}
|
||||||
redirect(_cmdline);
|
redirect(_cmdline);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -6639,7 +6652,6 @@ MSG_LIST *msg_list;
|
|||||||
}
|
}
|
||||||
|
|
||||||
threaded = equal_ustring(mode, "threaded");
|
threaded = equal_ustring(mode, "threaded");
|
||||||
only_message_heads = threaded;
|
|
||||||
|
|
||||||
/*---- convert dates to ltime ----*/
|
/*---- convert dates to ltime ----*/
|
||||||
|
|
||||||
@ -6888,7 +6900,6 @@ MSG_LIST *msg_list;
|
|||||||
{
|
{
|
||||||
if (*getparam(attr_list[i]))
|
if (*getparam(attr_list[i]))
|
||||||
{
|
{
|
||||||
only_message_heads = FALSE;
|
|
||||||
strcpy(str, getparam(attr_list[i]));
|
strcpy(str, getparam(attr_list[i]));
|
||||||
for (j=0 ; j<(int)strlen(str) ; j++)
|
for (j=0 ; j<(int)strlen(str) ; j++)
|
||||||
str[j] = toupper(str[j]);
|
str[j] = toupper(str[j]);
|
||||||
@ -6909,7 +6920,6 @@ MSG_LIST *msg_list;
|
|||||||
|
|
||||||
if (*getparam("subtext"))
|
if (*getparam("subtext"))
|
||||||
{
|
{
|
||||||
only_message_heads = FALSE;
|
|
||||||
strcpy(str, getparam("subtext"));
|
strcpy(str, getparam("subtext"));
|
||||||
for (i=0 ; i<(int)strlen(str) ; i++)
|
for (i=0 ; i<(int)strlen(str) ; i++)
|
||||||
str[i] = toupper(str[i]);
|
str[i] = toupper(str[i]);
|
||||||
@ -6925,11 +6935,43 @@ MSG_LIST *msg_list;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check if reply */
|
/* in threaded mode, find message head */
|
||||||
if (only_message_heads && in_reply_to[0])
|
if (threaded && in_reply_to[0])
|
||||||
{
|
{
|
||||||
msg_list[index].lbs = NULL;
|
do
|
||||||
continue;
|
{
|
||||||
|
message_id = atoi(in_reply_to);
|
||||||
|
size = sizeof(text);
|
||||||
|
status = el_retrieve(msg_list[index].lbs, message_id,
|
||||||
|
date, attr_list, attrib, lbs->n_attr,
|
||||||
|
text, &size, in_reply_to, reply_to,
|
||||||
|
attachment,
|
||||||
|
encoding);
|
||||||
|
if (status != EL_SUCCESS)
|
||||||
|
break;
|
||||||
|
|
||||||
|
} while (in_reply_to[0]);
|
||||||
|
|
||||||
|
/* search index of message head */
|
||||||
|
for (i=0 ; i < *msg_list[index].lbs->n_el_index ; i++)
|
||||||
|
if (msg_list[index].lbs->el_index[i].message_id == message_id)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* check if message head already in list */
|
||||||
|
for (j=0 ; j<index ; j++)
|
||||||
|
if (msg_list[j].lbs == msg_list[index].lbs &&
|
||||||
|
msg_list[j].index == i)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (i < index)
|
||||||
|
{
|
||||||
|
msg_list[index].lbs = NULL; // delete current message
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg_list[index].index = i; // replace current message with message head
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add attribute for sorting */
|
/* add attribute for sorting */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user