diff --git a/elogd.c b/elogd.c index 78ff1a65..e39a8adb 100755 --- a/elogd.c +++ b/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.17 2002/04/29 08:11:38 midas + Added icons via IOptions configuration + Revision 1.16 2002/04/22 10:32:35 midas Version 1.3.4 @@ -193,6 +196,7 @@ char author_list[MAX_N_LIST][NAME_LENGTH] = { #define AF_LOCKED (1<<1) #define AF_MULTI (1<<2) #define AF_FIXED (1<<3) +#define AF_ICON (1<<4) char attr_list[MAX_N_ATTR][NAME_LENGTH]; char attr_options[MAX_N_ATTR][MAX_N_LIST][NAME_LENGTH]; @@ -2653,6 +2657,13 @@ int i, j, n, m; strbreak(list, attr_options[i], MAX_N_LIST); attr_flags[i] |= AF_MULTI; } + + sprintf(str, "IOptions %s", attr_list[i]); + if (getcfg(logbook, str, list)) + { + strbreak(list, attr_options[i], MAX_N_LIST); + attr_flags[i] |= AF_ICON; + } } /* check if attribut required */ @@ -3532,7 +3543,17 @@ time_t now; sprintf(str, "%s%d", attr_list[index], i); if (strstr(attrib[index], attr_options[index][i])) - rsprintf("\n", str, attr_options[index][i]); + rsprintf("\n", str, attr_options[index][i]); + } + } + else if (attr_flags[index] & AF_ICON) + { + for (i=0 ; i\n", str, attr_options[index][i]); } } else @@ -3566,9 +3587,28 @@ time_t now; sprintf(str, "%s%d", attr_list[index], i); if (strstr(attrib[index], attr_options[index][i])) - rsprintf("%s \n", str, attr_options[index][i], attr_options[index][i]); + rsprintf("%s \n", + str, attr_options[index][i], attr_options[index][i]); else - rsprintf("%s \n", str, attr_options[index][i], attr_options[index][i]); + rsprintf("%s \n", + str, attr_options[index][i], attr_options[index][i]); + } + + rsprintf("\n"); + } + else if (attr_flags[index] & AF_ICON) + { + /* display icons */ + rsprintf("\n", gt("Categories bgcolor2")); + + for (i=0 ; i", attr_list[index], attr_options[index][i]); + else + rsprintf("", attr_list[index], attr_options[index][i]); + + rsprintf(" \n", logbook_enc, attr_options[index][i]); } rsprintf("\n"); @@ -3935,6 +3975,17 @@ char str[256]; { if (equal_ustring(attr_options[i][0], "boolean")) rsprintf("\n", attr_list[i]); + + /* display image for icon */ + else if (attr_flags[i] & AF_ICON) + { + for (j=0 ; j", attr_list[i], attr_options[i][j]); + rsprintf(" \n", logbook_enc, attr_options[i][j]); + } + } + else { rsprintf("\n", col); } + + else if (attr_flags[i] & AF_ICON) + { + rsprintf("", col); + if (attrib[i][0]) + rsprintf("", logbook_enc, attrib[i]); + rsprintf(" "); + } + else { rsprintf("", col, size); @@ -5048,6 +5108,15 @@ FILE *f; else rsprintf("\n", col); } + + else if (attr_flags[i] & AF_ICON) + { + rsprintf("", col); + if (attrib[i][0]) + rsprintf("", logbook_enc, attrib[i]); + rsprintf(" "); + } + else rsprintf("%s ", col, size, attrib[i]); } @@ -6326,6 +6395,15 @@ FILE *f; rsprintf("%s:\n", attr_list[i], gt("Categories bgcolor2")); } + /* display image for icon */ + else if (attr_flags[i] & AF_ICON) + { + rsprintf("%s:\n", + attr_list[i], gt("Categories bgcolor2")); + if (attrib[i][0]) + rsprintf("", logbook_enc, attrib[i]); + rsprintf(" \n"); + } else { rsprintf("%s:\n",