home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MAPL0206.ZIP / MENUPLUS.BAS < prev    next >
Encoding:
BASIC Source File  |  1993-02-06  |  10.7 KB  |  237 lines

  1. ' $linesize:132
  2. ' $title: 'MenuPlus.BAS 17.4, Copyright 1992'
  3. '  Copyright  (c) 1992 by Scott Thompson
  4. '  Name ...............: MenuPlus.BAS
  5. '  First Released .....: Feb 4, 1993 for Maple code
  6. '  Subsequent Releases.:
  7. '  Copyright ..........: (c) 1992 by Scott Thompson
  8. '                         mods by Peter Eibl (c) 1993
  9. '
  10. '  Purpose.............: adds a nice menu0 screen to RBBS
  11. '                       
  12. '                       
  13. '
  14. '  Parameters..........: Most parameters are passed via a COMMON statement.
  15. '
  16. ' $SUBTITLE: 'MenuPlus - adds nice menu to RBBS 17.4 MAple version'
  17. ' $PAGE         (c) 1992 by Scott Thompson
  18. '               additional  mods (c) by Pete Eibl and Richard Taff1993
  19. '
  20. ' $INCLUDE: 'RBBS-VAR.MOD'
  21. '  SUBPROGRAM NAME    -- MenuPlus
  22. '
  23. '
  24. '  SUBPROGRAM PURPOSE --  nice menu for RBBS
  25.  
  26. Sub MenuPlus (PR)  Static
  27.  
  28. On PR GOTO 10,20,30,40,50,60,70,80,90,95
  29. GOTO 99
  30.  
  31. 10   ZMenuNewUsers = ZMenuNewUsers + 1                                'MENU174
  32.       Exit Sub
  33.     
  34.  
  35. 20  IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _                 'MENU1741
  36.     ZMenuNewCalls = ZMenuNewCalls + 1                                'MENU174
  37.      Exit Sub
  38.  
  39. 30      CALL AMorPM                                                  'MENU1747
  40.       IF ZOrigUserName$ = ZSecretName$ THEN                          'MENU174
  41.     ZMenuNewDate$ = ZCurDate$                                    'MENU174
  42.     ZMenuNewTime$ = ZTime$                                       'MENU174
  43.     ZMenuNewUpld = 0                                             'MENU174
  44.     ZMenuNewUsers = 0                                            'MENU174
  45.     ZMenuNewCalls = 0                                            'MENU174
  46.     ZMenuNewSysop = 0                                            'MENU174
  47.     ZMenuNewDSC = 0                                              'MENU1747
  48.     ZMenuNewDl = 0                                               'MENU1747
  49.     CALL PutCom (ZBellRinger$)                                   'MENU174
  50.     CALL QuickTPut1 (ZFG1$ + "SYSOP New Stats Reset.")           'MENU174
  51.       END IF                                                         'MENU174
  52. Exit Sub
  53.  
  54. 40 ZMenuNewSysop = ZMenuNewSysop + 1                                 'MENU174
  55.    Exit Sub
  56.  
  57. 50    CALL AMorPM                                                    'MENU1747
  58.       CALL OpenOutW ("MENUNEW" + ZNodeFileID$ + ".DEF")              'MENU1742
  59.       WRITE #2, ZMenuNewDate$,ZmenuNewTime$,ZMenuNewUpld, _          'MENU174
  60.      ZMenuNewUsers,ZMenuNewCalls,ZMenuNewSysop,ZMenuNewDSC, _    'MENU1747
  61.      ZMenuNewDl                                                  'MENU1747
  62.       WRITE #2, ZActiveUserName$ + " From: " + _                     'MENU1746
  63.         ZWasCI$ + ".  Exited At: " + ZTime$ + _              'MENU1747
  64.         " / " + STR$(FIX(TempElapsed!)) + " Min."            'MENU1747
  65. Exit Sub
  66.  
  67. 60   ZMenuNewUpld = ZMenuNewUpld + 1                                'MENU174
  68.       Exit Sub
  69.  
  70. 70    CALL AMorPM                                                    'MENU1747
  71.       CALL OpenOutW ("MENUNEW" + ZNodeFileID$ + ".DEF")              'MENU1743
  72.       WRITE #2, ZMenuNewDate$, ZmenuNewTime$, ZMenuNewUpld, _        'MENU1743
  73.      ZMenuNewUsers, ZMenuNewCalls, ZMenuNewSysop,ZMenuNewDSC, _  'MENU1747
  74.      ZMenuNewDl                                                  'MENU1747
  75.       WRITE #2, ZActiveUserName$ + " From: " + _                     'MENU1746
  76.         ZWasCI$ + ".  Exited At: " + ZTime$ + _              'MENU1747
  77.         " / " + STR$(FIX(TempElapsed!)) + " Min."            'MENU1747
  78.       CLOSE 2                                                        'MENU1743 
  79.    Exit Sub
  80.  
  81. 80    CALL OpenWork (2,"MENUNEW" + ZNodeFileID$ + ".DEF")            'MENU1743
  82.       CALL GetMenuNew                                                'MENU1743
  83.       CLOSE 2                                                        'MENU1743
  84.       Exit Sub
  85. 90      ZMenuNewDL = ZMenuNewDL + 1                                 'MENU1744
  86.          Exit Sub
  87. 95 ZMenuNewDSZ = ZMenuNewDSZ + 1                                     'MENU1744
  88.    Exit Sub
  89.  
  90. 99  END SUB
  91.  
  92.  
  93. 100 ' $SUBTITLE: 'SysMenuPlus - sub to display RBBS-PC SYSOP menu enhnace vrs'
  94. '  $PAGE
  95. '
  96. '  NAME    --  SysMenuPlus
  97. '
  98. '  INPUTS  --  PARAMETER           MEANING
  99. '
  100. '  OUTPUTS --  NONE
  101. '
  102. '  PURPOSE --  TO DISPLAY enhanced SYSOP MENU ON THE LOCAL SCREEN
  103. '
  104.     SUB SysMenuPlus (AOK) STATIC
  105.     AOK = ZTrue
  106.     ZLocalUser = ZTrue
  107.     ZSnoop = ZTrue
  108.     ZNonStop = ZTrue
  109.     CALL CheckTime (TIMER, ZDelay!, 1)
  110.     CLS
  111.     ZStopInterrupts = ZTrue
  112.     ZBypassTimeCheck = ZTrue
  113.     CALL BufFile ("MENU0P",WasX)
  114.     ZNonStop = ZFalse
  115.     ZBypassTimeCheck = ZFalse
  116.     ZLocalUser = ZFalse
  117.     IF NOT ZOK THEN _
  118.     Call getRBBSString(277,RBBSString$) : _     'Pe 01/26/93
  119.     OutTxt$ = RBBSString$ : _               'Pe 01/26/93 
  120.     CALL LPrnt(OutTxt$,1)
  121.     CALL OpenWork (2,"MENUNEW" + ZNodeFileID$ + ".DEF")              'MENU1742
  122.     CALL GetMenuNew                                                  'MENU174
  123.     LOCATE 2,22                                                      'MENU174
  124.     CALL LPrnt(ZEscape$ + "[1m" + LEFT$(ZVersionID$,12),0)           'MENU174
  125.     LOCATE 2,40                                                      'MENU174
  126.     CALL LPrnt(ZNodeID$,0)
  127.     LOCATE 2,57                                                      'MENU1747
  128.     CALL AMorPM                                                      'MENU1747
  129.     CALL LPrnt(ZCurDate$,0)                                          'MENU1747
  130.     LOCATE 2,69                                                      'MENU1747
  131.     CALL LPrnt(ZTime$,0)                                             'MENU1747
  132.     IF ZFMSDirectory$ <> "" THEN _
  133.        LOCATE 14,16 : _                                              'MENU1747
  134.        CALL LPrnt("YES",0)
  135.     IF ZExtendedLogging THEN _
  136.        LOCATE 14,36 : _                                              'MENU1747
  137.        CALL LPrnt("YES",0)
  138.     IF ZFossil THEN _
  139.        LOCATE 16,16 : _                                              'MENU1747
  140.        CALL LPrnt("YES",0)
  141.     LOCATE 15,15 : _                                                 'MENU1747
  142.     CALL LPrnt(ZComPort$,0)
  143.     LOCATE 15,35                                                     'MENU1747
  144.     CALL LPrnt (STR$(CINT(FRE("A")/1024)) + "k",0)
  145.     IF ZDebug THEN _
  146.        LOCATE 16,36 : _                                              'MENU1747
  147.        CALL LPrnt("Yes",0)
  148.     LOCATE 6,20                                                      'MENU1747
  149.     CALL LPrnt (ZMenuNewDate$,0)                                     'MENU174
  150.     LOCATE 6,32                                                      'MENU1747
  151.     CALL LPrnt (ZMenuNewTime$,0)                                     'MENU174
  152.     LOCATE 9,35                                                      'MENU1747
  153.     CALL LPrnt (STR$(ZMenuNewUpld),0)                                'MENU174
  154.     LOCATE 9,13                                                      'MENU1747
  155.     CALL LPrnt (STR$(ZMenuNewUsers),0)                               'MENU174
  156.     LOCATE 8,13                                                      'MENU1747
  157.     CALL LPrnt (STR$(ZMenuNewCalls),0)                               'MENU174
  158.     LOCATE 8,35                                                      'MENU1747
  159.     CALL LPrnt (STR$(ZMenuNewSysop),0)                               'MENU174
  160.     LOCATE 11,25                                                     'MENU1747
  161.     CALL LPrnt (STR$(ZMenuNewDSC),0)                                 'MENU1747
  162.     LOCATE 10,13                                                     'MENU1747
  163.     CALL LPrnt (STR$(ZMenuNewDl),0)                                  'MENU1747
  164.     INPUT #2, LastOnline$                                            'MENU1744
  165.     LOCATE 22,3                                                      'MENU1747
  166.     CALL LPrnt (LastOnline$,0)                                       'MENU1744
  167. End Sub
  168. '
  169.  
  170. '
  171.  
  172. Sub LocateMenu (RingBack,ScreenCleared,AOK,FF)  Static
  173. AOK = ZTrue
  174. On FF GOTO 1000,2000,3000,4000,5000,6000
  175.     Goto 6001
  176. 1000 LOCATE 19,22                                                     'MENU1744
  177.      IF ZRequiredRings = 0 THEN _
  178.        CALL LPrnt(ZEscape$ + "[1m" + "WAITING FOR CARRIER",0) : _         'MENU174
  179. Exit Sub
  180.  
  181.     IF MID$(ZModemInitCmd$, _
  182.       INSTR(ZModemInitCmd$,"S0") + 3,3) = "255" THEN _
  183.        CALL LPrnt("RING BACK SYSTEM",0) : _
  184. RingBack = ZTrue : _
  185.      Exit Sub
  186.  
  187.  CALL LPrnt(" WAITING FOR RING ",0)
  188. Exit Sub
  189.  
  190.  
  191.  
  192. 2000 LOCATE 19,40                                                  'MENU1744
  193.     CALL LPrnt(MID$(STR$(ZRequiredRings),2),0)
  194.      Exit Sub
  195.  
  196. 3000 LOCATE 18,23                                                     'MENU1744
  197.     IF ZDosANSI THEN _
  198.        CALL LPrnt(ZEscape$ + "[05;31m" + "YES" + ZEscape$ + "[00m",0) _
  199.     ELSE CALL LPrnt ("YES",0)
  200.     COLOR ZFG,ZBG,ZBorder
  201.     LOCATE 20,23                                                     'MENU1744
  202. Exit Sub
  203.  
  204. 4000  LOCATE 20,23                                                   'MENU1744
  205.        CALL LPrnt("Ringback timeout" + ZPagingPtrSupport$,1)
  206.       Exit Sub
  207.  
  208. 5000 CALL CheckTime(ZSecsUsedSession!, TempElapsed!, 2)
  209. '       
  210. '  Since there is no code in RBBS that displays time down to the second
  211. '  I have had to duplicate a bit of code here   Comment the following lines
  212. '  out if you do not wish the MENU0 screen to display System Idle time.
  213. '
  214.        HOURS = INT(TempElapsed!/3600)                                'RT020193
  215.        MIN = INT((TempElapsed!-(HOURS*3600))/60)                     'RT020193
  216.        SEC = INT(TempElapsed!-((HOURS*3600)+(MIN*60)))               'RT020193
  217.        IF HOURS < 10 THEN _                                          'RT020193
  218.       Hou$ = "0"+RIGHT$(STR$(HOURS),1)_                          'RT020193
  219.        ELSE Hou$ = STR$(HOURS)                                       'RT020193
  220.        IF MIN < 10 THEN _                                            'RT020193
  221.       Min$ = "0"+RIGHT$(STR$(MIN),1)_                            'RT020193
  222.        ELSE Min$ = RIGHT$(STR$(MIN),2)                               'RT020193
  223.        IF SEC < 10 THEN _                                            'RT020193
  224.       Sec$ = "0"+RIGHT$(STR$(SEC),1)_                            'RT020193
  225.        ELSE Sec$ = RIGHT$(STR$(SEC),2)                               'RT020193
  226. IF NOT ScreenCleared THEN _
  227.        LOCATE 4,23 : _                                               'RT020193
  228.        CALL LPrnt(Hou$ + ":" + Min$ + ":" + Sec$,0)                  'RT020193
  229. Exit Sub
  230.  
  231. 6000 LOCATE 20,23                                                     'MENU1744
  232.     CALL LPrnt(ZEscape$ + "[1;31m" + TIME$ + " Ring " + _            'MENU174
  233.      STR$(ZWasQ) + ZEscape$ + "[00m",0)                          'MENU174
  234.      Exit Sub
  235.  
  236. 6001 END SUB
  237.