diff --git a/eloglang.german b/eloglang.german index 54984573..3f71ed61 100755 --- a/eloglang.german +++ b/eloglang.german @@ -257,3 +257,4 @@ No Email address registered with user name "%s" = F Error sending Email = Fehler beim Versenden der Email A new password for user "%s" has been sent to %s = Ein neues Kennwort für Benutzer "%s" wurde and %s geschickt Forgot = vergessen +User "%s" registered on host "%s" = Benutzer "%s" auf Computer "%s" registriert \ No newline at end of file diff --git a/src/elogd.c b/src/elogd.c index a37c6a59..545cb233 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.73 2003/04/08 08:01:53 midas + Fixed problem with global self registering + Revision 1.72 2003/04/07 20:38:50 midas Fixed problem with 'Forgot' @@ -6066,7 +6069,8 @@ int i, fh, size, self_register; line[i] = pl[i]; line[i] = 0; - if (line[0] == ';' || line[0] == '#' || line[0] == 0) + /* skip outcommented lines */ + if (line[0] == ';' || line[0] == '#') { pl += strlen(line); while (*pl && (*pl == '\r' || *pl == '\n')) @@ -6074,6 +6078,9 @@ int i, fh, size, self_register; continue; } + if (line[0] == 0) + break; + strcpy(str, line); if (strchr(str, ':')) *strchr(str, ':') = 0; @@ -6100,7 +6107,7 @@ int i, fh, size, self_register; lseek(fh, 0, SEEK_END); if (strlen(buf) != 0 && (buf[strlen(buf)-1] != '\r' && buf[strlen(buf)-1] != '\n')) - write(fh, "\n", 2); + write(fh, "\n", 1); if (activate) sprintf(str, "%s:%s:%s:%s:%s\n", getparam("new_user_name"), getparam("encpwd"), @@ -6198,13 +6205,21 @@ int i, fh, size, self_register; } else { - sprintf(subject, loc("User \"%s\" registered on logbook \"%s\""), getparam("new_user_name"), lbs->name); + if (lbs) + sprintf(subject, loc("User \"%s\" registered on logbook \"%s\""), getparam("new_user_name"), lbs->name); + else + sprintf(subject, loc("User \"%s\" registered on host \"%s\""), getparam("new_user_name"), host_name); + sprintf(mail_text, loc("A new ELOG user has been registered on %s"), host_name); } sprintf(mail_text+strlen(mail_text), "\r\n\r\n"); - sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Logbook"), lbs->name); + if (lbs) + sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Logbook"), lbs->name); + else + sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Host"), host_name); + sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Login name"), getparam("new_user_name")); sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Full name"), getparam("new_full_name")); sprintf(mail_text+strlen(mail_text), "%s : %s\r\n", loc("Email"), getparam("new_user_email")); @@ -6354,16 +6369,21 @@ int i, fh, size; void show_config_page(LOGBOOK *lbs) { -char str[256], user[80], password[80], full_name[80], user_email[80], email_notify[256]; +char str[256], user[80], password[80], full_name[80], user_email[80], email_notify[256], logbook[256]; int i; + if (lbs) + strcpy(logbook, lbs->name); + else + strcpy(logbook, "global"); + /*---- header ----*/ show_standard_header(lbs, TRUE, loc("ELOG user config"), "."); /*---- title ----*/ - show_standard_title(lbs->name, "", 0); + show_standard_title(logbook, "", 0); /* get user */ strcpy(user, getparam("unm")); @@ -6387,7 +6407,7 @@ int i; /*---- if admin user, show user list ----*/ - if (getcfg(lbs->name, "Admin user", str) && + if (getcfg(logbook, "Admin user", str) && strstr(str, getparam("unm")) != 0) { rsprintf("\n"); @@ -6416,7 +6436,7 @@ int i; rsprintf("