home *** CD-ROM | disk | FTP | other *** search
- #include "bbsc12.h"
-
- char menubuf[1024], xmenubuf[64];
- int menu_items;
-
- checkoption(menubuf, xmenubuf, menu,menustr,priv,menu_items)
- char menubuf[];
- char xmenubuf[];
- char menu[];
- char menustr[];
- int priv;
- int *menu_items;
- {
-
-
- if(user_priv >= priv) {
- strcat(menubuf, menustr);
- if(*menu_items!=0)
- strcat(xmenubuf, ",");
- strcat(xmenubuf, menu);
-
- (*menu_items)++;
- if((*menu_items % 4) == 0)
- strcat(menubuf, "\n\r");
-
- }
- }
-
- bbsmenu(type, aid)
- int type, aid;
- {
- menubuf[0]='\0';
- xmenubuf[0]='\0';
- menu_items = 0;
- switch(type) {
- case(1):
- checkoption(menubuf, xmenubuf, "M",
- "M(essage section), ", mpMS, &menu_items);
- checkoption(menubuf, xmenubuf, "F",
- "F(ile section), ", mpE, &menu_items);
- checkoption(menubuf, xmenubuf, "V",
- "V(ersion), ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, "H",
- "H(umor), ", mpH, &menu_items);
- checkoption(menubuf, xmenubuf, "T",
- "T(oggle page), ", mpT, &menu_items);
- checkoption(menubuf, xmenubuf, "B",
- "B(ulletins), ", mpB, &menu_items);
- checkoption(menubuf, xmenubuf, "A",
- "A(dditional), ", mpA, &menu_items);
- checkoption(menubuf, xmenubuf, "N",
- "N(ew user msg), ", mpN, &menu_items);
- checkoption(menubuf, xmenubuf, "X",
- "e(X)pert toggle, ", mpX, &menu_items);
- checkoption(menubuf, xmenubuf, "W",
- "W(elcome message), ", mpW, &menu_items);
- checkoption(menubuf, xmenubuf, "D",
- "D(aily info), ", mpD, &menu_items);
- checkoption(menubuf, xmenubuf, "U",
- "U(nix), ", mpU, &menu_items);
- checkoption(menubuf, xmenubuf, "R",
- "R(ead files), ", mpRF, &menu_items);
- checkoption(menubuf, xmenubuf, "P",
- "P(assword change), ", mpP, &menu_items);
- checkoption(menubuf, xmenubuf, "C",
- "C(hat request), ", mpCHAT, &menu_items);
- checkoption(menubuf, xmenubuf, "Q",
- "Q(uestionaire), ", mpQUEST, &menu_items);
- checkoption(menubuf, xmenubuf, "Z",
- "Z(ip mail), ", mpY, &menu_items);
- checkoption(menubuf, xmenubuf, "O",
- "c(O)nference, ", mpCONF, &menu_items);
- checkoption(menubuf, xmenubuf, "E",
- "in conferenc(E), ", mpCONF, &menu_items);
- checkoption(menubuf, xmenubuf, "L",
- "L(ogged on), ", mpL, &menu_items);
- checkoption(menubuf, xmenubuf, "G",
- "G(oodbye), ", mpG, &menu_items);
- checkoption(menubuf, xmenubuf, "S",
- "u(S)enet access, ", mpUSENET, &menu_items);
- checkoption(menubuf, xmenubuf, "I",
- "s(I)g access, ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, " or ? ",
- "? --- help. ", mpZ, &menu_items);
- break;
-
- case (2):
- checkoption(menubuf, xmenubuf, "A",
- "A(rea change), ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, "K",
- "K(ill message), ", aid, &menu_items);
- checkoption(menubuf, xmenubuf, "Q",
- "Q(uick scan), ", mpQ, &menu_items);
- checkoption(menubuf, xmenubuf, "S",
- "S(can messages), ", mpS, &menu_items);
- checkoption(menubuf, xmenubuf, "R",
- "R(ead messages), ", mpR, &menu_items);
- checkoption(menubuf, xmenubuf, "Y",
- "Y(our messages), ", mpY, &menu_items);
- checkoption(menubuf, xmenubuf, "C",
- "C(heck messages), ", mpC, &menu_items);
- checkoption(menubuf, xmenubuf, "E",
- "E(nter messages), ", mpE, &menu_items);
- checkoption(menubuf, xmenubuf, "N",
- "e(N)ter blocked, ", mpE, &menu_items);
- if( !sigreturn)
- checkoption(menubuf, xmenubuf, "M",
- "M(ain menu), ", 1, &menu_items);
- else
- checkoption(menubuf, xmenubuf, "M",
- "M(ain SIG menu), ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, "G",
- "G(oodbye), ", mpG, &menu_items);
- checkoption(menubuf, xmenubuf, "X",
- "e(X)pert toggle, ", mpX, &menu_items);
- checkoption(menubuf, xmenubuf, "B",
- "B(atch read sel), ", mpR, &menu_items);
- checkoption(menubuf, xmenubuf, "T",
- "T(oggle page), ", mpT, &menu_items);
- checkoption(menubuf, xmenubuf, " or ? ",
- "? --- help. ", mpZ, &menu_items);
- break;
-
-
- case (3):
-
- checkoption(menubuf, xmenubuf, "A",
- "A(rea change), ", 1, &menu_items);
- if( !sigreturn)
- checkoption(menubuf, xmenubuf, "M",
- "M(ain menu), ", 1, &menu_items);
- else
- checkoption(menubuf, xmenubuf, "M",
- "M(ain SIG menu), ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, "U",
- "U(pload), ", fpU, &menu_items);
- checkoption(menubuf, xmenubuf, "D",
- "D(ownload), ", fpD, &menu_items);
- checkoption(menubuf, xmenubuf, "F",
- "F(ile list), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "R",
- "R(aw list), ", fpR, &menu_items);
- checkoption(menubuf, xmenubuf, "N",
- "N(ew file list), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "Z",
- "Z(ip file menu) ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "L",
- "L(ocate files), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "C",
- "C(ontent of), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "X",
- "e(X)pert toggle, ", mpX, &menu_items);
- checkoption(menubuf, xmenubuf, "T",
- "T(oggle page), ", mpT, &menu_items);
- checkoption(menubuf, xmenubuf, "G",
- "G(oodbye), ", mpG, &menu_items);
- checkoption(menubuf, xmenubuf, "S",
- "S(ummary of dir), ", mpG, &menu_items);
- checkoption(menubuf, xmenubuf, " or ? ",
- "? --- help. ", mpZ, &menu_items);
- break;
- case (4):
- checkoption(menubuf, xmenubuf, "M",
- "M(essage section), ", mpMS, &menu_items);
- checkoption(menubuf, xmenubuf, "F",
- "F(ile section), ", mpE, &menu_items);
- checkoption(menubuf, xmenubuf, "A",
- "A(dditional), ", mpA, &menu_items);
- checkoption(menubuf, xmenubuf, "L",
- "L(eave SIGs), ", 1, &menu_items);
- checkoption(menubuf, xmenubuf, "X",
- "e(X)pert toggle, ", mpX, &menu_items);
- checkoption(menubuf, xmenubuf, "T",
- "T(oggle page), ", mpT, &menu_items);
- checkoption(menubuf, xmenubuf, "G",
- "G(oodbye), ", mpG, &menu_items);
- checkoption(menubuf, xmenubuf, " or ? ",
- "? --- help. ", mpZ, &menu_items);
- break;
- case (5):
- checkoption(menubuf, xmenubuf, "F",
- "F(ile list), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "R",
- "R(aw list), ", fpR, &menu_items);
- checkoption(menubuf, xmenubuf, "N",
- "N(ew file list), ", fpL, &menu_items);
- checkoption(menubuf, xmenubuf, "L",
- "L(ocate files) ", fpL, &menu_items);
- break;
- default:
- return;
-
- }
- if(type == 5)
- strcat(menubuf, "\n\r");
- else
- strcat(menubuf, "\n\r\n\r");
- if(!xpert) {
- portsout(CRLF);
- portsout(menubuf);
- }
- portsout("Commands: ");
- portsout(xmenubuf);
- portsout("===> ");
- }
-