From f256b8499aeac902771b17e0a2813e59787bb71e Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Mon, 21 Jun 2004 19:11:35 +0000 Subject: [PATCH] Implemented retrieve_elog_from SVN revision: 916 --- src/elogd.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/elogd.c b/src/elogd.c index 1a0710a1..08139a8a 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.353 2004/06/21 19:11:35 midas + Implemented retrieve_elog_from + Revision 1.352 2004/06/21 18:04:43 midas Fixed email notification problem if URL does not contain a trailing '/' @@ -2396,6 +2399,20 @@ void check_config() check_language(); } +/*-------------------------------------------------------------------*/ + +void retrieve_email_from(LOGBOOK *lbs, char *ret) +{ + char str[256]; + + if (isparam("user_email") && *getparam("user_email")) + strcpy(str, getparam("user_email")); + else if (!getcfg(lbs->name, "Use Email from", str)) + sprintf(str, "ELog@%s", host_name); + + strcpy(ret, str); +} + /*------------------------------------------------------------------*/ void el_decode(char *message, char *key, char *result) @@ -8194,8 +8211,7 @@ int save_user_config(LOGBOOK * lbs, char *user, BOOL new_user, BOOL activate) } } - if (!getcfg(lbs->name, "Use Email from", mail_from)) - sprintf(mail_from, "ELog@%s", host_name); + retrieve_email_from(lbs, mail_from); if (activate) { sprintf(subject, loc("Your ELOG account has been activated")); @@ -8593,8 +8609,7 @@ void show_forgot_pwd_page(LOGBOOK * lbs) sprintf(str, "?redir=%s&uname=%s&upassword=%s", redir, login_name, pwd); strlcat(url, str, sizeof(url)); - if (!getcfg(lbs->name, "Use Email from", mail_from)) - sprintf(mail_from, "ELog@%s", host_name); + retrieve_email_from(lbs, mail_from); if (lbs) sprintf(subject, loc("Password recovery for ELOG %s"), lbs->name); @@ -13636,15 +13651,7 @@ int compose_email(LOGBOOK * lbs, char *mail_to, int message_id, if (getcfg(lbs->name, "Email format", str)) flags = atoi(str); - if (getcfg(lbs->name, "Use Email from", mail_from)) { - j = build_subst_list(lbs, slist, svalue, attrib, TRUE); - sprintf(str, "%d", message_id); - add_subst_list(slist, svalue, "message id", str, &j); - strsubst(mail_from, slist, svalue, j); - if (strncmp(mail_from, "mailto:", 7) == 0) - strcpy(mail_from, mail_from + 7); - } else - sprintf(mail_from, "ELog@%s", host_name); + retrieve_email_from(lbs, mail_from); mail_text = malloc(TEXT_SIZE + 1000); mail_text[0] = 0;