mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-14 20:33:48 +00:00
Made select/edit work with date/time attributes
SVN revision: 2143
This commit is contained in:
parent
4d1a8a26f5
commit
05bd85875b
175
src/elogd.c
175
src/elogd.c
@ -4630,6 +4630,9 @@ int el_submit(LOGBOOK * lbs, int message_id, BOOL bedit, char *date, char attr_n
|
|||||||
p += 41;
|
p += 41;
|
||||||
old_text = xmalloc(size + 1);
|
old_text = xmalloc(size + 1);
|
||||||
strlcpy(old_text, p, size);
|
strlcpy(old_text, p, size);
|
||||||
|
if (old_text[strlen(old_text)-1] == '\n' ||
|
||||||
|
old_text[strlen(old_text)-1] == '\r')
|
||||||
|
old_text[strlen(old_text)-1] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8742,7 +8745,10 @@ void show_date_selector(int day, int month, int year, char *index)
|
|||||||
|
|
||||||
rsprintf("<select name=\"m%s\">\n", index);
|
rsprintf("<select name=\"m%s\">\n", index);
|
||||||
|
|
||||||
rsprintf("<option value=\"\">\n");
|
if (isparam("nsel"))
|
||||||
|
rsprintf("<option value=\"<keep>\">- %s -\n", loc("keep original values"));
|
||||||
|
else
|
||||||
|
rsprintf("<option value=\"\">\n");
|
||||||
for (i = 0; i < 12; i++)
|
for (i = 0; i < 12; i++)
|
||||||
if (i + 1 == month)
|
if (i + 1 == month)
|
||||||
rsprintf("<option selected value=\"%d\">%s\n", i + 1, month_name(i));
|
rsprintf("<option selected value=\"%d\">%s\n", i + 1, month_name(i));
|
||||||
@ -8751,7 +8757,8 @@ void show_date_selector(int day, int month, int year, char *index)
|
|||||||
rsprintf("</select>\n");
|
rsprintf("</select>\n");
|
||||||
|
|
||||||
rsprintf("<select name=\"d%s\">", index);
|
rsprintf("<select name=\"d%s\">", index);
|
||||||
rsprintf("<option selected value=\"\">\n");
|
|
||||||
|
rsprintf("<option value=\"\">\n");
|
||||||
for (i = 0; i < 31; i++)
|
for (i = 0; i < 31; i++)
|
||||||
if (i + 1 == day)
|
if (i + 1 == day)
|
||||||
rsprintf("<option selected value=%d>%d\n", i + 1, i + 1);
|
rsprintf("<option selected value=%d>%d\n", i + 1, i + 1);
|
||||||
@ -8759,11 +8766,11 @@ void show_date_selector(int day, int month, int year, char *index)
|
|||||||
rsprintf("<option value=%d>%d\n", i + 1, i + 1);
|
rsprintf("<option value=%d>%d\n", i + 1, i + 1);
|
||||||
rsprintf("</select>\n");
|
rsprintf("</select>\n");
|
||||||
|
|
||||||
|
rsprintf(" %s: ", loc("Year"));
|
||||||
if (year)
|
if (year)
|
||||||
rsprintf(" %s: <input type=\"text\" size=5 maxlength=5 name=\"y%s\" value=\"%d\">", loc("Year"),
|
rsprintf("<input type=\"text\" size=5 maxlength=5 name=\"y%s\" value=\"%d\">", index, year);
|
||||||
index, year);
|
|
||||||
else
|
else
|
||||||
rsprintf(" %s: <input type=\"text\" size=5 maxlength=5 name=\"y%s\">", loc("Year"), index);
|
rsprintf("<input type=\"text\" size=5 maxlength=5 name=\"y%s\">", index);
|
||||||
|
|
||||||
rsprintf("\n<script language=\"javascript\" type=\"text/javascript\">\n");
|
rsprintf("\n<script language=\"javascript\" type=\"text/javascript\">\n");
|
||||||
rsprintf("<!--\n");
|
rsprintf("<!--\n");
|
||||||
@ -8790,7 +8797,11 @@ void show_time_selector(int hour, int min, int sec, char *index)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
rsprintf("<select name=\"h%s\">\n", index);
|
rsprintf("<select name=\"h%s\">\n", index);
|
||||||
rsprintf("<option value=\"\">\n");
|
|
||||||
|
if (isparam("nsel"))
|
||||||
|
rsprintf("<option value=\"<keep>\">- %s -\n", loc("keep original values"));
|
||||||
|
else
|
||||||
|
rsprintf("<option value=\"\">\n");
|
||||||
for (i = 0; i < 24; i++)
|
for (i = 0; i < 24; i++)
|
||||||
if (i == hour)
|
if (i == hour)
|
||||||
rsprintf("<option selected value=\"%d\">%02d\n", i, i);
|
rsprintf("<option selected value=\"%d\">%02d\n", i, i);
|
||||||
@ -8799,7 +8810,7 @@ void show_time_selector(int hour, int min, int sec, char *index)
|
|||||||
rsprintf("</select> <b>:</b> \n");
|
rsprintf("</select> <b>:</b> \n");
|
||||||
|
|
||||||
rsprintf("<select name=\"n%s\">", index);
|
rsprintf("<select name=\"n%s\">", index);
|
||||||
rsprintf("<option selected value=\"\">\n");
|
rsprintf("<option value=\"\">\n");
|
||||||
for (i = 0; i < 60; i++)
|
for (i = 0; i < 60; i++)
|
||||||
if (i == min)
|
if (i == min)
|
||||||
rsprintf("<option selected value=%d>%02d\n", i, i);
|
rsprintf("<option selected value=%d>%02d\n", i, i);
|
||||||
@ -8807,8 +8818,8 @@ void show_time_selector(int hour, int min, int sec, char *index)
|
|||||||
rsprintf("<option value=%d>%02d\n", i, i);
|
rsprintf("<option value=%d>%02d\n", i, i);
|
||||||
rsprintf("</select> <b>:</b> \n");
|
rsprintf("</select> <b>:</b> \n");
|
||||||
|
|
||||||
rsprintf("<select name=\"s%s\">", index);
|
rsprintf("<select name=\"c%s\">", index);
|
||||||
rsprintf("<option selected value=\"\">\n");
|
rsprintf("<option value=\"\">\n");
|
||||||
for (i = 0; i < 60; i++)
|
for (i = 0; i < 60; i++)
|
||||||
if (i == sec)
|
if (i == sec)
|
||||||
rsprintf("<option selected value=%d>%02d\n", i, i);
|
rsprintf("<option selected value=%d>%02d\n", i, i);
|
||||||
@ -8829,7 +8840,7 @@ void show_time_selector(int hour, int min, int sec, char *index)
|
|||||||
rsprintf(" document.form1.y%s.value = year;\n", index);
|
rsprintf(" document.form1.y%s.value = year;\n", index);
|
||||||
rsprintf(" document.form1.h%s.value = d.getHours();\n", index);
|
rsprintf(" document.form1.h%s.value = d.getHours();\n", index);
|
||||||
rsprintf(" document.form1.n%s.value = d.getMinutes();\n", index);
|
rsprintf(" document.form1.n%s.value = d.getMinutes();\n", index);
|
||||||
rsprintf(" document.form1.s%s.value = d.getSeconds();\n", index);
|
rsprintf(" document.form1.c%s.value = d.getSeconds();\n", index);
|
||||||
rsprintf("}\n\n");
|
rsprintf("}\n\n");
|
||||||
|
|
||||||
rsprintf(" document.write(\" \");\n");
|
rsprintf(" document.write(\" \");\n");
|
||||||
@ -8914,7 +8925,7 @@ void attrib_from_param(int n_attr, char attrib[MAX_N_ATTR][NAME_LENGTH])
|
|||||||
sprintf(str, "n%d", i);
|
sprintf(str, "n%d", i);
|
||||||
min = atoi(isparam(str) ? getparam(str) : "");
|
min = atoi(isparam(str) ? getparam(str) : "");
|
||||||
|
|
||||||
sprintf(str, "s%d", i);
|
sprintf(str, "c%d", i);
|
||||||
sec = atoi(isparam(str) ? getparam(str) : "");
|
sec = atoi(isparam(str) ? getparam(str) : "");
|
||||||
|
|
||||||
memset(&ts, 0, sizeof(struct tm));
|
memset(&ts, 0, sizeof(struct tm));
|
||||||
@ -10084,14 +10095,16 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
|||||||
hour = min = sec = -1;
|
hour = min = sec = -1;
|
||||||
if (attrib[index][0]) {
|
if (attrib[index][0]) {
|
||||||
ltime = atoi(attrib[index]);
|
ltime = atoi(attrib[index]);
|
||||||
pts = localtime(<ime);
|
if (ltime > 0) {
|
||||||
assert(pts);
|
pts = localtime(<ime);
|
||||||
year = pts->tm_year + 1900;
|
assert(pts);
|
||||||
month = pts->tm_mon + 1;
|
year = pts->tm_year + 1900;
|
||||||
day = pts->tm_mday;
|
month = pts->tm_mon + 1;
|
||||||
hour = pts->tm_hour;
|
day = pts->tm_mday;
|
||||||
min = pts->tm_min;
|
hour = pts->tm_hour;
|
||||||
sec = pts->tm_sec;
|
min = pts->tm_min;
|
||||||
|
sec = pts->tm_sec;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rsprintf("<td%s class=\"%s\">", title, class_value);
|
rsprintf("<td%s class=\"%s\">", title, class_value);
|
||||||
@ -18323,7 +18336,7 @@ time_t retrieve_date(char *index, BOOL bstart)
|
|||||||
sprintf(pd, "d%s", index);
|
sprintf(pd, "d%s", index);
|
||||||
sprintf(ph, "h%s", index);
|
sprintf(ph, "h%s", index);
|
||||||
sprintf(pn, "n%s", index);
|
sprintf(pn, "n%s", index);
|
||||||
sprintf(ps, "s%s", index);
|
sprintf(ps, "c%s", index);
|
||||||
|
|
||||||
time(<ime);
|
time(<ime);
|
||||||
memcpy(&tms, localtime(<ime), sizeof(tms));
|
memcpy(&tms, localtime(<ime), sizeof(tms));
|
||||||
@ -21788,33 +21801,38 @@ void submit_elog(LOGBOOK * lbs)
|
|||||||
strlcpy(attrib[i], getparam(ua), NAME_LENGTH);
|
strlcpy(attrib[i], getparam(ua), NAME_LENGTH);
|
||||||
else {
|
else {
|
||||||
|
|
||||||
sprintf(str, "y%d", i);
|
|
||||||
year = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
if (year < 100)
|
|
||||||
year += 2000;
|
|
||||||
|
|
||||||
sprintf(str, "m%d", i);
|
sprintf(str, "m%d", i);
|
||||||
month = isparam(str) ? atoi(getparam(str)) : 0;
|
if (isparam(str) && strieq(getparam(str), "<keep>"))
|
||||||
|
strcpy(attrib[i], "<keep>");
|
||||||
sprintf(str, "d%d", i);
|
|
||||||
day = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
|
|
||||||
if (month == 0 || day == 0)
|
|
||||||
strcpy(attrib[i], "");
|
|
||||||
else {
|
else {
|
||||||
memset(&tms, 0, sizeof(struct tm));
|
sprintf(str, "y%d", i);
|
||||||
tms.tm_year = year - 1900;
|
year = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
tms.tm_mon = month - 1;
|
if (year < 100)
|
||||||
tms.tm_mday = day;
|
year += 2000;
|
||||||
tms.tm_hour = 12;
|
|
||||||
|
|
||||||
ltime = (int) mktime(&tms);
|
sprintf(str, "m%d", i);
|
||||||
|
month = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
|
|
||||||
if (ltime == -1) {
|
sprintf(str, "d%d", i);
|
||||||
show_error(loc("Date must be between 1970 and 2037"));
|
day = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
return;
|
|
||||||
|
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 = (int) mktime(&tms);
|
||||||
|
|
||||||
|
if (ltime == -1) {
|
||||||
|
show_error(loc("Date must be between 1970 and 2037"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sprintf(attrib[i], "%d", ltime);
|
||||||
}
|
}
|
||||||
sprintf(attrib[i], "%d", ltime);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21824,45 +21842,50 @@ void submit_elog(LOGBOOK * lbs)
|
|||||||
strlcpy(attrib[i], getparam(ua), NAME_LENGTH);
|
strlcpy(attrib[i], getparam(ua), NAME_LENGTH);
|
||||||
else {
|
else {
|
||||||
|
|
||||||
sprintf(str, "y%d", i);
|
|
||||||
year = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
if (year < 100)
|
|
||||||
year += 2000;
|
|
||||||
|
|
||||||
sprintf(str, "m%d", i);
|
sprintf(str, "m%d", i);
|
||||||
month = isparam(str) ? atoi(getparam(str)) : 0;
|
if (isparam(str) && strieq(getparam(str), "<keep>"))
|
||||||
|
strcpy(attrib[i], "<keep>");
|
||||||
sprintf(str, "d%d", i);
|
|
||||||
day = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
|
|
||||||
sprintf(str, "h%d", i);
|
|
||||||
hour = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
|
|
||||||
sprintf(str, "n%d", i);
|
|
||||||
min = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
|
|
||||||
sprintf(str, "s%d", i);
|
|
||||||
sec = isparam(str) ? atoi(getparam(str)) : 0;
|
|
||||||
|
|
||||||
if (month == 0 || day == 0)
|
|
||||||
strcpy(attrib[i], "");
|
|
||||||
else {
|
else {
|
||||||
memset(&tms, 0, sizeof(struct tm));
|
sprintf(str, "y%d", i);
|
||||||
tms.tm_year = year - 1900;
|
year = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
tms.tm_mon = month - 1;
|
if (year < 100)
|
||||||
tms.tm_mday = day;
|
year += 2000;
|
||||||
tms.tm_hour = hour;
|
|
||||||
tms.tm_min = min;
|
|
||||||
tms.tm_sec = sec;
|
|
||||||
tms.tm_isdst = -1;
|
|
||||||
|
|
||||||
ltime = (int) mktime(&tms);
|
sprintf(str, "m%d", i);
|
||||||
|
month = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
|
|
||||||
if (ltime == -1) {
|
sprintf(str, "d%d", i);
|
||||||
show_error(loc("Date must be between 1970 and 2037"));
|
day = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
return;
|
|
||||||
|
sprintf(str, "h%d", i);
|
||||||
|
hour = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
|
|
||||||
|
sprintf(str, "n%d", i);
|
||||||
|
min = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
|
|
||||||
|
sprintf(str, "c%d", i);
|
||||||
|
sec = isparam(str) ? atoi(getparam(str)) : 0;
|
||||||
|
|
||||||
|
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 = hour;
|
||||||
|
tms.tm_min = min;
|
||||||
|
tms.tm_sec = sec;
|
||||||
|
tms.tm_isdst = -1;
|
||||||
|
|
||||||
|
ltime = (int) mktime(&tms);
|
||||||
|
|
||||||
|
if (ltime == -1) {
|
||||||
|
show_error(loc("Date must be between 1970 and 2037"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sprintf(attrib[i], "%d", ltime);
|
||||||
}
|
}
|
||||||
sprintf(attrib[i], "%d", ltime);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user