diff --git a/ChangeLog b/ChangeLog index 2f8dc7c7..4f35a66a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4664,6 +4664,7 @@ v0.33.20 10-Feb-2002 Vince Coen. Fixed a non understandable logmessage in check if nodes are connected to file and or mail groups. + It is now possible to reset a users time left for today. mbfido: In AreaMgr and FileMgr changed aka matching for area @@ -4816,6 +4817,9 @@ v0.33.20 10-Feb-2002 Calling file transfer protocols now uses the execute call instead of system. Improved error logging for file downloads. + When a user has no Location filled in, the bbs doesn't crash + anymore. + The new files scan colored areasnames bar length is corrected. mbnewusr: New users have the default internal fullscreen editor. diff --git a/mbsebbs/filesub.c b/mbsebbs/filesub.c index fd3478d7..345ce09d 100644 --- a/mbsebbs/filesub.c +++ b/mbsebbs/filesub.c @@ -244,7 +244,7 @@ void Sheader() printf(" ... "); colour(Hcolor, 0); - printf("%-40s", area.Name); + printf("%-44s", area.Name); fflush(stdout); if (Hcolor < 15) diff --git a/mbsebbs/user.c b/mbsebbs/user.c index 0a5abfe7..8256703a 100644 --- a/mbsebbs/user.c +++ b/mbsebbs/user.c @@ -249,9 +249,14 @@ void user() InitLanguage(); /* - * User logged in, tell it to the server. + * User logged in, tell it to the server. Check if a location is + * set, if Ask User location for new users is off, this field is + * empty but we have to send something to the server. */ - UserCity(mypid, usrconfig.sUserName, usrconfig.sLocation); + if (strlen(usrconfig.sLocation)) + UserCity(mypid, usrconfig.sUserName, usrconfig.sLocation); + else + UserCity(mypid, usrconfig.sUserName, (char *)"N/A"); /* * See if this user is the Sysop. diff --git a/mbsetup/m_users.c b/mbsetup/m_users.c index e204c0fc..238c280b 100644 --- a/mbsetup/m_users.c +++ b/mbsetup/m_users.c @@ -223,7 +223,8 @@ void Screen1(void) mvprintw(13,54, " Uploads"); mvprintw(14,54, " Upload Kb"); mvprintw(15,54, " Posted"); - mvprintw(16,54, "15. Screen 2"); + mvprintw(16,54, "15. Time left"); + mvprintw(17,54, "16. Screen 2"); } @@ -273,6 +274,7 @@ void Fields1(void) show_int( 13,68, usrconfig.Uploads); show_int( 14,68, usrconfig.UploadK); show_int( 15,68, usrconfig.iPosted); + show_int( 16,68, usrconfig.iTimeLeft); } @@ -434,8 +436,8 @@ int EditUsrRec2(void) */ int EditUsrRec(int Area) { - FILE *fil; - char mfile[PATH_MAX]; + FILE *fil, *pLimits; + char mfile[PATH_MAX], *temp; long offset; int j = 0; unsigned long crc, crc1; @@ -465,7 +467,7 @@ int EditUsrRec(int Area) for (;;) { Fields1(); - j = select_menu(15); + j = select_menu(16); switch(j) { case 0: crc1 = 0xffffffff; @@ -502,7 +504,29 @@ int EditUsrRec(int Area) case 12:E_BOOL( 7,68, usrconfig.Guest, "This is a ^Guest^ account") case 13:E_BOOL( 8,68, usrconfig.OL_ExtInfo, "Add ^Extended Message Info^ in OLR download") case 14:E_BOOL( 9,68, usrconfig.Email, "User has a ^private email^ mailbox") - case 15:EditUsrRec2(); + case 15:if (yes_no((char *)"Reset time left for today") == 1) { + temp = calloc(PATH_MAX, sizeof(char)); + sprintf(temp, "%s/etc/limits.data", getenv("MBSE_ROOT")); + if ((pLimits = fopen(temp,"r")) == NULL) { + WriteError("$Can't open %s", temp); + } else { + fread(&LIMIThdr, sizeof(LIMIThdr), 1, pLimits); + while (fread(&LIMIT, sizeof(LIMIT), 1, pLimits) == 1) { + if (LIMIT.Security == usrconfig.Security.level) { + if (LIMIT.Time) + usrconfig.iTimeLeft = LIMIT.Time; + else + usrconfig.iTimeLeft = 86400; + usrconfig.iTimeUsed = 0; + break; + } + } + fclose(pLimits); + } + free(temp); + } + break; + case 16:EditUsrRec2(); clr_index(); Screen1(); Fields1();