diff --git a/src/elogd.c b/src/elogd.c index 03f8a962..6aa8df1d 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -2274,7 +2274,7 @@ int sendmail(LOGBOOK * lbs, char *smtp_host, char *from, char *to, char *text, c recv_string(s, str, strsize, 3000); if (strchr(str, '\r')) *strchr(str, '\r') = 0; - if (atoi(str) >= 100) { + if (atoi(str) != 334) { strcat(str, "\n"); if (verbose) efputs(str); @@ -2294,8 +2294,8 @@ int sendmail(LOGBOOK * lbs, char *smtp_host, char *from, char *to, char *text, c strcat(str, "\r\n"); send(s, str, strlen(str), 0); if (verbose) - efputs(str); - write_logfile(lbs, str); + efputs(decoded); + write_logfile(lbs, decoded); recv_string(s, str, strsize, 3000); if (strchr(str, '\r')) *strchr(str, '\r') = 0; @@ -13908,11 +13908,11 @@ void show_import_page_csv(LOGBOOK * lbs) rsprintf("\n"); rsprintf("
\n", loc("Derive attributes from CSV file")); - if (isparam("ignore")) - rsprintf("\n"); + if (isparam("notignore")) + rsprintf("\n"); else - rsprintf("\n"); - rsprintf("
\n", loc("Ignore first line")); + rsprintf("\n"); + rsprintf("
\n", loc("Do not ignore first line")); rsprintf("\n"); rsprintf("
\n", loc("Preview import")); @@ -14078,8 +14078,8 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile) rsprintf("\n", sep); if (isparam("head")) rsprintf("\n", getparam("head")); - if (isparam("ignore")) - rsprintf("\n", getparam("ignore")); + if (isparam("notignore")) + rsprintf("\n", getparam("notignore")); if (isparam("filltext")) rsprintf("\n", getparam("filltext")); rsprintf("\n", csvfile); @@ -14116,7 +14116,7 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile) } /* ignore first line */ - if (first && isparam("ignore")) { + if (first && !isparam("notignore")) { first = FALSE; continue; } @@ -14240,29 +14240,38 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile) } else { - /* get date if present */ + /* get date and check it */ strlcpy(date, list + datecol*NAME_LENGTH, sizeof(date)); - - if (!filltext) { - /* submit entry */ - if (el_submit - (lbs, 0, FALSE, date, attr_list, - (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, "", "", "", "plain", - NULL, TRUE, NULL)) - n_imported++; + ltime = date_to_ltime(date); + if (ltime <= 0) { + strcpy(str, loc("Invalid date format")); + strlcat(str, ": \"", sizeof(str)); + strlcat(str, date, sizeof(str)); + strlcat(str, "\"", sizeof(str)); + show_error(str); + return; } else { - strlcpy(line, list + textcol * NAME_LENGTH, 10000); - insert_breaks(line, 78, 10000); + if (!filltext) { + /* submit entry */ + if (el_submit + (lbs, 0, FALSE, date, attr_list, + (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, "", "", "", "plain", + NULL, TRUE, NULL)) + n_imported++; + } else { + strlcpy(line, list + textcol * NAME_LENGTH, 10000); + insert_breaks(line, 78, 10000); - for (i = textcol; i < n_attr + attr_offset; i++) - strlcpy(list + i * NAME_LENGTH, list + (i + 1) * NAME_LENGTH, NAME_LENGTH); + for (i = textcol; i < n_attr + attr_offset; i++) + strlcpy(list + i * NAME_LENGTH, list + (i + 1) * NAME_LENGTH, NAME_LENGTH); - /* submit entry */ - if (el_submit - (lbs, 0, FALSE, date, attr_list, - (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, line, "", "", "plain", - NULL, TRUE, NULL)) - n_imported++; + /* submit entry */ + if (el_submit + (lbs, 0, FALSE, date, attr_list, + (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, line, "", "", "plain", + NULL, TRUE, NULL)) + n_imported++; + } } } }