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

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