home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / WWIVMODS / MODSUNKN.ZIP / SYSMNU2.MOD < prev    next >
Text File  |  1990-06-25  |  4KB  |  201 lines

  1. Suicidal Maniac #1 @6865
  2. Fri Jun 22 20:20:44 1990
  3.  
  4. void sysopmenu()
  5. {
  6.   char *s,s1[81],s2[81];
  7.   int abort;
  8.  
  9.   if ((sysstatus_expert & thisuser.sysstatus)==0)
  10.     printmenu(5);
  11.  
  12.   s1[0]=0;
  13.   nl();
  14.   nl();
  15.   tleft(1);
  16.   print("T - ",ctim(nsl()),"");
  17.   prt(2,"[Sysop Menu]:");
  18.   s=mmkey(0);
  19.  
  20.   sysopchar(s);
  21.   if (strcmp(s,"/O")==0) {
  22.     cursys=0;
  23.     hangup=1;
  24.   }
  25.   if ((s[1]==0) && (s[0]!=0)) {
  26.     switch(s[0]) {
  27.       case '?':
  28.     if ((sysstatus_expert & thisuser.sysstatus))
  29.       printmenu(5);
  30.     break;
  31.       case 'Q':
  32.     cursys=0;
  33.       break;
  34.       case 'O':
  35.     helpl=12;
  36.     nl();
  37.     nl();
  38.     prt(5,"Log Off? ");
  39.     if (yn()) {
  40.       outchr(12);
  41.       print("Time on   = ",ctim(timer()-timeon),"");
  42.       printfile("LOGOFF.MSG");
  43.     cursys=0;
  44.       hangup=1;
  45.     }
  46.     break;
  47.       case 'S':
  48.     prstatus();
  49.       break;
  50.       case 'I':
  51.     sysoplog("@ Ran Ivotes");
  52.     ivotes();
  53.       break;
  54.       case 'L':
  55.     sl1(3,s1);
  56.     printfile(s1);
  57.       break;
  58.       case 'T':
  59.     sysoplog("@ Ran Tedit");
  60.     text_edit();
  61.       break;
  62.       case 'Y':
  63.     printfile(status.log1);
  64.       break;
  65.       case 'U':
  66.     sysoplog("@ Ran Uedit");
  67.     uedit(usernum,0);
  68.       break;
  69.       case 'Z':
  70.     zlog();
  71.       break;
  72.       case 'N':
  73.     printfile("NET.LOG");
  74.       case 'V':
  75.     voteprint();
  76.       break;
  77.       case 'H':
  78.     if (so())
  79.       chuser();
  80.       break;
  81.       case 'B':
  82.     if (so()) {
  83.       sysoplog("@ Ran BoardEdit");
  84.       boardedit();
  85.     }
  86.       break;
  87.       case 'M':
  88.     if (so() && checkpw()) {
  89.       sysoplog("@ Read All Mail");
  90.       mailr();
  91.     }
  92.       break;
  93.       case 'C':
  94.     if (so()) {
  95.       sysoplog("@ Ran ChainEdit");
  96.       chainedit();
  97.     }
  98.       break;
  99.       case 'X':
  100.     if (so() && checkpw()) {
  101.     sysoplog("@ Shelled to DOS");
  102. #ifdef OLD_STUFF
  103.       full_external(getenv("COMSPEC"),1,0);
  104. #else
  105.       shrink_out(getenv("COMSPEC"),1,1,1,0);
  106. #endif
  107.     topscreen();
  108.       }
  109.       break;
  110.       case 'D':
  111.     if (so()) {
  112.       sysoplog("@ Ran DirEdit");
  113.       dlboardedit();
  114.     }
  115.       break;
  116.       case 'E':
  117.     if (so()) {
  118.        nl();
  119.        prt(2,"Filename? ");
  120.        input(s1,50);
  121.        if (s1[0]) {
  122.          if ((okansi()) && (thisuser.defed))
  123.            external_edit(s1,"",thisuser.defed-1,500);
  124.          else
  125.            tedit(s1);
  126.        }
  127.     }
  128.       break;
  129.       case 'G':
  130.     if (so()) {
  131.       sysoplog("@ Ran GfileEdit");
  132.       gfileedit();
  133.     }
  134.       break;
  135.       case 'J':
  136.     if (so()) {
  137.       nl();
  138.       prt(2,"Filename? ");
  139.       input(s1,50);
  140.       if (s1[0]) {
  141.         nl();
  142.         prt(5,"Allow editing? ");
  143.         if (yn()) {
  144.           nl();
  145.           load_workspace(s1,0);
  146.         } else {
  147.           nl();
  148.           load_workspace(s1,1);
  149.         }
  150.       }
  151.     }
  152.       break;
  153.       case 'W':
  154.     if (so() && checkpw()) {
  155.       prt(6,"Do you really want to reset the computer? ");
  156.       if (yn()) {
  157.         dtr(0);
  158.         sysoplog("@ Reset the computer");
  159.         logoff();
  160.         sl1(1,"");
  161.         if (ok_modem_stuff)
  162.           closeport();
  163.         setvect(0x6a,(void interrupt (*) ()) MK_FP(0xffff,0x0000));
  164.         geninterrupt(0x6a);
  165.       }
  166.     }
  167.       break;
  168.       case 'A':
  169.     if (so()) {
  170.       nl();
  171.       pl(((*(char far *)0x00000417L ^= 0x10) & 0x10) ?
  172.                "Sysop now available" :
  173.                "Sysop now unavailable");
  174.       sysoplog("@ Chainged sysop availability status");
  175.       topscreen();
  176.     }
  177.       break;
  178.       case 'K':
  179.     if (so()) {
  180.       nl();
  181.       itoa(_stklen,s,10);
  182.       print("Stack size: ",s,"");
  183.       itoa((int)(farcoreleft()/1024),s,10);
  184.       print("Heap free: ",s,"k","");
  185.       nl();
  186.     }
  187.       break;
  188.       case 'R':
  189.     if (so()) {
  190.       reset_files();
  191.     }
  192.       break;
  193.       case 'F':
  194.     if (so()) {
  195.       read_new_stuff();
  196.     }
  197.       break;
  198.     }
  199.   }
  200.   helpl=0;
  201. }