diff --git a/src/elogd.c b/src/elogd.c
index f8c380c0..32915032 100755
--- a/src/elogd.c
+++ b/src/elogd.c
@@ -6,6 +6,9 @@
Contents: Web server program for Electronic Logbook ELOG
$Log$
+ Revision 1.412 2004/07/28 19:20:46 midas
+ Fixed wrong date on date attributes on edit/reply if attribute is fixed
+
Revision 1.411 2004/07/28 18:51:48 midas
Close syslog on cleanup
@@ -7431,8 +7434,23 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
(bedit && (attr_flags[index] & AF_FIXED_EDIT)) || (message_id && !bedit
&& (attr_flags[index] &
AF_FIXED_REPLY))) {
+ if (attr_flags[index] & AF_DATE) {
+
+ if (!getcfg(lbs->name, "Date format", format, sizeof(format)))
+ strcpy(format, DEFAULT_DATE_FORMAT);
+
+ ltime = atoi(attrib[index]);
+ pts = localtime(<ime);
+ if (ltime == 0)
+ strcpy(str, "-");
+ else
+ strftime(str, sizeof(str), format, pts);
+
+ } else
+ strlcpy(str, attrib[index], sizeof(str));
+
rsprintf("
\n", title);
- rsputs2(attrib[index]);
+ rsputs2(str);
rsprintf(" ");
if (attr_flags[index] & AF_MULTI) {
@@ -15577,28 +15595,33 @@ void submit_elog(LOGBOOK * lbs)
}
} else if (attr_flags[i] & AF_DATE) {
- sprintf(str, "y%d", i);
- year = atoi(getparam(str));
- if (year < 100)
- year += 2000;
-
- sprintf(str, "m%d", i);
- month = atoi(getparam(str));
-
- sprintf(str, "d%d", i);
- day = atoi(getparam(str));
-
- if (month == 0 || day == 0)
- strcpy(attrib[i], "");
+ if (isparam(ua)) // from edit/reply of fixed attributes
+ strlcpy(attrib[i], getparam(ua), NAME_LENGTH);
else {
- memset(&tms, 0, sizeof(struct tm));
- tms.tm_year = year - 1900;
- tms.tm_mon = month - 1;
- tms.tm_mday = day;
- tms.tm_hour = 12;
- ltime = mktime(&tms);
- sprintf(attrib[i], "%d", ltime);
+ sprintf(str, "y%d", i);
+ year = atoi(getparam(str));
+ if (year < 100)
+ year += 2000;
+
+ sprintf(str, "m%d", i);
+ month = atoi(getparam(str));
+
+ sprintf(str, "d%d", i);
+ day = atoi(getparam(str));
+
+ if (month == 0 || day == 0)
+ strcpy(attrib[i], "");
+ else {
+ memset(&tms, 0, sizeof(struct tm));
+ tms.tm_year = year - 1900;
+ tms.tm_mon = month - 1;
+ tms.tm_mday = day;
+ tms.tm_hour = 12;
+
+ ltime = mktime(&tms);
+ sprintf(attrib[i], "%d", ltime);
+ }
}
} else {
|