/* -------------------------------------------------------------------- */ int changedir(char *path) { flipFileLan(path,1); /* change disk */ changedisk(path[0]); /* change path */ if (chdir(path) == -1) { mPrintf("\n Directory path invalid."); cPrintf("\n Invalid directory '%s' on drive '%c:'.\n", path, path[0]); amPrintf("\n Invalid directory '%s' on drive '%c:'.\n", path, path[0]); SaveAideMess(); flipFileLan(path,0); return -1; } flipFileLan(path,0); return TRUE; }
void globalhall(void) { int roomslot; changed_room = FALSE; for (roomslot = 0; roomslot < MAXROOMS; roomslot++) if (roomTab[roomslot].rtflags.INUSE) { mPrintf(" %s", roomTab[roomslot].rtname); if (xhallfunc(roomslot, 3, TRUE)==FALSE) break; } if (changed_room) { amPrintf("\n By %s, in hall %s\n", logBuf.lbname, hallBuf->hall[thisHall].hallname); SaveAideMess(); } putHall(); }
/* -------------------------------------------------------------------- */ void globaluser(void) { label who; int groupslot, yn, logNo; getNormStr("who", who, NAMESIZE, ECHO); logNo = findPerson(who, &lBuf); if (logNo == ERROR || !strlen(who) ) { mPrintf("No \'%s\' known. \n ", who); return; } for(groupslot=0; groupslot < MAXGROUPS; groupslot++) { if (grpBuf.group[groupslot].g_inuse && ( !grpBuf.group[groupslot].lockout || sysop ) && ( !grpBuf.group[groupslot].hidden || ingroup(groupslot) ) ) { mPrintf(" %s", grpBuf.group[groupslot].groupname); if (lBuf.groups[groupslot] == grpBuf.group[groupslot].groupgen) { if ((yn = getYesNo("Remove from group", 3)) != 0 /*NULL*/) { if (yn == 2) { SaveAideMess(); return; } lBuf.groups[groupslot] = (uchar)((grpBuf.group[groupslot].groupgen + (MAXGROUPGEN - 1)) % MAXGROUPGEN); sprintf(msgBuf->mbtext, "%s kicked out of group %s by %s", lBuf.lbname, grpBuf.group[groupslot].groupname, logBuf.lbname ); trap(msgBuf->mbtext, T_AIDE); amPrintf(" %s\n", msgBuf->mbtext); } } else { if ((yn = getYesNo("Add to group", 3)) != /* NULL */ 0) { if (yn == 2) { SaveAideMess(); return; } lBuf.groups[groupslot] = grpBuf.group[groupslot].groupgen; sprintf(msgBuf->mbtext, "%s added to group %s by %s", lBuf.lbname, grpBuf.group[groupslot].groupname, logBuf.lbname ); trap(msgBuf->mbtext, T_SYSOP); amPrintf(" %s\n",msgBuf->mbtext); } } putLog(&lBuf, logNo); /* see if it is us: */ if (loggedIn && strcmpi(logBuf.lbname, who) == SAMESTRING) { logBuf.groups[groupslot] = lBuf.groups[groupslot]; } } } SaveAideMess(); }
/* -------------------------------------------------------------------- */ void globalgroup(void) { label groupname; int groupslot, i, yn, add, logNo; mPrintf("(A/R/[B]): "); switch (toupper( iCharNE() )) { case 'A': mPrintf("Add\n "); add = 1; break; case 'R': mPrintf("Remove\n "); add = 2; break; case '?': tutorial("grpglob.mnu"); return; case 'B': case 10: case 13: default: mPrintf("Both\n "); add = 0; break; } getString("group", groupname, NAMESIZE, FALSE, ECHO, ""); groupslot = partialgroup(groupname); if ( grpBuf.group[groupslot].hidden && !ingroup(groupslot) ) groupslot = ERROR; if ( groupslot == ERROR || !strlen(groupname) ) { mPrintf("\n No such group."); return; } if ( grpBuf.group[groupslot].lockout && !sysop ) { mPrintf("\n Group is locked."); return; } for (i = 0; i < cfg.MAXLOGTAB; i++) { if (logTab[i].ltpwhash != 0 && logTab[i].ltnmhash !=0) { logNo=logTab[i].ltlogSlot; getLog(&lBuf, logNo); /* Get out.. */ outFlag = OUTOK; if (mAbort(FALSE)) break; outFlag = IMPERVIOUS; if (lBuf.groups[groupslot] == grpBuf.group[groupslot].groupgen) { if(add == 2 || add == 0) { mPrintf(" 3%s0", lBuf.lbname); yn=getYesNo("Remove from group", 0+3); if (yn == 2) { SaveAideMess(); return; } if (yn) { lBuf.groups[groupslot] = (uchar)((grpBuf.group[groupslot].groupgen + (MAXGROUPGEN - 1)) % MAXGROUPGEN); sprintf(msgBuf->mbtext, "%s kicked out of group %s by %s", lBuf.lbname, grpBuf.group[groupslot].groupname, logBuf.lbname ); trap(msgBuf->mbtext, T_SYSOP); amPrintf(" %s\n", msgBuf->mbtext); } } } else { if (add == 0 || add == 1) { mPrintf(" 3%s0", lBuf.lbname); yn=getYesNo("Add to group", 0+3); if (yn == 2) { SaveAideMess(); return; } if (yn) { lBuf.groups[groupslot] = grpBuf.group[groupslot].groupgen; sprintf(msgBuf->mbtext, "%s added to group %s by %s", lBuf.lbname, grpBuf.group[groupslot].groupname, logBuf.lbname ); trap(msgBuf->mbtext, T_AIDE); amPrintf(" %s\n",msgBuf->mbtext); } } } putLog(&lBuf, logNo); /* see if it is us: */ if (loggedIn && strcmpi(logBuf.lbname, lBuf.lbname) == SAMESTRING) { logBuf.groups[groupslot] = lBuf.groups[groupslot]; } } } SaveAideMess(); }
void TERMWINDOWMEMBER Net1Cleanup(void) { int t, i; label fn, here, there; char line[100]; CITWINDOW *w = ScreenSaver.IsOn() ? NULL : CitWindowsMsg(NULL, getmsg(82)); Hangup(); if (w) { destroyCitWindow(w, FALSE); } if (cfg.offhook == 1) { offhook(); } sprintf(line, sbs, cfg.transpath, node->GetMailFileName()); unlink(line); OC.SetOutFlag(IMPERVIOUS); doccr(); cPrintf(getnetmsg(22)); doccr(); cPrintf(getnetmsg(23)); doccr(); cPrintf(getnetmsg(24)); doccr(); int Rooms = 0, TotalNew = 0, TotalExpired = 0, TotalDuplicate = 0; int ThisNew, ThisExpired, ThisDuplicate, ThisError; for (t = get_first_room(here, there), i = 0; t; t = get_next_room(here, there), i++) { sprintf(fn, getnetmsg(127), i); KBReady(); const r_slot rm = RoomExists(here); if (rm != CERROR && CurrentUser->CanAccessRoom(rm)) { cPrintf(getnetmsg(166), deansi(here)); if (ReadMsgFl(rm, fn, NULL, &ThisNew, &ThisExpired, &ThisDuplicate, &ThisError, CurrentUser)) { if (ThisNew) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), ThisNew); OC.ansiattr = cfg.attr; cPrintf(getnetmsg(134)); if (ThisExpired) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), ThisExpired); OC.ansiattr = cfg.attr; cPrintf(getnetmsg(134)); if (ThisDuplicate) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), ThisDuplicate); OC.ansiattr = cfg.attr; TotalNew += ThisNew; TotalExpired += ThisExpired; TotalDuplicate += ThisDuplicate; Rooms++; } else { amPrintf(getnetmsg(28), there, bn); netError = TRUE; cPrintf(getnetmsg(29)); } doccr(); } else { cPrintf(getnetmsg(30), deansi(here)); amPrintf(getnetmsg(31), here, bn); netError = TRUE; doccr(); } unlink(fn); } cPrintf(getnetmsg(24)); doccr(); cPrintf(getnetmsg(32)); if (Rooms) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), Rooms); OC.ansiattr = cfg.attr; cPrintf(getnetmsg(134)); if (TotalNew) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), TotalNew); OC.ansiattr = cfg.attr; cPrintf(getnetmsg(134)); if (TotalExpired) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), TotalExpired); OC.ansiattr = cfg.attr; cPrintf(getnetmsg(134)); if (TotalDuplicate) { OC.ansiattr = cfg.cattr; } cPrintf(getnetmsg(133), dup); OC.ansiattr = cfg.attr; doccr(); cPrintf(getnetmsg(33)); doccr(); doccr(); cPrintf(getnetmsg(34)); doccr(); ReadMsgFl(MAILROOM, getnetmsg(164), NULL, &ThisNew, &ThisExpired, &ThisDuplicate, &ThisError, NULL); label New, Routed, Rejected; CopyStringToBuffer(New, ltoac(i == CERROR ? 0 : i)); CopyStringToBuffer(Routed, ltoac(ThisExpired)); CopyStringToBuffer(Rejected, ltoac(ThisDuplicate)); cPrintf(getnetmsg(35), New, ThisNew == 1 ? cfg.Lmsg_nym : cfg.Lmsgs_nym, Routed, Rejected, ltoac(ThisNew + ThisExpired + ThisDuplicate)); doccr(); changedir(LocalTempPath); ambigUnlink(getnetmsg(162)); ambigUnlink(getnetmsg(163)); unlink(getnetmsg(164)); changedir(cfg.homepath); MS.Expired = TotalExpired; MS.Duplicate = TotalDuplicate; MS.Entered = TotalNew + ThisNew; if (netError) { label Buffer; amPrintf(getnetmsg(36), bn, CurrentUser->GetName(Buffer, sizeof(Buffer)), bn); SaveAideMess(NULL); } readNetCmdTmp(CONSOLE); // we are no longer calling out... callout = FALSE; }
void TERMWINDOWMEMBER globalverify(void) { l_slot i; SetDoWhat(SYSNUSER); OC.SetOutFlag(OUTOK); label CUName; CurrentUser->GetName(CUName, sizeof(CUName)); for (i = 0; (i < cfg.MAXLOGTAB) && (OC.User.GetOutFlag() != OUTSKIP) && #ifdef MULTI !OC.CheckInput(FALSE, this); i++) #else !OC.CheckInput(FALSE); i++) #endif { if (LTab(i).IsInuse()) { l_index logNo = LTab(i).GetLogIndex(); LogEntry1 Log1; if (Log1.Load(logNo)) { label Name; Log1.GetName(Name, sizeof(Name)); Bool Changed = FALSE; if (!Log1.IsVerified()) { int yn; char Prompt[128]; sprintf(Prompt, getsysmsg(59), Name); yn = getYesNo(Prompt, 3); if (yn == 2) { SaveAideMess(NULL); return; } if (yn) { char trapstr[128]; Changed = TRUE; Log1.SetVerified(TRUE); if (loggedIn && SameString(CUName, Name)) { CurrentUser->SetVerified(TRUE); } sprintf(trapstr, getsysmsg(60), Name, CUName); trap(T_SYSOP, pcts, trapstr); amPrintf(getmsg(429), trapstr, bn); } else if (!SameString(CUName, Name)) { if (getYesNo(getsysmsg(61), 0)) { char trapstr[128]; Changed = TRUE; CRmPrintfCR(getsysmsg(85), Name); // trap it sprintf(trapstr, getsysmsg(62), Name); trap(T_SYSOP, pcts, trapstr); amPrintf(getmsg(429), trapstr, bn); Log1.Clear(); } } } else if (Log1.IsProblem()) { int yn; char Prompt[128]; sprintf(Prompt, getsysmsg(41), Name); yn = getYesNo(Prompt, 3); if (yn == 2) { SaveAideMess(NULL); return; } if (yn) { char trapstr[128]; Changed = TRUE; Log1.SetProblem(FALSE); if (loggedIn && SameString(CUName, Name)) { CurrentUser->SetProblem(FALSE); } sprintf(trapstr, getsysmsg(42), Name, CUName); trap(T_SYSOP, pcts, trapstr); amPrintf(getmsg(429), trapstr, bn); } else if (!SameString(CUName, Name)) { if (getYesNo(getsysmsg(61), 0)) { char trapstr[128]; Changed = TRUE; CRmPrintfCR(getsysmsg(85), Name); // trap it sprintf(trapstr, getsysmsg(51), Name); trap(T_SYSOP, pcts, trapstr); amPrintf(getmsg(429), trapstr, bn); Log1.Clear(); } } } if (Changed) { Log1.Save(logNo); } } } } SaveAideMess(NULL); }