Sender: Chutium (Autumn | A new is?), The letter area: bbsdev Title: [Collection] Telnet (R) ETIREBM moderator removal to increase the process of handling the death ID: Zheng Dalong City BBS (Fri Dec 17 15:23:14 2004), this site (bbs.zzu.edu.cn)
Under Telnet (R) ETIREBM Moderator Removes Addressing Treatment of Death Id
Http://bbs.zzu.edu.cn/zzu/bbstcon?board=bbsdev&th=1103266394
───────────────────────────────────────────── < 2004 ─────────────────────────────────────── recently bbs often stop. . . Therefore, there is often more and more IDs that have not been on the stage, there are many mutilations, and the idiots that have died cannot directly and transfer the corresponding layout of the name of the name. Make an ID clearly and hang on the moderator of a section. . .
Looking at the code, I found that YTHT has this part of this code, but it is not written, it is clear that the ID of death should also be judged. . . And that function has not been called. I changed myself, I made a choice in the (r) ETIREBM moderator, which facilitated the station handling the death ID to serve the undo issues.
The next step is to automatically remove the vitality <= 1 moderator when checking the moderator of the next seven days. However, there must be time to ponder ~~~
In addition, you can do a statistically, this should be good.
Maintain.c
In the int download_retirebm () function, it is determined whether to "invalid user account" add a selection if ("whether it clears the dead ID in the moderator list?", YEA, NA) == YEA) Return RetireBM (Genbuf, Null); Else Return 0;
then. . . Is a function of comparing BT this is the function of the removal of the death ID moderator in the original YTHT code.
IntretireBM (UID, BNAME) Char * Uid; Char * BName; {Char TMP [Strlen]; Char Content [1024], Title [Strlen]; INT I, OLDBM, ID, POS, BMPOS = -1, BM = 0; Struct boardheader fh; if (! (iD = getuser (uid))) Return -1; POS = New_Search_Record (Boards, & Fh, SizeOf (fH), (Void *) Cmpbnames, BNAME); if (! POS) Return -2 ; Oldbm = getBmnum (LookUpuser-> userid); for (i = 0; i
Userid, fH.FileName; securityReport (Genbuf, genbuf); if (! (oldbm - 1)) {char SECU [Strlen]; Struct UseRec TMPU; if (! (! (Lookupuser-> Userlevel & Perm_OBoards) & perm_OBoards) & perm_OBoards) & perm_OBoards > userlevel & PERM_SYSOP)) {memcpy (& tmpu, lookupuser, sizeof (tmpu)); tmpu.userlevel & = ~ PERM_BOARDS; substitute_record (pASSFILE, & tmpu, sizeof (struct userec), id); sprintf (secu, "stepped down withheld , Cancel% S. Sub-authority ", lookupuser-> userid; securityreport (secu, secu);}}} sprintf (title," [announcement] Removal% S% S% S ", BNAME, BM?" Moderator ":" Edition ", lookupuser-> userid; strcpy (currboard, bname); sprintf (content," / n / t / t / t [dismissive announcement] / n / n "" / T system dismissivity: / n "" / T Due to ID death, the% S position of% S% S% S is removed ./n ", BNAME, BM? "Moderator": "Edition", Lookupuser-> UserID, BM? "Moderator": "Edition"); DeliverReport (Title, Content); if (Normal_Board (Currboard) {STRCPY (CURRBOARD) , "Board"); DeliverReport (Title, Content);} Return 0;} I made modifications
1755, 1757C1727, 1729 / IF (! (ID = getuser (uid))) / Return -1; 1829, 1834C1752 > Sprintf (title, "[announcement] Removation% S% S% S", BNAME,> BM? "Moderator": "Edition", lookupuser-> userid;> strcpy (currboard, bname); 1886, 1887C1795, 1796 <"Because ID has died, remove% S version% s% s position ./N", ───────────────────────────────────────────── < 2004 ─────────────────────────────────────── complete clearance of dead function id moderator duties . . . There are some things I have debugged, I want to see, I can see the last post of "I do this" part // Note. INTRETIREBM (Char * UID, Char * Abname) {char TMP [Strlen]; char bbname [Idlen]; char content [1024], Title [Strlen]; Int i, / * Oldbm, ID, * / POS, BMPOS = -1, BM = 0; struct boardheader fh; modify_user_mode (admin); if (! Check_systempasswd ()) Return -1; Clear (); stand_title ("Moderator Clear / N"); Clrtoeol (); if (UID) Strsncpy (UserID, UID, SIZEOF (UserID)); Move (1, 0); CLRToEOL (); getData (1, 0, "Enter the moderator account:", userid, idlen 1, doecho, na); if (userid [0] == '/ 0') {clear (); return 0;} if (abname) STRSNCPY (BBNAME, ABNAME, SIZEOF (BBNAME)); Else {Move (2, 0); Clrtoeol (); getData (2, 0, "input will clear the name of the discussion area of the user moderator:", BBNAME, Strlen 1, Doecho, Yea;}} (* bbname == '/ 0') {move (5, 0); Prints ("Error Discussion Area Name"); pressReturn (); clear (); return - 1;} POS = New_Search_Record (Boards, & Fh, SizeOf (FH), (Void *) Cmpbnames, BBNAME); if (! POS) {Move (5, 0); Prints ("Error Discussion Area Name"); pressreturn (); Clear (); return -2;} for (i = 0; i ", Userid); pressanyKey (); clear (); return -3;} Prints (" / n You will clear% S version% s position ./N ", userid, bbname, bm?" Moderator " : "Edition"); if ("" Do you determine it? ", Na, Na) == NA) {Prints (" / n, re-clear the death ID, the mouse, the moderator duty "); PressanyKey (); Clear (); return -1;} anno_title (title, & fh); fH.BM [BMPOS] [0] = 0; // First cleaned it, free of problem fh.hiretime [bmpos] = 0; For (i = bmpos; i <(bm? 4: bmnum); i ) {if (i == bm? 3: BMNUM - 1) {// last BM fH.BM [i] [0] = 0; FH.HIRETIME [I] = 0;} else {structure (fH.BM [i], fH.BM [i 1]); fh.hiretime [i] = fH.HIRETIME [i 1];}}} (BM) {Anno_Title (TMP, & FH); GET_GRP (FH.FileName); Edit_GRP (Fh.FileName, LOOK GRP, TITLE, TMP);} Substitution_Record (Boards, & Fh, SizeOf (FH), POS); Reload_boards (); Sprintf (Genbuf, "% s% S position", UserId, FH.FileName, BM? "Moderator": "Edition"); SECURITYREPORT (Genbuf, Genbuf); Sprintf (Title, "[Announcement] Clearing% S% S% S", BBNAME, BM? "moderator": " ", userid; strcpy (currboard, bbname); sprintf (content," / n / t / t / t [dismissive announcement] / n / n "" / t system dismissivity: / n "" / t due to ID has died , Clear the% S position of% S% S of% S% S. / N ", bbname, bm?" moderator ":" Edition ", UserID, BM?" Moderator ":" Edition "); DeliverReport (Title, Content); if (Normal_Board (Currboard) {STRCPY Currboard, "Board"); DeliverReport (Title, Content);} Prints ("/ n execution!"); pressAnyKey (); return 0;} In addition, int Retire_Allbm () is umbreak all moderator? .. It seems that there is no call ... but this feature is really too BT, it is really not necessary. [In the masterpiece of Chutium (Autumn | A New?) Mentioned:]: Recently, BBS is often stopped. . . Therefore, there is often more and more IDs that have not been on the stage, there are many mutilations, and the idiots that have died cannot directly and transfer the corresponding layout of the name of the name. Make an ID clearly and hang on the moderator of a section. . . : I looked at the code and found that YTHT has this part of this code, but it is more bizarre, it is clear that the ID of death is also to determine if there is. . . And that function has not been called. I changed myself, I made a choice in the (r) ETIREBM moderator, which facilitated the station handling the death ID to serve the undo issues. : The next goal is to automatically unload the vitality <= 1 moderator when checking the moderator in the seven days, but there must be time to ponder ~~~: You can do a statistically a day you die, this should Good implementation. : maintain.c: INT DO_RETIREBM () Determines if "Invalid User Account" adds a selection: if ("Is it clearing the dead ID in the master list?", Yea, NA ) == yea): Return RetireBM (Genbuf, null) ;: ................. ──────────────────────────────────────────── < 2004 - ────────────────── ──── ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ The moderator is done in the same function. . . nice. However, the code of SMTH looks so messy. . . [In the masterpiece of Chutium (Autumn | A New?) Mentioned:]: Complete clearance of the death ID moderator duty function. . . : There are some things I have debugged with something, I want to see, I can see the last post of "I do what to modify" some // comment. : int: Retirebm (Char * UID, Char * Abname): {: char TMP [Strlen] ;: Char userid [idlen] ;: char bbname [strlen] ;: ........... ......