home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TABPPE50.ZIP / TABS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-28  |  31KB  |  1,248 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER003
  20.     Integer  INTEGER004
  21.     Integer  INTEGER005
  22.     Integer  INTEGER006
  23.     Integer  INTEGER007
  24.     Integer  INTEGER008
  25.     Integer  INTEGER009
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     String   STRING016
  41.     String   STRING017
  42.     String   STRING018
  43.     String   STRING019
  44.     String   STRING020
  45.     String   STRING021
  46.     String   STRING022
  47.     String   STRING023
  48.     String   STRING024
  49.     String   STRING025
  50.     String   STRING026
  51.     String   STRING027
  52.     String   STRING028
  53.     String   STRING029
  54.     String   STRING030
  55.     String   TSTRING031(3)
  56.     String   STRING032
  57.     String   STRING033
  58.     String   STRING034
  59.     String   STRING035
  60.     String   STRING036
  61.     String   STRING037
  62.     String   STRING038
  63.     String   STRING039
  64.     String   STRING040
  65.     String   STRING041
  66.     String   STRING042
  67.     String   STRING043
  68.     String   STRING044
  69.     String   STRING045
  70.     String   STRING046
  71.     String   STRING047
  72.     String   STRING048
  73.     String   STRING049
  74.     String   STRING050
  75.     String   STRING051
  76.     String   STRING052
  77.     String   STRING053
  78.     String   STRING054
  79.     String   STRING055
  80.     String   STRING056
  81.     String   STRING057
  82.     String   STRING058
  83.     String   STRING059
  84.     String   STRING060
  85.     String   STRING061
  86.     String   STRING062
  87.     String   STRING063
  88.     String   STRING064
  89.     String   STRING065
  90.     String   STRING066
  91.     String   STRING067
  92.     String   STRING068
  93.     String   STRING069
  94.     String   STRING070
  95.     String   STRING071
  96.     String   STRING072
  97.     String   STRING073
  98.     String   STRING074
  99.     String   STRING075
  100.     String   STRING076
  101.     String   STRING077
  102.     String   STRING078
  103.     String   STRING079
  104.     String   STRING080
  105.     String   STRING081
  106.  
  107. ;------------------------------------------------------------------------------
  108.  
  109.     STRING025 = PPEPath()
  110.     TSTRING031(0) = "/"
  111.     TSTRING031(1) = "-"
  112.     TSTRING031(2) = "\"
  113.     TSTRING031(3) = "│"
  114.     STRING081 = Chr(13)
  115.     STRING026 = " 0123456789.,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  116.     STRING045 = ""
  117.     INTEGER003 = ""
  118.     STRING049 = "5.0"
  119.     STRING056 = "1-900-622-8227"
  120.     STRING057 = "1-900-622-5225"
  121.     STRING059 = STRING025 + "TABS" + String(PcbNode()) + ".LOG"
  122.     STRING069 = STRING025 + "SYSOP" + String(PcbNode()) + ".TXT"
  123.     STRING070 = STRING025 + "RECPT" + String(PcbNode()) + ".TXT"
  124.     If (Exist(STRING070)) Delete STRING070
  125.     STRING071 = STRING025 + "WARN" + String(PcbNode()) + ".TXT"
  126.     STRING072 = STRING025 + "FAILED" + String(PcbNode()) + ".TXT"
  127.     STRING079 = STRING025 + "BUSY" + String(PcbNode()) + ".FLG"
  128.     STRING074 = STRING025 + "TABSINFO.TXT"
  129.     STRING062 = ""
  130.     STRING063 = ""
  131.     INTEGER005 = ""
  132.     STRING064 = ""
  133.     FCreate 1, STRING079, 0, 3
  134.     FClose 1
  135.     If (Exist(STRING025 + "CONFIG.FLG")) Then
  136.         Cls
  137.         PrintLn "@X0FThe TABS door is currently running configuration routines."
  138.         PrintLn "@X0F     Please try again in a few minutes.  Thank you."
  139.         Delay 55
  140.     Else
  141.         STRING046 = ""
  142.         STRING032 = GetToken()
  143.         While (STRING032 <> "") Do
  144.             STRING046 = Mid(Upper(STRING032), 1, 12)
  145.             STRING032 = GetToken()
  146.         EndWhile
  147.         STRING032 = ""
  148.         GetUser
  149.         Tokenize U_Name()
  150.         STRING002 = GetToken()
  151.         STRING002 = Left(STRING002, 1) + Lower(Right(STRING002, Len(STRING002) - 1))
  152.         STRING024 = STRING002
  153.         FAppend 2, STRING059, 1, 3
  154.         FPutLn 2, "**** ", U_Name(), " Entered PPE on ", String(Date()), " at ", String(Time()), " ****"
  155.         FClose 2
  156.         FOpen 1, STRING025 + STRING046, 0, 3
  157.         FGet 1, STRING063
  158.         FGet 1, STRING062
  159.         If (Len(STRING062) <= "1") STRING064 = "NO"
  160.         FGet 1, STRING048
  161.         STRING048 = Upper(STRING048)
  162.         FGet 1, STRING054
  163.         FGet 1, STRING052
  164.         STRING052 = Upper(STRING052)
  165.         FGet 1, STRING055
  166.         FGet 1, STRING050
  167.         STRING050 = Upper(STRING050)
  168.         FGet 1, STRING047
  169.         FGet 1, STRING068
  170.         FClose 1
  171.         For INTEGER006 = 1 To 30
  172.             STRING065 = Mid(STRING063, INTEGER006, 1)
  173.             INTEGER004 = Asc(STRING065)
  174.             INTEGER005 = INTEGER005 + INTEGER004
  175.         Next
  176.         INTEGER005 = INTEGER005 * "804"
  177.         If (STRING062 == INTEGER005) STRING064 = "YES"
  178.         STRING060 = ""
  179.         If (STRING048 == "NO") Then
  180.             STRING053 = "25"
  181.             STRING033 = STRING055
  182.             STRING058 = STRING057
  183.             STRING060 = "NO"
  184.         Else
  185.             If (STRING052 == "NO") Then
  186.                 STRING053 = "10"
  187.                 STRING033 = STRING054
  188.                 STRING058 = STRING056
  189.                 STRING060 = "NO"
  190.             Else
  191.                 STRING060 = "YES"
  192.                 :LABEL001
  193.                 If (STRING060 == "NO") Goto LABEL009
  194.                 STRING053 = ""
  195.                 Cls
  196.                 If (STRING050 == "NO") Then
  197.                     DispFile STRING025 + STRING047, 1 + 2 + 4
  198.                 Else
  199.                     PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  200.                     PrintLn "@X38│ @X3FDate: @SYSDATE@           @X3E« TABS PCBoard Version ", STRING049, " »          @X3FTime: @SYSTIME@ @X3B│@X07"
  201.                     PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  202.                     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X07"
  203.                     PrintLn "@X10│                                                                             @X19│@X07"
  204.                     PrintLn "@X10│                  @X1FTelephone Access Billing Processor @X1B(TABSPPE)              @X19 │@X07"
  205.                     PrintLn "@X10│         @X1E@X1CWritten By Ray Sulich @X1E(Straight Board BBS 804-468-6454/6525)       @X19 │@X07"
  206.                     PrintLn "@X10│                        @X1BRIME ->1475 FIDO 1:275/25    @X19                        │@X07"
  207.                     PrintLn "@X10│                                                                            @X19 │@X07"
  208.                     PrintLn "@X10│  @X1ETelephone Access Billing System (TABS) allows you to charge a subscription @X19│@X07"
  209.                     PrintLn "@X10│  @X1E              to this BBS by calling a (900) telephone number.             @X19│@X07"
  210.                     PrintLn "@X10│                                                                             @X19│@X07"
  211.                     PrintLn "@X10│  @X1EThis Bulletin Board Service offers both a $10 and a $25 subscription rate. @X19│@X07"
  212.                     PrintLn "@X10│  @X1E Which rate would you like to participate in, or obtain information about? @X19│@X07"
  213.                     PrintLn "@X10│                                                                             @X19│@X07"
  214.                     PrintLn "@X10│                            @X1B(@X1E1@X1B)@X1F $10 Service                                  @X19│@X07"
  215.                     PrintLn "@X10│                            @X1B(@X1E2@X1B)@X1F $25 Service                                  @X19│@X07"
  216.                     If (Upper(STRING068) == "YES") Then
  217.                         PrintLn "@X10│                            @X1B(@X1ED@X1B) @X1Fownload TABS information                     @X19│@X07"
  218.                         PrintLn "@X10│                                                                             @X19│@X07"
  219.                         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  220.                     Else
  221.                         PrintLn "@X10│                                                                             @X19│@X07"
  222.                         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  223.                     Endif
  224.                 Endif
  225.                 STRING023 = ""
  226.                 InputStr "@X0F(@X0B1@X0F) $10 Options, (@X0B2@X0F) $25 Options, @X0F(@X0BD@X0F)ownload, (@X0BQ@X0F)uit", STRING023, 15, 1, "Qq12Dd", 32 + 2 + 4 + 128 + 8
  227.                 If (STRING023 == "Q") Goto LABEL068
  228.                 If (STRING023 == "1") Goto LABEL004
  229.                 If (STRING023 == "2") Goto LABEL005
  230.                 If (STRING023 == "D") Then
  231.                     If (Exist(STRING074)) Then
  232.                         Flag STRING074
  233.                         Cls
  234.                         Newlines 2
  235.                         PrintLn "@X0FInformation concerning the TABS service has been flagged for later download !"
  236.                         Newlines 2
  237.                         Wait
  238.                         Goto LABEL002
  239.                     Endif
  240.                     Cls
  241.                     Newlines 2
  242.                     PrintLn "@X0FERROR :  @X0CTABSINFO.TXT @X0Fcould not be found... Please inform your Sysop !"
  243.                     Newlines 2
  244.                     Wait
  245.                     :LABEL002
  246.                     Goto LABEL003
  247.                 Endif
  248.                 :LABEL003
  249.                 Goto LABEL001
  250.             Endif
  251.             :LABEL004
  252.             STRING053 = "10"
  253.             STRING033 = STRING054
  254.             Goto LABEL006
  255.         Endif
  256.         :LABEL005
  257.         STRING053 = "25"
  258.         STRING033 = STRING055
  259.         :LABEL006
  260.         If (Len(STRING033) < 1) STRING033 = "TABS.CFG"
  261.         FOpen 1, STRING025 + STRING033, 0, 3
  262.         FGet 1, STRING004
  263.         FGet 1, STRING061
  264.         STRING061 = Upper(STRING061)
  265.         FGet 1, STRING066
  266.         FGet 1, STRING067
  267.         FGet 1, STRING068
  268.         FGet 1, STRING075
  269.         FGet 1, STRING076
  270.         FGet 1, STRING077
  271.         FGet 1, STRING080
  272.         FGet 1, STRING078
  273.         FGet 1, STRING005
  274.         FGet 1, STRING008
  275.         FGet 1, STRING009
  276.         FGet 1, STRING010
  277.         FGet 1, STRING011
  278.         FGet 1, STRING013
  279.         If (Len(STRING013) < 1) Then
  280.             STRING012 = "TRUE"
  281.             STRING073 = STRING010
  282.         Else
  283.             STRING012 = "FALSE"
  284.         Endif
  285.         FGet 1, STRING014
  286.         FGet 1, STRING016
  287.         FGet 1, STRING017
  288.         If (STRING012 == "FALSE") STRING073 = STRING017
  289.         FGet 1, STRING018
  290.         FGet 1, STRING020
  291.         If (Len(STRING020) < 1) STRING020 = "NONE"
  292.         FGet 1, STRING043
  293.         FGet 1, STRING044
  294.         FGet 1, STRING021
  295.         If (Len(STRING021) < 1) STRING021 = "NONE"
  296.         FGet 1, STRING003
  297.         FGet 1, STRING022
  298.         STRING022 = Upper(STRING022)
  299.         FGet 1, STRING034
  300.         STRING034 = Upper(STRING034)
  301.         Select Case (STRING034)
  302.             Case "YES"
  303.                 STRING041 = "FALSE"
  304.             Case "NO"
  305.                 STRING041 = "TRUE"
  306.         End Select
  307.         FGet 1, STRING051
  308.         FGet 1, STRING035
  309.         STRING035 = Upper(STRING035)
  310.         If (STRING035 == "YES") Then
  311.             STRING042 = "FALSE"
  312.             Goto LABEL007
  313.         Else
  314.             STRING042 = "TRUE"
  315.         Endif
  316.         Goto LABEL008
  317.         :LABEL007
  318.         FGet 1, STRING036
  319.         FGet 1, STRING037
  320.         FGet 1, STRING038
  321.         FGet 1, STRING039
  322.         FGet 1, STRING040
  323.         :LABEL008
  324.         FClose 1
  325.         :LABEL009
  326.         STRING023 = "Y"
  327.         Cls
  328.         DispFile STRING025 + STRING051, 1 + 2 + 4
  329.         InputStr "(@X0BY@X0F) to continue, (@X0BN@X0F) to Return to the BBS", STRING023, 15, 1, "YyNn", 32 + 2 + 4 + 128 + 8
  330.         If (STRING023 == YesChar()) Goto LABEL010
  331.         If (STRING023 == NoChar()) Goto LABEL068
  332.         Goto LABEL009
  333.         :LABEL010
  334.         Cls
  335.         STRING027 = ""
  336.         STRING028 = ""
  337.         If (CurSec() < STRING005) Goto LABEL011
  338.         If (STRING012 == 1) Goto LABEL013
  339.         If (CurSec() < STRING013) Goto LABEL012
  340.         If (STRING041 == "FALSE") Goto LABEL013
  341.         If (CurSec() >= STRING013) Goto LABEL013
  342.         Goto LABEL063
  343.         :LABEL011
  344.         Cls
  345.         If (STRING042 == "FALSE") Then
  346.             DispFile STRING025 + STRING036, 1 + 2 + 4
  347.         Else
  348.             PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  349.             PrintLn "@X38│ @X3FDate: @SYSDATE@        @X3E« First Contribution Entitlements »       @X3FTime: @SYSTIME@ @X3B│@X07"
  350.             PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  351.             PrintLn "@X07"
  352.             PrintLn "@X07               @X0EYour First $", STRING053, " Contribution will entitle you to:@X07"
  353.             PrintLn "@X07                                                                                   @X07"
  354.             PrintLn "@X07                @X0F(1)@X0E Access Level @X0C", STRING005, "@X07"
  355.             PrintLn "@X07                @X0F(2) @X0C", STRING010, " @X0EMinutes per day@X07"
  356.             PrintLn "@X07                @X0F(3) @X0C", STRING011, " @X0E Download Bytes per day@X07"
  357.             PrintLn "@X07                @X0F(4)@X0E This Access Level would expire in @X0C", STRING008, "@X0E Days@X07"
  358.             PrintLn "@X07"
  359.         Endif
  360.         If (STRING012 == "FALSE") Then
  361.             PrintLn ""
  362.             PrintLn "@X07        @X0F  Additional Entitlements are granted for additional fees !!@X07"
  363.             PrintLn "@X07                   @X0F See Next page for more information.....@X07"
  364.             PrintLn "@X07"
  365.             STRING023 = ""
  366.             InputStr "(@X0BC@X0F)ontinue, (@X0BN@X0F)ext Page, (@X0BR@X0F)eturn to Intro. (@X0BQ@X0F)uit", STRING023, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
  367.             If (STRING023 == "Q") Goto LABEL068
  368.             If (STRING023 == "N") Goto LABEL012
  369.             If (STRING023 == "R") Goto LABEL001
  370.             If (STRING023 == "C") Goto LABEL016
  371.             Goto LABEL011
  372.         Else
  373.             PrintLn ""
  374.             PrintLn "@X0F                     See Next page for more information .....@X07"
  375.             STRING023 = ""
  376.             InputStr "(@X0BC@X0F)ontinue, (@X0BN@X0F)ext Page, (@X0BR@X0F)eturn to Intro. (@X0BQ@X0F)uit", STRING023, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
  377.             If (STRING023 == "Q") Goto LABEL068
  378.             If (STRING023 == "R") Goto LABEL001
  379.             If (STRING023 == "N") Goto LABEL013
  380.             If (STRING023 == "C") Goto LABEL016
  381.             Goto LABEL011
  382.         Endif
  383.         :LABEL012
  384.         Cls
  385.         If (STRING042 == "FALSE") Then
  386.             DispFile STRING025 + STRING037, 1 + 2 + 4
  387.         Else
  388.             PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  389.             PrintLn "@X38│ @X3FDate: @SYSDATE@       @X3E« Second Contribution Entitlements »       @X3FTime: @SYSTIME@ @X3B│@X07"
  390.             PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  391.             PrintLn "@X07"
  392.             PrintLn "@X07                 @X0EA Second $", STRING053, " Contribution will entitle you to:@X07"
  393.             PrintLn "@X07"
  394.             PrintLn "@X07                 @X0F(1)@X0E Access Level @X0C", STRING013, "@X07"
  395.             PrintLn "@X07                 @X0F(2)@X0C ", STRING017, " @X0EMinutes per day@X07"
  396.             PrintLn "@X07                 @X0F(3)@X0C ", STRING018, " @X0E Download Bytes per day@X07"
  397.             PrintLn "@X07                 @X0F(4)@X0E This Access Level would expire in @X0C", STRING014, "@X0E Days@X07"
  398.             PrintLn "@X07"
  399.         Endif
  400.         If (STRING041 == "TRUE") Then
  401.             PrintLn ""
  402.             PrintLn "@X0F See Next page for information concerning subsequent uses of this program .....@X07"
  403.             STRING023 = ""
  404.             InputStr "(@X0BP@X0F)revious Page, (@X0BR@X0F)eturn to Intro., (@X0BC@X0F)ontinue, (@X0BQ@X0F)uit, (@X0BN@X0F)ext", STRING023, 15, 1, "QqRrCcPpNn", 32 + 2 + 4 + 128 + 8
  405.             If (STRING023 == "Q") Goto LABEL068
  406.             If (STRING023 == "P") Goto LABEL011
  407.             If (STRING023 == "R") Goto LABEL001
  408.             If (STRING023 == "N") Goto LABEL013
  409.             If (STRING023 == "C") Goto LABEL016
  410.             Goto LABEL012
  411.         Else
  412.             PrintLn ""
  413.             PrintLn "@X0F                    See Next page for more information .....@X07"
  414.             STRING023 = ""
  415.             InputStr "(@X0BC@X0F)ontinue, (@X0BN@X0F)ext Page, (@X0BR@X0F)eturn to Intro. (@X0BP@X0F)revious Page, (@X0BQ@X0F)uit", STRING023, 15, 1, "QqRrCcPpNn", 32 + 2 + 4 + 128 + 8
  416.             If (STRING023 == "Q") Goto LABEL068
  417.             If (STRING023 == "R") Goto LABEL001
  418.             If (STRING023 == "P") Goto LABEL011
  419.             If (STRING023 == "N") Goto LABEL013
  420.             If (STRING023 == "C") Goto LABEL016
  421.             Goto LABEL011
  422.         Endif
  423.         :LABEL013
  424.         Cls
  425.         If (STRING042 == "FALSE") Goto LABEL015
  426.         If (STRING041 == "FALSE") Then
  427.             PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  428.             PrintLn "@X38│ @X3FDate: @SYSDATE@     @X3E« Additional Contribution Entitlements »     @X3FTime: @SYSTIME@ @X3B│@X07"
  429.             PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  430.             PrintLn ""
  431.             PrintLn "@X07           @X0EAny Additional Contributions will not yield more entitlements@X07"
  432.             PrintLn ""
  433.             PrintLn "@X07 @X0E        Due to your current security level, we do not offer any other         @X07"
  434.             PrintLn "@X07 @X0E        entitlements utilizing the TABS program.  If you want a higher        @X07"
  435.             PrintLn "@X07 @X0E        access level, please contact the Sysop of this BBS for more           @X07"
  436.             PrintLn "@X07 @X0E        information.                                                          @X07"
  437.             PrintLn ""
  438.             Goto LABEL014
  439.         Else
  440.             PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  441.             PrintLn "@X38│ @X3FDate: @SYSDATE@     @X3E« Additional Contribution Entitlements »     @X3FTime: @SYSTIME@ @X3B│@X07"
  442.             PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  443.             PrintLn ""
  444.             PrintLn "@X07           @X0EAny Additional Contributions will not yield more entitlements@X07"
  445.             PrintLn ""
  446.             PrintLn "@X07 @X0E But they will help the Sysop pay the BBS bills.  With more contributions@X07"
  447.             PrintLn "@X07 @X0E  comes more features such as,  Door Games, Mail Doors, Files, and Nodes@X07"
  448.             PrintLn "@X07 @X0E  to call.  BBS's can be quite an expense for your Sysop.  Any help the@X07"
  449.             PrintLn "@X07 @X0E  callers can give to help defray this expense is very much appreciated.@X07"
  450.             PrintLn ""
  451.             :LABEL014
  452.             If (STRING012 == "FALSE") Then
  453.                 STRING023 = "C"
  454.                 InputStr "(@X0BP@X0F)revious Page, (@X0BR@X0F)eturn to Intro., (@X0BC@X0F)ontinue, (@X0BQ@X0F)uit", STRING023, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
  455.                 If (STRING023 == "Q") Goto LABEL068
  456.                 If (STRING023 == "P") Goto LABEL012
  457.                 If (STRING023 == "R") Goto LABEL001
  458.                 If (STRING023 == "C") Goto LABEL016
  459.                 Goto LABEL013
  460.             Else
  461.                 STRING023 = "C"
  462.                 InputStr "(@X0BP@X0F)revious Page, (@X0BR@X0F)eturn to Intro., (@X0BC@X0F)ontinue, (@X0BQ@X0F)uit", STRING023, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
  463.                 If (STRING023 == "Q") Goto LABEL068
  464.                 If (STRING023 == "P") Goto LABEL011
  465.                 If (STRING023 == "R") Goto LABEL001
  466.                 If (STRING023 == "C") Goto LABEL016
  467.                 Goto LABEL013
  468.             Endif
  469.         Endif
  470.         :LABEL015
  471.         If (STRING041 == "FALSE") Then
  472.             DispFile STRING025 + STRING040, 1 + 2 + 4
  473.             Goto LABEL014
  474.         Else
  475.             DispFile STRING025 + STRING038, 1 + 2 + 4
  476.             Goto LABEL014
  477.         Endif
  478.         :LABEL016
  479.         Cls
  480.         If (STRING042 == "FALSE") Then
  481.             DispFile STRING025 + STRING039, 1 + 2 + 4
  482.         Else
  483.             PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  484.             PrintLn "@X38│ @X3FDate: @SYSDATE@        @X3E« Telephone Access Billing Menu »         @X3FTime: @SYSTIME@ @X3B│@X07"
  485.             PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  486.             PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X07"
  487.             PrintLn "@X10│                                                                             @X19│@X07"
  488.             PrintLn "@X10│                   @X1FPlease select one of the options below:                   @X19│@X07"
  489.             PrintLn "@X10│                                                                             @X19│@X07"
  490.             If (U_Name() == Upper(STRING004)) Then
  491.                 PrintLn "@X10│                  @X1B(@X1EI@X1B)@X1F nquire about the # of SIDS in the $", STRING053, " SID List         @X19│@X07"
  492.                 PrintLn "@X10│                  @X1B(@X1EA@X1B)@X1F dd New SID's to the $", STRING053, " SID List                       @X19│@X07"
  493.                 PrintLn "@X10│                  @X1B(@X1EE@X1B)@X1F nter your Subscription ID #                            @X19│@X07"
  494.                 PrintLn "@X10│                  @X1B(@X1EQ@X1B)@X1F uit Return to the BBS                                  @X19│@X07"
  495.                 If (Upper(STRING068) == "YES") Then
  496.                     PrintLn "@X10│                  @X1B(@X1ED@X1B)@X1F ownload TABS information                               @X19│@X07"
  497.                     Goto LABEL017
  498.                 Endif
  499.                 :LABEL017
  500.                 PrintLn "@X10│                  @X1B(@X1ER@X1B)@X1F eturn to Introduction Screen                          @X19 │@X07"
  501.                 PrintLn "@X10│                                                                             @X19│@X07"
  502.                 PrintLn "@X10│  @X1CNOTE: @X1E    If this is not the SID file you wish to process.  Return to      @X19│@X07"
  503.                 PrintLn "@X10│            @X1E     the Introduction screen and select the correct service to   @X19│@X07"
  504.                 PrintLn "@X10│            @X1E     process.                                                    @X19│@X07"
  505.                 PrintLn "@X10│                                                                             @X19│@X07"
  506.                 PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  507.             Endif
  508.             STRING023 = ""
  509.             If (U_Name() <> Upper(STRING004)) Goto LABEL021
  510.             InputStr "@X0F(@X0BQ@X0F)uit, (@X0BR@X0F)eturn to Intro, (@X0BE@X0F)nter ID #, (@X0BI@X0F)nquire, (@X0BA@X0F)dd, (@X0BD@X0F)ownload", STRING023, 15, 1, "QqRrEeIiAadD", 32 + 2 + 4 + 8
  511.             If (STRING023 == "I") Goto LABEL024
  512.             If (STRING023 == "A") Goto LABEL028
  513.             If (STRING023 == "Q") Goto LABEL068
  514.             If (STRING023 == "R") Goto LABEL001
  515.             If (STRING023 == "E") Goto LABEL039
  516.             If (STRING023 == "D") Then
  517.                 If (Exist(STRING074)) Then
  518.                     Flag STRING074
  519.                     Cls
  520.                     Newlines 2
  521.                     PrintLn "@X0FInformation concerning the TABS service has been flagged for later download !"
  522.                     Newlines 2
  523.                     Wait
  524.                     Goto LABEL018
  525.                 Endif
  526.                 Cls
  527.                 Newlines 2
  528.                 PrintLn "@X0FERROR :  @X0CTABSINFO.TXT @X0Fcould not be found... Please inform your Sysop !"
  529.                 Newlines 2
  530.                 Wait
  531.                 :LABEL018
  532.                 Goto LABEL019
  533.             Endif
  534.             :LABEL019
  535.             Goto LABEL016
  536.             Goto LABEL024
  537.         Endif
  538.         PrintLn "@X10│                   @X1B(@X1EE@X1B) @X1Fnter your Subscription ID #                           @X19│@X07"
  539.         PrintLn "@X10│                   @X1B(@X1EQ@X1B) @X1Fuit Return to the BBS                                 @X19│@X07"
  540.         If (Upper(STRING068) == "YES") Then
  541.             PrintLn "@X10│                   @X1B(@X1ED@X1B)@X1F ownload TABS information                              @X19│@X07"
  542.             Goto LABEL020
  543.         Endif
  544.         :LABEL020
  545.         PrintLn "@X10│                   @X1B(@X1ER@X1B) @X1Feturn to Introduction Screen                          @X19│@X07"
  546.         PrintLn "@X10│                                                                             @X19│@X07"
  547.         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  548.         :LABEL021
  549.         STRING023 = ""
  550.         PrintLn ""
  551.         InputStr "(@X0BQ@X0F)uit, (@X0BR@X0F)eturn to Intro, @X0F(@X0BD@X0F)ownload, @X0F(@X0BE@X0F)nter ID #", STRING023, 15, 1, "QqEeRrDd", 32 + 2 + 4 + 8
  552.         If (STRING023 == "Q") Goto LABEL068
  553.         If (STRING023 == "R") Goto LABEL001
  554.         If (STRING023 == "E") Goto LABEL039
  555.         If (STRING023 == "D") Then
  556.             If (Exist(STRING074)) Then
  557.                 Flag "TABSINFO.TXT"
  558.                 Cls
  559.                 Newlines 2
  560.                 PrintLn "@X0FInformation concerning the TABS service has been flagged for later download !"
  561.                 Newlines 2
  562.                 Wait
  563.                 Goto LABEL022
  564.             Endif
  565.             Cls
  566.             Newlines 2
  567.             PrintLn "@X0FERROR :  @X0CTABSINFO.TXT @X0Fcould not be found... Please inform your Sysop !"
  568.             Newlines 2
  569.             Wait
  570.             :LABEL022
  571.             Goto LABEL023
  572.         Endif
  573.         :LABEL023
  574.         Goto LABEL016
  575.         :LABEL024
  576.         INTEGER003 = ""
  577.         Print "Standby, while I process your request... "
  578.         FOpen 1, STRING025 + STRING003, 0, 3
  579.         If (Ferr(1)) Then
  580.             STRING027 = "14"
  581.             FClose 1
  582.             FClose 2
  583.         Else
  584.             Frewind 1
  585.             INTEGER007 = GetX()
  586.             INTEGER008 = GetY()
  587.             :LABEL025
  588.             If (Ferr(1)) Goto LABEL027
  589.             FGet 1, STRING006
  590.             AnsiPos INTEGER007, INTEGER008
  591.             Print TSTRING031(INTEGER009 % 4)
  592.             Inc INTEGER009
  593.             If (Len(STRING006) < 7) Then
  594.                 Goto LABEL026
  595.             ElseIf (Len(STRING006) > 8) Then
  596.                 Goto LABEL026
  597.             Else
  598.                 Inc INTEGER003
  599.             Endif
  600.             :LABEL026
  601.             Goto LABEL025
  602.             :LABEL027
  603.             FClose 1
  604.             Cls
  605.             Newlines 2
  606.             PrintLn "@X0F There are currently @X0C", INTEGER003, "@X0F SIDS available for usage in the $@X0C", STRING053, " @X0FSID list."
  607.             Newlines 2
  608.             Wait
  609.             Goto LABEL016
  610.             :LABEL028
  611.             Cls
  612.             STRING023 = ""
  613.             Newlines 2
  614.             PrintLn "@X0FYour new @X0BSIDS@X0F must reside in the same directory as the @X0CTABS @X0FPPE."
  615.             PrintLn "@X0EENSURE @X0Fthat you are adding $@X0C", STRING053, " @X0FSIDS to this ID list."
  616.             PrintLn "@X0FThe file that you about to add subscription ID's to is:"
  617.             PrintLn ""
  618.             PrintLn "@X0E     ", STRING025 + STRING003, "  @X0C!!!!"
  619.             PrintLn ""
  620.             InputStr "@X0FIs this the file you wish to add SIDS to? (@X0BY@X0F)es, (@X0BN@X0F)o ", STRING023, 15, 1, "YyNn", 32 + 2 + 4 + 128 + 8
  621.             If (STRING023 == YesChar()) Goto LABEL029
  622.             If (STRING023 == NoChar()) Goto LABEL016
  623.             Goto LABEL028
  624.             :LABEL029
  625.             InputStr "@X0FEnter the filename of the $@X0E" + STRING053 + " @X0FSID file to add ", STRING029, 15, 12, Mask_File(), 8 + 32 + 2 + 4 + 128
  626.             Newlines 2
  627.             Print "@X0FHold on while we add the numbers to your $@X0E", STRING053, " @X0FSID listing "
  628.             Delete STRING025 + "WORK.$$$"
  629.             FCreate 1, STRING025 + "WORK.$$$", 2, 3
  630.             If (Ferr(1)) Then
  631.                 STRING027 = "12"
  632.                 FClose 1
  633.             Else
  634.                 FOpen 2, STRING025 + STRING003, 2, 3
  635.                 If (Ferr(2)) Then
  636.                     STRING027 = "14"
  637.                     FClose 2
  638.                     FClose 1
  639.                 Else
  640.                     INTEGER007 = GetX()
  641.                     INTEGER008 = GetY()
  642.                     :LABEL030
  643.                     If (Ferr(2)) Goto LABEL033
  644.                     FGet 2, STRING030
  645.                     AnsiPos INTEGER007, INTEGER008
  646.                     Print TSTRING031(INTEGER009 % 4)
  647.                     Inc INTEGER009
  648.                     If (Len(STRING030) >= 7) Then
  649.                         Goto LABEL031
  650.                     Else
  651.                         Goto LABEL032
  652.                     Endif
  653.                     :LABEL031
  654.                     FPutLn 1, STRING030
  655.                     :LABEL032
  656.                     Goto LABEL030
  657.                     :LABEL033
  658.                     FOpen 3, STRING025 + STRING029, 0, 3
  659.                     If (Ferr(3)) Then
  660.                         STRING027 = "13"
  661.                         FClose 1
  662.                         FClose 2
  663.                         FClose 3
  664.                     Else
  665.                         :LABEL034
  666.                         If (Ferr(3)) Goto LABEL038
  667.                         FGet 3, STRING030
  668.                         AnsiPos INTEGER007, INTEGER008
  669.                         Print TSTRING031(INTEGER009 % 4)
  670.                         Inc INTEGER009
  671.                         If (Len(STRING030) > 6) Then
  672.                             Goto LABEL035
  673.                         Else
  674.                             Goto LABEL037
  675.                         Endif
  676.                         :LABEL035
  677.                         If (Len(STRING030) < 8) Then
  678.                             Goto LABEL036
  679.                         Else
  680.                             Goto LABEL037
  681.                         Endif
  682.                         :LABEL036
  683.                         FPutLn 1, STRING030
  684.                         :LABEL037
  685.                         Goto LABEL034
  686.                         :LABEL038
  687.                         FClose 1
  688.                         FClose 2
  689.                         FClose 3
  690.                         Delete STRING025 + STRING003
  691.                         Delete STRING025 + STRING029
  692.                         Rename STRING025 + "WORK.$$$", STRING025 + STRING003
  693.                         Cls
  694.                         Newlines 2
  695.                         PrintLn " Operation successfull !!!! "
  696.                         Newlines 2
  697.                         Delay 100
  698.                         Goto LABEL024
  699.                         :LABEL039
  700.                         STRING028 = ""
  701.                         STRING027 = ""
  702.                         PrintLn ""
  703.                         InputStr "(@X0BQ@X0F)uit, @X0BEnter your Subscription #@X0F", STRING028, 15, 7, "Qq0123456789", 32 + 2 + 4 + 8
  704.                         If (STRING028 == "Q") Goto LABEL016
  705.                         If (Len(STRING028) < 7) Goto LABEL061
  706.                         If (Len(STRING028) > 8) Goto LABEL061
  707.                         PrintLn ""
  708.                         Print "@X0F Please standby while I validate your Subscription Number... "
  709.                         FAppend 2, STRING059, 1, 3
  710.                         FPutLn 2, " Entered SID# ", STRING028, " looking in $", STRING053, " list for a match."
  711.                         FClose 2
  712.                         FOpen 1, STRING025 + STRING003, 0, 3
  713.                         If (Ferr(1)) Then
  714.                             STRING027 = "14"
  715.                             FClose 1
  716.                         Else
  717.                             FCreate 2, STRING025 + "WORK.$$$", 1, 3
  718.                             If (Ferr(2)) Then
  719.                                 STRING027 = "12"
  720.                                 FClose 1
  721.                                 FClose 2
  722.                             Else
  723.                                 Frewind 1
  724.                                 STRING027 = "11"
  725.                                 INTEGER007 = GetX()
  726.                                 INTEGER008 = GetY()
  727.                                 :LABEL040
  728.                                 If (Ferr(1)) Goto LABEL042
  729.                                 FGet 1, STRING006
  730.                                 AnsiPos INTEGER007, INTEGER008
  731.                                 Print TSTRING031(INTEGER009 % 4)
  732.                                 Inc INTEGER009
  733.                                 If (STRING028 == STRING006) Then
  734.                                     FPutLn 2, " *** SID ", STRING028, " was used ", String(Date()), " at ", String(Time()), " by ", U_Name(), " ***"
  735.                                     STRING027 = "10"
  736.                                 ElseIf (Len(STRING006) >= 7) Then
  737.                                     FPutLn 2, STRING006
  738.                                     If (Len(STRING006) == 7) Inc INTEGER003
  739.                                     Goto LABEL041
  740.                                 Endif
  741.                                 :LABEL041
  742.                                 Goto LABEL040
  743.                                 :LABEL042
  744.                                 FClose 1
  745.                                 FClose 2
  746.                                 FClose 3
  747.                                 Delete STRING025 + STRING003
  748.                                 Rename STRING025 + "WORK.$$$", STRING025 + STRING003
  749.                             Endif
  750.                         Endif
  751.                     Endif
  752.                 Endif
  753.             Endif
  754.         Endif
  755.         If (STRING027 == "14") Goto LABEL062
  756.         If (STRING027 == "13") Goto LABEL062
  757.         If (STRING027 == "12") Goto LABEL063
  758.         If (STRING027 == "11") Goto LABEL061
  759.         If (STRING027 == "10") Goto LABEL043
  760.         Goto LABEL063
  761.         :LABEL043
  762.         If (CurSec() < STRING005) Goto LABEL044
  763.         If (STRING012 == "TRUE") Goto LABEL050
  764.         If (CurSec() < STRING013) Goto LABEL047
  765.         If (CurSec() >= STRING013) Goto LABEL050
  766.         Goto LABEL063
  767.         :LABEL044
  768.         If (STRING061 == "YES") U_ExpDate = Date()
  769.         If (U_ExpDate < Date()) U_ExpDate = Date()
  770.         U_Sec = STRING005
  771.         U_ExpDate = U_ExpDate + STRING008
  772.         U_ExpSec = STRING009
  773.         STRING073 = STRING010
  774.         PutUser
  775.         If (STRING022 == "NO") Then
  776.             Goto LABEL045
  777.         ElseIf (Psa(6)) Then
  778.             U_Notes(0) = "TABS donation " + STRING028 + " "
  779.             U_Notes(1) = "ON: " + String(Date()) + " First Donation, $" + STRING053 + " "
  780.             PutUser
  781.         Endif
  782.         :LABEL045
  783.         FAppend 2, STRING059, 1, 3
  784.         FPutLn 2, "       SID was accepted:"
  785.         FPutLn 2, "               Access level now: ", CurSec()
  786.         FPutLn 2, "               Daily Access Time: ", STRING010, " mins."
  787.         FPutLn 2, "       This is the first time this caller has contributed $", STRING053, " !"
  788.         FClose 2
  789.         If (STRING020 == "NONE") Goto LABEL046
  790.         ConfFlag STRING020, 1 + 2 + 4
  791.         PutUser
  792.         :LABEL046
  793.         If (STRING021 == "NONE") Goto LABEL057
  794.         FCreate 1, STRING069, 1, 3
  795.         FPutLn 1, ""
  796.         FPutLn 1, "@X0FThis is just a message to let you know that:"
  797.         FPutLn 1, ""
  798.         FPutLn 1, "@X0C", U_Name(), "@X0F, donated $", STRING053, " to the BBS and his/her access "
  799.         FPutLn 1, "level was changed to: ", CurSec(), ", and their access time per "
  800.         FPutLn 1, "day is now: ", STRING010, " mins., this was a first time "
  801.         FPutLn 1, "$@X0C", STRING053, "@X0F contribution."
  802.         FClose 1
  803.         Message STRING021, STRING004, "TABS-PPE", "Contribution", "R", 0, 0, 0, STRING069
  804.         Delete STRING069
  805.         Goto LABEL057
  806.         :LABEL047
  807.         If (STRING061 == "YES") U_ExpDate = Date()
  808.         If (U_ExpDate < Date()) U_ExpDate = Date()
  809.         U_Sec = STRING013
  810.         U_ExpDate = U_ExpDate + STRING014
  811.         U_ExpSec = STRING016
  812.         STRING073 = STRING017
  813.         PutUser
  814.         If (STRING022 == "NO") Then
  815.             Goto LABEL048
  816.         ElseIf (Psa(6)) Then
  817.             U_Notes(0) = "TABS Contribution " + STRING028 + " "
  818.             U_Notes(1) = "ON: " + String(Date()) + " Second $" + STRING053 + "Contribution"
  819.             PutUser
  820.         Endif
  821.         :LABEL048
  822.         FAppend 2, STRING059, 1, 3
  823.         FPutLn 2, "       SID was accepted:"
  824.         FPutLn 2, "               Access level now: ", CurSec()
  825.         FPutLn 2, "               Daily Access Time: ", STRING017, " mins."
  826.         FPutLn 2, "       This was a the second time this caller has contributed !"
  827.         FPutLn 2, "       This was a $", STRING053, " contribution."
  828.         FClose 2
  829.         If (STRING020 == "NONE") Goto LABEL049
  830.         ConfFlag STRING020, 1 + 2 + 4
  831.         PutUser
  832.         :LABEL049
  833.         If (STRING021 == "NONE") Goto LABEL057
  834.         FCreate 1, STRING069, 1, 3
  835.         FPutLn 1, ""
  836.         FPutLn 1, "@X0FThis is just a message to let you know that:"
  837.         FPutLn 1, ""
  838.         FPutLn 1, "@X0C", U_Name(), "@X0F, donated $", STRING053, " to the BBS and his/her access level was"
  839.         FPutLn 1, "changed to: ", CurSec(), ", and their access time per day is"
  840.         FPutLn 1, "now: ", STRING017, " mins., this was a second time Contribution."
  841.         FClose 1
  842.         Message STRING021, STRING004, "TABS-PPE", "Contribution", "R", 0, 0, 0, STRING069
  843.         Delete STRING069
  844.         Goto LABEL057
  845.         :LABEL050
  846.         If (STRING012 == "TRUE") STRING017 = STRING010
  847.         FAppend 2, STRING059, 1, 3
  848.         FPutLn 2, "       SID was accepted, Access level not adjusted.  User has donated more"
  849.         FPutLn 2, "       than configured number of times."
  850.         FClose 2
  851.         If (STRING020 == "NONE") Goto LABEL051
  852.         ConfFlag STRING020, 1 + 2 + 4
  853.         :LABEL051
  854.         If (STRING021 == "NONE") Goto LABEL053
  855.         If (STRING022 == "NO") Then
  856.             Goto LABEL052
  857.         ElseIf (Psa(6)) Then
  858.             GetUser
  859.             U_Notes(0) = "TABS Contribution " + STRING028 + " "
  860.             U_Notes(1) = "ON: " + String(Date()) + " Third $" + STRING053 + " Contribution"
  861.         Endif
  862.         :LABEL052
  863.         FCreate 1, STRING069, 1, 3
  864.         FPutLn 1, ""
  865.         FPutLn 1, "@X0FThis is just a message to let you know that:"
  866.         FPutLn 1, ""
  867.         FPutLn 1, "@X0C", U_Name(), "@X0F, donated $", STRING053, " to the BBS and since this was his/her"
  868.         FPutLn 1, "third (or higher) Contribution no change was made to their account"
  869.         FPutLn 1, "The callers security level is: ", CurSec(), " , and their"
  870.         FPutLn 1, "access time per day is: ", STRING073, " mins."
  871.         FClose 1
  872.         Message STRING021, STRING004, "TABS-PPE", "Contribution", "R", 0, 0, 0, STRING069
  873.         Delete STRING069
  874.         :LABEL053
  875.         Cls
  876.         PrintLn ""
  877.         PrintLn "@X0CThank you !!! @X0E", STRING024, ", @X0Ffor your Contribution."
  878.         PrintLn ""
  879.         PrintLn "@X0FThis is the kindest type of contribution, as it was a contribution that you"
  880.         PrintLn "@X0Fgave without expecting anything in return."
  881.         PrintLn ""
  882.         PrintLn "@X0FThank you very much for your generosity !!!!"
  883.         PrintLn ""
  884.         PrintLn "@X0FYour access level is            :@X0E ", CurSec(), "@X0B"
  885.         PrintLn "@X0FYour access time per day is     :@X0E ", STRING073, " @X0BMins."
  886.         PrintLn "@X0FYour account expiration date is :@X0E ", U_ExpDate, "@X0B"
  887.         Newlines 2
  888.         If (Upper(STRING066) == "YES") Then
  889.             STRING023 = ""
  890.             InputStr "@X0FWould you like to download a receipt for this transaction", STRING023, 11, 1, "yYnN", 256 + 16384
  891.             If (STRING023 == YesChar()) Then
  892.                 FCreate 1, STRING070, 1, 3
  893.                 FClose 1
  894.                 Append STRING025 + STRING067, STRING070
  895.                 FAppend 1, STRING070, 1, 3
  896.                 FPutLn 1, ""
  897.                 FPutLn 1, "Your new access level is        : ", CurSec(), ""
  898.                 FPutLn 1, "Access time per day is          : ", STRING073, ""
  899.                 FPutLn 1, "Your account expiration date is : ", U_ExpDate, ""
  900.                 FPutLn 1, ""
  901.                 FPutLn 1, "Receipt generated on ", Date(), " for $", STRING053, " at ", STRING063
  902.                 FClose 1
  903.                 Flag STRING070
  904.                 Newlines 2
  905.                 PrintLn "@X0FYour receipt has been flagged for later download."
  906.                 Newlines 2
  907.                 Wait
  908.                 Goto LABEL054
  909.             Endif
  910.             :LABEL054
  911.             Goto LABEL055
  912.         Endif
  913.         :LABEL055
  914.         If (STRING021 == "NONE") Goto LABEL068
  915.         If (INTEGER003 <= STRING043) Then
  916.             FAppend 2, STRING059, 1, 3
  917.             FPutLn 2, "******* WARNING !!!!!!!!!!!!!!!! *******"
  918.             FPutLn 2, "  Only ", INTEGER003, " $", STRING053, " SIDS remaining ! "
  919.             FClose 2
  920.             FCreate 3, STRING071, 1, 3
  921.             FPutLn 3, ""
  922.             FPutLn 3, "@X0F TABS PPE would like to inform that there are only"
  923.             FPutLn 3, "@X0C ", INTEGER003, "@X0E $", STRING053, " @X0FSubscription ID's remaining. Please call the TABS service"
  924.             FPutLn 3, "BBS at @X0B1-407-722-3406 @X0Fand download more $", STRING053, " Subscription ID's"
  925.             FPutLn 3, ""
  926.             FClose 3
  927.             Message STRING021, STRING004, "TABS-PPE", "Warning", "R", 0, 0, 0, STRING071
  928.             Delete STRING071
  929.             Goto LABEL056
  930.         Endif
  931.         :LABEL056
  932.         If (STRING075 == "YES") Goto LABEL064
  933.         Goto LABEL016
  934.         :LABEL057
  935.         Cls
  936.         PrintLn ""
  937.         PrintLn "@X0CThank you @X0E", STRING024, ", @X0Ffor your Contribution. Your account on this BBS has"
  938.         PrintLn "@X0Fbeen adjusted to reflect your generosity."
  939.         PrintLn ""
  940.         PrintLn "@X0FYour new access level is        :@X0E ", CurSec(), "@X0B"
  941.         PrintLn "@X0FYour access time per day is     :@X0E ", STRING073, " @X0BMins."
  942.         PrintLn "@X0B@X0FYour account expiration date is :@X0E ", U_ExpDate, "@X0B"
  943.         Newlines 2
  944.         If (Upper(STRING066) == "YES") Then
  945.             STRING023 = ""
  946.             InputStr "@X0FWould you like to download a receipt for this transaction", STRING023, 11, 1, "yYnN", 256 + 16384
  947.             If (STRING023 == YesChar()) Then
  948.                 FCreate 1, STRING070, 1, 3
  949.                 FClose 1
  950.                 Append STRING025 + STRING067, STRING070
  951.                 FAppend 1, STRING070, 1, 3
  952.                 FPutLn 1, ""
  953.                 FPutLn 1, "Your new access level is        : ", CurSec(), ""
  954.                 FPutLn 1, "Access time per day is          : ", STRING073, " Mins."
  955.                 FPutLn 1, "Your account expiration date is : ", U_ExpDate, ""
  956.                 FPutLn 1, ""
  957.                 FPutLn 1, "Receipt generated on ", Date(), " for $", STRING053, " at ", STRING063
  958.                 FClose 1
  959.                 Flag STRING070
  960.                 Newlines 2
  961.                 PrintLn "@X0FYour receipt has been flagged for later download."
  962.                 Newlines 2
  963.                 Wait
  964.                 Goto LABEL058
  965.             Endif
  966.             :LABEL058
  967.             Goto LABEL059
  968.         Endif
  969.         :LABEL059
  970.         If (STRING021 == "NONE") Goto LABEL068
  971.         If (INTEGER003 <= STRING043) Then
  972.             FAppend 2, STRING059, 1, 3
  973.             FPutLn 2, "******* WARNING !!!!!!!!!!!!!!!! *******"
  974.             FPutLn 2, "  Only ", INTEGER003, " $", STRING053, " SIDS remaining ! "
  975.             FClose 2
  976.             FCreate 3, STRING071, 1, 3
  977.             FPutLn 3, ""
  978.             FPutLn 3, "@X0F TABS PPE would like to inform that there are only"
  979.             FPutLn 3, "@X0C ", INTEGER003, "@X0E $", STRING053, "@X0F Subscription ID's remaining. Please call the TABS service"
  980.             FPutLn 3, "BBS at @X0B1-407-722-3406 @X0Fand download more $", STRING053, " Subscription ID's"
  981.             FPutLn 3, ""
  982.             FClose 3
  983.             Message STRING021, STRING004, "TABS-PPE", "Warning", "R", 0, 0, 0, STRING071
  984.             Delete STRING071
  985.             Goto LABEL060
  986.         Endif
  987.         :LABEL060
  988.         If (STRING075 == "YES") Goto LABEL064
  989.         Goto LABEL016
  990.         :LABEL061
  991.         FAppend 2, STRING059, 1, 3
  992.         Inc STRING045
  993.         FPutLn 2, "   Entered an incorrect REGISTRATION NUMBER!"
  994.         FClose 2
  995.         Cls
  996.         PrintLn ""
  997.         PrintLn "@X0F You entered an @X0Cincorrect @X0FSubscription Number,  Please try again @X0E!@X0F"
  998.         Newlines 2
  999.         If (STRING045 == STRING044) Then
  1000.             Goto LABEL067
  1001.         Else
  1002.             Goto LABEL039
  1003.         Endif
  1004.         :LABEL062
  1005.         FAppend 2, STRING059, 1, 3
  1006.         FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING027, " *******"
  1007.         FPutLn 2, "  Please check TABS.DOC for a description of the error"
  1008.         FClose 2
  1009.         Cls
  1010.         PrintLn 
  1011.         PrintLn "@X0E The fuction that you just executed ended in error and "
  1012.         PrintLn "@X0E the program returned Errorlevel ", STRING027, " please"
  1013.         PrintLn "@X0E your TABS.DOC file for an explaination of this error !!!"
  1014.         Newlines 2
  1015.         Wait
  1016.         Goto LABEL016
  1017.         :LABEL063
  1018.         FAppend 2, STRING059, 1, 3
  1019.         FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING027, " *******"
  1020.         FPutLn 2, "  Please check TABS.DOC for a description of the error"
  1021.         FClose 2
  1022.         Cls
  1023.         PrintLn 
  1024.         PrintLn "@X0F The validation process ended in an error !!!"
  1025.         PrintLn "@X8C       Please inform your Sysop @X8B!@X8A!@X89!@X8E!@X07"
  1026.         Newlines 2
  1027.         If (STRING021 == "NONE") Goto LABEL068
  1028.         FCreate 1, STRING069, 1, 3
  1029.         FPutLn 1, ""
  1030.         FPutLn 1, "@X0EThis is just a message to let you know that:"
  1031.         FPutLn 1, ""
  1032.         FPutLn 1, "@X0C", U_Name(), "@X0F, attempted to donate to the BBS and TABS PPE exited"
  1033.         FPutLn 1, "with @X8C Errorlevel ", STRING027, " @X0F- so their access rights were not"
  1034.         FPutLn 1, "changed."
  1035.         FPutLn 1, ""
  1036.         FClose 1
  1037.         Message STRING021, STRING004, "TABS-PPE", "TABS_Problem", "R", 0, 0, 0, STRING069
  1038.         Delete STRING069
  1039.         Wait
  1040.         Goto LABEL068
  1041.         :LABEL064
  1042.         If (!Exist(STRING025 + STRING080)) FOpen 1, STRING025 + STRING080, 2, 3
  1043.         FAppend 1, STRING025 + STRING080, 2, 3
  1044.         FPutLn 1, "", U_Name()
  1045.         FClose 1
  1046.         If (Exist(STRING025 + STRING076)) Delete STRING025 + STRING076
  1047.         FCreate 1, STRING025 + STRING076, 2, 3
  1048.         FOpen 2, STRING025 + STRING080, 2, 3
  1049.         FPutLn 1, "%" + STRING025 + +STRING077
  1050.         FPutLn 1, ""
  1051.         :LABEL065
  1052.         STRING007 = ""
  1053.         STRING015 = ""
  1054.         STRING019 = ""
  1055.         FGet 2, STRING007
  1056.         FGet 2, STRING015
  1057.         FGet 2, STRING019
  1058.         FPutPad 1, "    " + STRING007, -32
  1059.         FPutPad 1, STRING015, -25
  1060.         FPutPad 1, STRING019, -22
  1061.         FPutLn 1, ""
  1062.         If (Ferr(2)) Goto LABEL066
  1063.         Goto LABEL065
  1064.         :LABEL066
  1065.         FPutLn 1, ""
  1066.         FPutLn 1, "%" + STRING025 + +STRING078
  1067.         FClose 1
  1068.         FClose 2
  1069.         Goto LABEL016
  1070.         :LABEL067
  1071.         FAppend 2, STRING059, 1, 3
  1072.         FPutLn 2, "         USER FAILED ", STRING045, " times trying to enter SID"
  1073.         FClose 2
  1074.         Cls
  1075.         Newlines 2
  1076.         PrintLn " @X0FYou have entered an invalid SID @X0C", STRING045, " @X0Ftimes"
  1077.         PrintLn ""
  1078.         PrintLn "    Please contact your @X0CSysop @X0Ffor assistance @X8B!@X8A!@X89!@X8E!@X07"
  1079.         Newlines 2
  1080.         If (STRING021 == "NONE") Then
  1081.             Delay 126
  1082.         Else
  1083.             FCreate 1, STRING072, 1, 3
  1084.             FPutLn 1, ""
  1085.             FPutLn 1, "@X0FThis is just a message to let you know that:"
  1086.             FPutLn 1, ""
  1087.             FPutLn 1, "@X0C", U_Name(), "@X0F, attempted to donate to the BBS and was unable to"
  1088.             FPutLn 1, "@X0Fenter a correct SID within the ", STRING045, " attempts configured."
  1089.             FPutLn 1, ""
  1090.             FClose 1
  1091.             Message STRING021, STRING004, "TABS-PPE", "SID_MISSES", "R", 0, 0, 0, STRING072
  1092.             Delete STRING072
  1093.             Delay 126
  1094.         Endif
  1095.         :LABEL068
  1096.         If (STRING064 == "YES") Then
  1097.             Cls
  1098.             PrintLn "@X0FTABS-PPE @X0Ewritten by:  @X0BRay Sulich "
  1099.             Newlines 4
  1100.             PrintLn "@BEEP@@BEEP@@BEEP@"
  1101.             PrintLn ""
  1102.             PrintLn "@X0C              This Copy of TABS-PPE Version ", STRING049, " is Registered to"
  1103.             PrintLn ""
  1104.             Forward (80 - Len(STRING063)) / 2
  1105.             Print "@X0E", STRING063
  1106.             Newlines 8
  1107.             Delay 45
  1108.         Else
  1109.             Cls
  1110.             PrintLn "@X0FTABS-PPE @X0Ewritten by: @X0BRay Sulich"
  1111.             Newlines 4
  1112.             PrintLn "@BEEP@@BEEP@@BEEP@@BEEP@@BEEP@"
  1113.             Newlines 2
  1114.             PrintLn "@X0C                  Unregistered Copy of TABS-PPE Version ", STRING049
  1115.             Newlines 2
  1116.             PrintLn "@X0E                     Please help your Sysop Register ME !!"
  1117.             Newlines 4
  1118.             PrintLn "@X07 "
  1119.             Delay 126
  1120.         Endif
  1121.     Endif
  1122.     FAppend 2, STRING059, 1, 3
  1123.     FPutLn 2, "---- ", U_Name(), " Exited PPE on ", String(Date()), " at ", String(Time()), " ----"
  1124.     FPutLn 2, ""
  1125.     FClose 2
  1126.     PutUser
  1127.     FClose 1
  1128.     FClose 3
  1129.     If (Exist(STRING069)) Delete STRING069
  1130.     If (Exist(STRING071)) Delete STRING071
  1131.     If (Exist(STRING072)) Delete STRING072
  1132.     If (Exist(STRING079)) Delete STRING079
  1133.  
  1134. ;------------------------------------------------------------------------------
  1135. ;
  1136. ; Usage report (before postprocessing)
  1137. ;
  1138. ; ■ Statements used :
  1139. ;
  1140. ;    25      Cls
  1141. ;    11      Wait
  1142. ;    239     Goto 
  1143. ;    126     Let 
  1144. ;    8       Print 
  1145. ;    162     PrintLn 
  1146. ;    152     If 
  1147. ;    3       ConfFlag 
  1148. ;    7       DispFile 
  1149. ;    13      FCreate 
  1150. ;    8       FOpen 
  1151. ;    15      FAppend 
  1152. ;    49      FClose 
  1153. ;    50      FGet 
  1154. ;    90      FPutLn 
  1155. ;    3       FPutPad 
  1156. ;    2       GetUser
  1157. ;    7       PutUser
  1158. ;    17      Delete 
  1159. ;    15      InputStr 
  1160. ;    6       Delay 
  1161. ;    7       Inc 
  1162. ;    35      Newlines 
  1163. ;    1       Tokenize 
  1164. ;    4       AnsiPos 
  1165. ;    1       Forward 
  1166. ;    7       Message 
  1167. ;    2       Rename 
  1168. ;    2       Frewind 
  1169. ;    2       Append 
  1170. ;    5       Flag 
  1171. ;
  1172. ;
  1173. ; ■ Functions used :
  1174. ;
  1175. ;    2       +
  1176. ;    3       -
  1177. ;    1       *
  1178. ;    1       /
  1179. ;    4       %
  1180. ;    154     +
  1181. ;    2       -
  1182. ;    101     ==
  1183. ;    2       <>
  1184. ;    14      <
  1185. ;    4       <=
  1186. ;    3       >
  1187. ;    6       >=
  1188. ;    61      !
  1189. ;    2       &&
  1190. ;    1       ||
  1191. ;    16      Len(
  1192. ;    1       Lower()
  1193. ;    15      Upper()
  1194. ;    2       Mid()
  1195. ;    1       Left()
  1196. ;    1       Right()
  1197. ;    11      Ferr()
  1198. ;    1       Chr()
  1199. ;    1       Asc()
  1200. ;    14      Date()
  1201. ;    3       Time()
  1202. ;    12      U_Name()
  1203. ;    2       NoChar()
  1204. ;    4       YesChar()
  1205. ;    15      String()
  1206. ;    1       Mask_File()
  1207. ;    1       PPEPath()
  1208. ;    6       PcbNode()
  1209. ;    15      CurSec()
  1210. ;    3       GetToken()
  1211. ;    11      Exist()
  1212. ;    3       GetX()
  1213. ;    3       GetY()
  1214. ;    3       Psa()
  1215. ;
  1216. ;------------------------------------------------------------------------------
  1217. ;
  1218. ; Analysis flags : FWf
  1219. ;
  1220. ; F - Change conference flags status ■ 2
  1221. ;     This may be normal for a SELECT replacement but it may also be
  1222. ;     a way to get access to conferences a user is not allowed to.
  1223. ;     ■ Search for : CONFFLAG, CONFUNFLAG
  1224. ;
  1225. ; W - Write user ■ 5
  1226. ;     Program writes a user record. Although this may be normal for a
  1227. ;     User Editor, it may also be a way to modify an account level.
  1228. ;     ■ Search for : PUTUSER
  1229. ;
  1230. ; f - Flag files for download ■ 3
  1231. ;     This may be normal if a PPE needs to send some files, but since
  1232. ;     this statement allows flagging of any file on the hard disk, you
  1233. ;     have to be carefull. Check!
  1234. ;     ■ Search for : FLAG
  1235. ;
  1236. ;------------------------------------------------------------------------------
  1237. ;
  1238. ; Postprocessing report
  1239. ;
  1240. ;    1       For/Next
  1241. ;    1       While/EndWhile
  1242. ;    52      If/Then or If/Then/Else
  1243. ;    1       Select Case
  1244. ;
  1245. ;------------------------------------------------------------------------------
  1246. ;                 AEGiS Corp - Break the routines, code against the machines!
  1247. ;------------------------------------------------------------------------------
  1248.