diff --git a/src/elogd.c b/src/elogd.c index e4c2af86..176ddd97 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.453 2004/08/09 08:50:46 midas + Finished hiding of attachments + Revision 1.452 2004/08/08 20:30:10 midas Started adding attachment hiding @@ -16641,8 +16644,9 @@ void copy_to(LOGBOOK * lbs, int src_id, char *dest_logbook, int move, int orig_i void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command) { - int size, i, j, n, n_log, status, fh, length, message_error, index, - message_id, orig_message_id, format_flags[MAX_N_ATTR], att_hide[MAX_ATTACHMENTS]; + int size, i, j, n, n_log, status, fh, length, message_error, index, n_hidden, + message_id, orig_message_id, format_flags[MAX_N_ATTR], att_hide[MAX_ATTACHMENTS], + n_attachments; char str[1000], ref[256], file_name[256], attrib[MAX_N_ATTR][NAME_LENGTH]; char date[80], text[TEXT_SIZE], menu_str[1000], cmd[256], cmd_enc[256], orig_tag[80], reply_tag[MAX_REPLY_TO * 10], display[256], @@ -16653,7 +16657,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command) lbk_list[MAX_N_LIST][NAME_LENGTH], comment[256], class_name[80], class_value[80], fl[8][NAME_LENGTH]; FILE *f; - BOOL first, show_text; + BOOL first, show_text, display_inline; struct tm *pts; time_t ltime; @@ -17279,15 +17283,21 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command) rsputs("\n"); - for (i=0 ; i\n"); - /* - rsprintf(" | "); - rsprintf("%s", message_id, "##", loc("Hide")); - rsprintf("%s", message_id, loc("Hide all")); - rsprintf("\n"); - */ + /* determine if displayed inline */ + display_inline = (strstr(att, ".GIF") || strstr(att, ".JPG") || strstr(att, ".JPEG") + || strstr(att, ".PNG") || is_ascii(file_name)); + + if (display_inline) { + rsprintf(""); + + /* hide this / show this */ + rsprintf(" | "); + if (att_hide[index]) { + rsprintf("%s", loc("Show")); + } else { + rsprintf("%s", loc("Hide")); + } + + /* hide all */ + if (n_hidden < n_attachments) { + rsprintf(" | %s", loc("Hide all")); + } + + /* show all */ + if (n_hidden > 0) { + for (i=0 ; i%s", message_id, loc("Show all")); + } + + rsprintf("\n"); + } rsprintf("\n"); strlcpy(file_name, lbs->data_dir, sizeof(file_name)); strlcat(file_name, attachment[index], sizeof(file_name)); - if (!getcfg(lbs->name, "Show attachments", str, sizeof(str)) - || atoi(str) == 1) { + if ((!getcfg(lbs->name, "Show attachments", str, sizeof(str)) + || atoi(str) == 1) && !att_hide[index]) { + if (strstr(att, ".GIF") || strstr(att, ".JPG") || strstr(att, ".JPEG") || strstr(att, ".PNG")) { rsprintf("\n");