home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TABPPE21.ZIP / TABS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-11-07  |  16KB  |  688 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 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER003
  21.     String   STRING002
  22.     String   STRING003
  23.     String   STRING004
  24.     String   STRING005
  25.     String   STRING006
  26.     String   STRING007
  27.     String   STRING008
  28.     String   STRING009
  29.     String   STRING010
  30.     String   STRING011
  31.     String   STRING012
  32.     String   STRING013
  33.     String   STRING014
  34.     String   STRING015
  35.     String   STRING016
  36.     String   STRING017
  37.     String   STRING018
  38.     String   STRING019
  39.     String   STRING020
  40.     String   STRING021
  41.     String   STRING022
  42.     String   STRING023
  43.     String   STRING024
  44.     String   STRING025
  45.     String   STRING026
  46.     String   STRING027
  47.  
  48. ;------------------------------------------------------------------------------
  49.  
  50.     STRING022 = PPEPath()
  51.     STRING023 = " 0123456789.,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  52.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  53.     FPutLn 2, "**** ", U_Name(), " Entered PPE on ", String(Date()), " at ", String(Time()), " ****"
  54.     FClose 2
  55.     FOpen 1, STRING022 + "TABS.CFG", 0, 0
  56.     FGet 1, STRING004
  57.     FGet 1, STRING005
  58.     FGet 1, STRING007
  59.     FGet 1, STRING008
  60.     FGet 1, STRING009
  61.     FGet 1, STRING010
  62.     FGet 1, STRING012
  63.     If (Len(STRING012) < 1) Then
  64.         STRING011 = 1
  65.     Else
  66.         STRING011 = 0
  67.     Endif
  68.     FGet 1, STRING013
  69.     FGet 1, STRING014
  70.     FGet 1, STRING015
  71.     FGet 1, STRING016
  72.     FGet 1, STRING017
  73.     If (Len(STRING017) < 1) STRING017 = "NONE"
  74.     FGet 1, STRING018
  75.     If (Len(STRING018) < 1) STRING018 = "NONE"
  76.     FGet 1, STRING003
  77.     FGet 1, STRING019
  78.     STRING019 = Upper(STRING019)
  79.     FClose 1
  80.     GetUser
  81.     Tokenize U_Name()
  82.     STRING002 = GetToken()
  83.     STRING002 = Left(STRING002, 1) + Lower(Right(STRING002, Len(STRING002) - 1))
  84.     STRING021 = STRING002
  85.     :LABEL001
  86.     Cls
  87.     DispFile STRING022 + "INTRO", 1
  88.     STRING020 = ""
  89.     InputStr "(Y) to continue, (N) to Return to the BBS", STRING020, 15, 1, "YyNn", 32 + 2 + 4 + 128 + 8
  90.     If (STRING020 == YesChar()) Goto LABEL002
  91.     If (STRING020 == NoChar()) Goto LABEL040
  92.     Goto LABEL001
  93.     :LABEL002
  94.     Cls
  95.     STRING024 = ""
  96.     STRING025 = ""
  97.     If (CurSec() < STRING005) Goto LABEL003
  98.     If (STRING011 == 1) Goto LABEL005
  99.     If (CurSec() < STRING012) Goto LABEL004
  100.     If (CurSec() >= STRING012) Goto LABEL005
  101.     Goto LABEL039
  102.     :LABEL003
  103.     Cls
  104.     PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  105.     PrintLn "@X38│ @X3FDate: @SYSDATE@          @X3E« First Donation Entitlements »         @X3FTime: @SYSTIME@ @X3B│@X07"
  106.     PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  107.     PrintLn "@X07                                                                                   @X07"
  108.     PrintLn "@X07                @X0EYour First $10 donation will entitle you to:                       @X07"
  109.     PrintLn "@X07                                                                                   @X07"
  110.     PrintLn "@X07                 @X0F(1)@X0E Access Level @X0C", STRING005, "@X07"
  111.     PrintLn "@X07                 @X0F(2) @X0C", STRING009, " @X0EMinutes per day@X07"
  112.     PrintLn "@X07                 @X0F(3) @X0C", STRING010, " @X0E Download Bytes per day@X07"
  113.     PrintLn "@X07                                                                                   @X07"
  114.     If (STRING011 == 0) Then
  115.         PrintLn "@X07        @X0F Additional Entitlements are granted for subsequent donations !!@X07"
  116.         PrintLn "@X07                    @X0F See Next page for more information.....@X07"
  117.         PrintLn "@X07"
  118.         STRING020 = ""
  119.         InputStr "(C)ontinue, (N)ext Page, (R)eturn to Intro. (Q)uit", STRING020, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
  120.         If (STRING020 == "Q") Goto LABEL040
  121.         If (STRING020 == "N") Goto LABEL004
  122.         If (STRING020 == "R") Goto LABEL001
  123.         If (STRING020 == "C") Goto LABEL006
  124.         Goto LABEL003
  125.     Else
  126.         PrintLn "@X07        @X0F See Next page for more information on subsequent donations.....@X07"
  127.         PrintLn "@X07"
  128.         STRING020 = ""
  129.         InputStr "(C)ontinue, (N)ext Page, (R)eturn to Intro. (Q)uit", STRING020, 15, 1, "QqRrCcNn", 32 + 2 + 4 + 128 + 8
  130.         If (STRING020 == "Q") Goto LABEL040
  131.         If (STRING020 == "R") Goto LABEL001
  132.         If (STRING020 == "N") Goto LABEL005
  133.         If (STRING020 == "C") Goto LABEL006
  134.         Goto LABEL003
  135.     Endif
  136.     :LABEL004
  137.     Cls
  138.     PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  139.     PrintLn "@X38│ @X3FDate: @SYSDATE@         @X3E« Second Donation Entitlements »         @X3FTime: @SYSTIME@ @X3B│@X07"
  140.     PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  141.     PrintLn "@X07"
  142.     PrintLn "@X07                 @X0EA Second $10 donation will entitle you to:@X07"
  143.     PrintLn "@X07"
  144.     PrintLn "@X07                 @X0F(1)@X0E Access Level @X0C", STRING012, "@X07"
  145.     PrintLn "@X07                 @X0F(2)@X0C ", STRING015, " @X0EMinutes per day@X07"
  146.     PrintLn "@X07                 @X0F(3)@X0C ", STRING016, " @X0E Download Bytes per day@X07"
  147.     PrintLn "@X07"
  148.     PrintLn "@X07       @X0F See Next page for more information on subsequent donations .....@X07"
  149.     PrintLn "@X07"
  150.     STRING020 = ""
  151.     InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit, (N)ext", STRING020, 15, 1, "QqRrCcPpNn", 32 + 2 + 4 + 128 + 8
  152.     If (STRING020 == "Q") Goto LABEL040
  153.     If (STRING020 == "P") Goto LABEL003
  154.     If (STRING020 == "R") Goto LABEL001
  155.     If (STRING020 == "N") Goto LABEL005
  156.     If (STRING020 == "C") Goto LABEL006
  157.     Goto LABEL004
  158.     :LABEL005
  159.     Cls
  160.     PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  161.     PrintLn "@X38│ @X3FDate: @SYSDATE@       @X3E« Additional Donation Entitlements »       @X3FTime: @SYSTIME@ @X3B│@X07"
  162.     PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  163.     PrintLn "@X07"
  164.     PrintLn "@X07           @X0EAny Additional Donations will not yield more entitlements@X07"
  165.     PrintLn "@X07"
  166.     PrintLn "@X07 @X0E But they will help the Sysop pay the BBS bills.  With more contributions@X07"
  167.     PrintLn "@X07 @X0E  comes more features such as,  Door Games, Mail Doors, Files, and Nodes@X07"
  168.     PrintLn "@X07 @X0E  to call.  BBS's can be quite an expense for your Sysop.  Any help the@X07"
  169.     PrintLn "@X07 @X0E  callers can give to help defray this expense is very much appreciated.@X07"
  170.     PrintLn "@X07"
  171.     If (STRING011 == 0) Then
  172.         STRING020 = "C"
  173.         InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit", STRING020, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
  174.         If (STRING020 == "Q") Goto LABEL040
  175.         If (STRING020 == "P") Goto LABEL004
  176.         If (STRING020 == "R") Goto LABEL001
  177.         If (STRING020 == "C") Goto LABEL006
  178.         Goto LABEL005
  179.     Else
  180.         STRING020 = "C"
  181.         InputStr "(P)revious Page, (R)eturn to Intro., (C)ontinue, (Q)uit", STRING020, 15, 1, "QqRrCcPp", 32 + 2 + 4 + 128 + 8
  182.         If (STRING020 == "Q") Goto LABEL040
  183.         If (STRING020 == "P") Goto LABEL003
  184.         If (STRING020 == "R") Goto LABEL001
  185.         If (STRING020 == "C") Goto LABEL006
  186.         Goto LABEL005
  187.     Endif
  188.     :LABEL006
  189.     Cls
  190.     PrintLn "@X38┌─────────────────────────────────────────────────────────────────────────────@X3B┐@X07"
  191.     PrintLn "@X38│ @X3FDate: @SYSDATE@        @X3E« Telephone Access Billing Menu »         @X3FTime: @SYSTIME@ @X3B│@X07"
  192.     PrintLn "@X38└@X3B─────────────────────────────────────────────────────────────────────────────┘@X07"
  193.     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X07"
  194.     PrintLn "@X10│                                                                             @X19│@X07"
  195.     PrintLn "@X10│                   @X1FPlease select one of the options below:                   @X19│@X07"
  196.     PrintLn "@X10│                                                                             @X19│@X07"
  197.     If (U_Name() == Upper(STRING004)) Then
  198.         PrintLn "@X10│                   @X1F(I)nquire about SIDS                                      @X19│@X07"
  199.         PrintLn "@X10│                   @X1F(A)dd New SID to Current SID's file                       @X19│@X07"
  200.         PrintLn "@X10│                   @X1F(E)nter your Subscription ID #                            @X19│@X07"
  201.         PrintLn "@X10│                   @X1F(Q)uit Return to the BBS                                  @X19│@X07"
  202.         PrintLn "@X10│                   @X1F(R)eturn to Introduction Screen                           @X19│@X07"
  203.         PrintLn "@X10│                                                                             @X19│@X07"
  204.         PrintLn "@X10│                                                                             @X19│@X07"
  205.         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  206.         STRING020 = ""
  207.         InputStr "(Q)uit, (R)eturn to Intro, (E)nter ID #, (I)nquire, (A)dd ", STRING020, 15, 1, "QqRrEeIiAa", 32 + 2 + 4 + 128 + 8
  208.         If (STRING020 == "Q") Goto LABEL040
  209.         If (STRING020 == "R") Goto LABEL001
  210.         If (STRING020 == "E") Goto LABEL022
  211.         If (STRING020 == "I") Goto LABEL007
  212.         If (STRING020 == "A") Goto LABEL011
  213.         Goto LABEL006
  214.     Else
  215.         PrintLn "@X10│                   @X1F(E)nter your Subscription ID #                            @X19│@X07"
  216.         PrintLn "@X10│                   @X1F(Q)uit Return to the BBS                                  @X19│@X07"
  217.         PrintLn "@X10│                   @X1F(R)eturn to Introduction Screen                           @X19│@X07"
  218.         PrintLn "@X10│                                                                             @X19│@X07"
  219.         PrintLn "@X10│                                                                             @X19│@X07"
  220.         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X07"
  221.         STRING020 = ""
  222.         InputStr "(Q)uit, (R)eturn to Intro, (E)nter ID #", STRING020, 15, 1, "QqEeRr", 32 + 2 + 4 + 128 + 8
  223.         If (STRING020 == "Q") Goto LABEL040
  224.         If (STRING020 == "R") Goto LABEL001
  225.         If (STRING020 == "E") Goto LABEL022
  226.         Goto LABEL006
  227.     Endif
  228.     :LABEL007
  229.     INTEGER003 = ""
  230.     FOpen 1, STRING022 + STRING003, 0, 3
  231.     If (Ferr(1)) Then
  232.         STRING024 = "14"
  233.         FClose 1
  234.         FClose 2
  235.     Else
  236.         Frewind 1
  237.         :LABEL008
  238.         If (Ferr(1)) Goto LABEL010
  239.         FGet 1, STRING006
  240.         If (STRING006 == " ***SID USED***") Then
  241.             Goto LABEL009
  242.         Else
  243.             Inc INTEGER003
  244.         Endif
  245.         :LABEL009
  246.         Goto LABEL008
  247.         :LABEL010
  248.         Dec INTEGER003
  249.         FClose 1
  250.         Cls
  251.         PrintLn ""
  252.         PrintLn ""
  253.         PrintLn " There are currently ", INTEGER003, " SIDS available for usage."
  254.         PrintLn ""
  255.         PrintLn ""
  256.         Wait
  257.         Goto LABEL006
  258.         :LABEL011
  259.         Cls
  260.         PrintLn ""
  261.         PrintLn ""
  262.         PrintLn "Your new SIDS must reside in the same directory as the TABS PPE"
  263.         PrintLn ""
  264.         InputStr "Enter the filename of the SIDS file to add ", STRING026, 15, 12, Mask_File(), 8 + 32 + 2 + 4 + 128
  265.         PrintLn ""
  266.         PrintLn ""
  267.         PrintLn "Hold on while we add the numbers to your current listing"
  268.         Delete STRING022 + "WORK.$$$"
  269.         FCreate 1, STRING022 + "WORK.$$$", 2, 3
  270.         If (Ferr(1)) Then
  271.             STRING024 = "12"
  272.             FClose 1
  273.         Else
  274.             FOpen 2, STRING022 + STRING003, 2, 3
  275.             If (Ferr(2)) Then
  276.                 STRING024 = "14"
  277.                 FClose 2
  278.                 FClose 1
  279.             Else
  280.                 :LABEL012
  281.                 If (Ferr(2)) Goto LABEL016
  282.                 FGet 2, STRING027
  283.                 If (Len(STRING027) > 6) Then
  284.                     Goto LABEL013
  285.                 Else
  286.                     Goto LABEL015
  287.                 Endif
  288.                 :LABEL013
  289.                 If (Len(STRING027) < 8) Then
  290.                     Goto LABEL014
  291.                 Else
  292.                     Goto LABEL015
  293.                 Endif
  294.                 :LABEL014
  295.                 If (STRING027 == " ***SID USED***") Then
  296.                     Goto LABEL015
  297.                 Else
  298.                     FPutLn 1, STRING027
  299.                 Endif
  300.                 :LABEL015
  301.                 Goto LABEL012
  302.                 :LABEL016
  303.                 FOpen 3, STRING022 + STRING026, 0, 3
  304.                 If (Ferr(3)) Then
  305.                     STRING024 = "13"
  306.                     FClose 1
  307.                     FClose 2
  308.                     FClose 3
  309.                 Else
  310.                     :LABEL017
  311.                     If (Ferr(3)) Goto LABEL021
  312.                     FGet 3, STRING027
  313.                     If (Len(STRING027) > 6) Then
  314.                         Goto LABEL018
  315.                     Else
  316.                         Goto LABEL020
  317.                     Endif
  318.                     :LABEL018
  319.                     If (Len(STRING027) < 8) Then
  320.                         Goto LABEL019
  321.                     Else
  322.                         Goto LABEL020
  323.                     Endif
  324.                     :LABEL019
  325.                     If (STRING027 == " ***SID USED***") Then
  326.                         Goto LABEL020
  327.                     Else
  328.                         FPutLn 1, STRING027
  329.                     Endif
  330.                     :LABEL020
  331.                     Goto LABEL017
  332.                     :LABEL021
  333.                     FClose 1
  334.                     FClose 2
  335.                     FClose 3
  336.                     Delete STRING022 + STRING003
  337.                     Delete STRING022 + STRING026
  338.                     Rename STRING022 + "WORK.$$$", STRING022 + STRING003
  339.                     Cls
  340.                     PrintLn ""
  341.                     PrintLn ""
  342.                     PrintLn " Operation successfull !!!! "
  343.                     PrintLn ""
  344.                     PrintLn ""
  345.                     Delay 54
  346.                     Goto LABEL007
  347.                     :LABEL022
  348.                     STRING025 = ""
  349.                     STRING024 = ""
  350.                     PrintLn ""
  351.                     InputStr "(Q)uit, Enter your Subscription #", STRING025, 15, 7, "Qq0123456789", 32 + 2 + 4 + 128 + 8
  352.                     If (STRING025 == "Q") Goto LABEL006
  353.                     PrintLn ""
  354.                     PrintLn "@X0E Please standby while I validate your Subscription Number"
  355.                     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  356.                     FPutLn 2, " Entered SID# ", STRING025
  357.                     FClose 2
  358.                     FOpen 1, STRING022 + STRING003, 0, 3
  359.                     If (Ferr(1)) Then
  360.                         STRING024 = "14"
  361.                         FClose 1
  362.                     Else
  363.                         FCreate 2, STRING022 + "WORK.$$$", 1, 3
  364.                         If (Ferr(1)) Then
  365.                             STRING024 = "12"
  366.                             FClose 1
  367.                             FClose 2
  368.                         Else
  369.                             BOOLEAN001 = "FALSE"
  370.                             Frewind 1
  371.                             STRING024 = "11"
  372.                             :LABEL023
  373.                             If (Ferr(1)) Goto LABEL024
  374.                             FGet 1, STRING006
  375.                             If (STRING025 == STRING006) Then
  376.                                 FPutLn 2, " ***SID USED***"
  377.                                 STRING024 = "10"
  378.                             ElseIf (Len(STRING006) > 6) Then
  379.                                 FPutLn 2, STRING006
  380.                             Endif
  381.                             Goto LABEL023
  382.                             :LABEL024
  383.                             FClose 1
  384.                             FClose 2
  385.                             Delete STRING022 + STRING003
  386.                             Rename STRING022 + "WORK.$$$", STRING022 + STRING003
  387.                         Endif
  388.                     Endif
  389.                 Endif
  390.             Endif
  391.         Endif
  392.     Endif
  393.     If (STRING024 == "14") Goto LABEL038
  394.     If (STRING024 == "13") Goto LABEL038
  395.     If (STRING024 == "12") Goto LABEL039
  396.     If (STRING024 == "11") Goto LABEL037
  397.     If (STRING024 == "10") Goto LABEL025
  398.     Goto LABEL039
  399.     :LABEL025
  400.     If (CurSec() < STRING005) Goto LABEL026
  401.     If (STRING011 == 1) Goto LABEL032
  402.     If (CurSec() < STRING012) Goto LABEL029
  403.     If (CurSec() >= STRING012) Goto LABEL032
  404.     Goto LABEL039
  405.     :LABEL026
  406.     U_Sec = STRING005
  407.     U_ExpDate = Date() + STRING007
  408.     U_ExpSec = STRING008
  409.     If (STRING019 == "NO") Then
  410.         Goto LABEL027
  411.     ElseIf (Psa(6)) Then
  412.         U_Notes(0) = "TABS donation " + STRING025 + " "
  413.         U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
  414.     Endif
  415.     :LABEL027
  416.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  417.     FPutLn 2, "       SID was accepted:"
  418.     FPutLn 2, "               Access level now: ", CurSec()
  419.     FPutLn 2, "               Daily Access Time: ", STRING009, " mins."
  420.     FPutLn 2, "       This is the first time this caller has contributed !"
  421.     FClose 2
  422.     PutUser
  423.     If (STRING017 == "NONE") Goto LABEL028
  424.     ConfFlag STRING017, 1 + 2 + 4
  425.     :LABEL028
  426.     If (STRING018 == "NONE") Goto LABEL036
  427.     FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
  428.     FPutLn 1, ""
  429.     FPutLn 1, "@X0EThis is just a message to let you know that:"
  430.     FPutLn 1, ""
  431.     FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and his/her access level was"
  432.     FPutLn 1, "changed to: ", CurSec(), ", and their access time per day is"
  433.     FPutLn 1, "now: ", STRING009, " mins., this was a first time donation."
  434.     FClose 1
  435.     Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
  436.     Goto LABEL036
  437.     :LABEL029
  438.     U_Sec = STRING012
  439.     U_ExpDate = Date() + STRING013
  440.     U_ExpSec = STRING014
  441.     If (STRING019 == "NO") Then
  442.         Goto LABEL030
  443.     ElseIf (Psa(6)) Then
  444.         U_Notes(0) = "TABS donation " + STRING025 + " "
  445.         U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
  446.     Endif
  447.     :LABEL030
  448.     PutUser
  449.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  450.     FPutLn 2, "       SID was accepted:"
  451.     FPutLn 2, "               Access level now: ", CurSec()
  452.     FPutLn 2, "               Daily Access Time: ", STRING015, " mins."
  453.     FPutLn 2, "       This is the second time this caller has contributed !"
  454.     FClose 2
  455.     If (STRING017 == "NONE") Goto LABEL031
  456.     ConfFlag STRING017, 1 + 2 + 4
  457.     :LABEL031
  458.     If (STRING018 == "NONE") Goto LABEL036
  459.     FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
  460.     FPutLn 1, ""
  461.     FPutLn 1, "@X0EThis is just a message to let you know that:"
  462.     FPutLn 1, ""
  463.     FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and his/her access level was"
  464.     FPutLn 1, "changed to: ", CurSec(), ", and their access time per day is"
  465.     FPutLn 1, "now: ", STRING015, " mins., this was a second time donation."
  466.     FClose 1
  467.     Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
  468.     Goto LABEL036
  469.     :LABEL032
  470.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  471.     FPutLn 2, "       SID was accepted, Access level not adjusted.  User has donated more"
  472.     FPutLn 2, "       than configured number of times."
  473.     FClose 2
  474.     If (STRING017 == "NONE") Goto LABEL033
  475.     ConfFlag STRING017, 1 + 2 + 4
  476.     :LABEL033
  477.     If (STRING018 == "NONE") Goto LABEL035
  478.     If (STRING019 == "NO") Then
  479.         Goto LABEL034
  480.     ElseIf (Psa(6)) Then
  481.         GetUser
  482.         U_Notes(0) = "TABS donation " + STRING025 + " "
  483.         U_Notes(1) = "ON: " + String(Date()) + " Third Donation"
  484.         PutUser
  485.     Endif
  486.     :LABEL034
  487.     PutUser
  488.     FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
  489.     FPutLn 1, ""
  490.     FPutLn 1, "@X0EThis is just a message to let you know that:"
  491.     FPutLn 1, ""
  492.     FPutLn 1, U_Name(), "@X0E, donated $10 to the BBS and since this was his/her"
  493.     FPutLn 1, "third (or higher) donation no change was made to their access"
  494.     FPutLn 1, "limits.  The callers security level is: ", CurSec(), " , and their"
  495.     FPutLn 1, "access time per day is: ", STRING015, " mins."
  496.     FClose 1
  497.     Message STRING018, STRING004, U_Name(), "Donation", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
  498.     :LABEL035
  499.     Cls
  500.     PrintLn ""
  501.     PrintLn "@X0C Thank you !!! @X0E", STRING021, ", @X0Efor your Donation."
  502.     PrintLn ""
  503.     PrintLn "@X0E This is the kindest type of donation, as it was a donation that you"
  504.     PrintLn "@X0E gave without expecting anything in return."
  505.     PrintLn ""
  506.     PrintLn "@X0E Thank you very much for your generosity !!!!"
  507.     PrintLn ""
  508.     PrintLn "@X0EYour access level is @X0C", CurSec(), "@X0E and your access time per day is @X0C@TIMELIMIT@ @X0EMins."
  509.     PrintLn "@X0E Your account expiration date is @X0C", U_ExpDate
  510.     PrintLn ""
  511.     PrintLn ""
  512.     Wait
  513.     Goto LABEL006
  514.     :LABEL036
  515.     Cls
  516.     PrintLn ""
  517.     PrintLn "@X0C Thank you @X0E", STRING021, ", @X0Efor your Donation. Your account on this BBS has"
  518.     PrintLn "@X0E been adjusted to reflect your generosity."
  519.     PrintLn ""
  520.     PrintLn "@X0EYour new access level is @X0C", CurSec(), "@X0E and your access time per day is @X0C@TIMELIMIT@ @X0EMins."
  521.     PrintLn "@X0E Your account expiration date is @X0C", U_ExpDate, "@X0E"
  522.     PrintLn ""
  523.     PrintLn ""
  524.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  525.     FPutLn 2, "       SID was accepted:"
  526.     FPutLn 2, "               Access level now: ", CurSec()
  527.     FPutLn 2, "               Daily Access Time: @TIMELIMIT@, mins."
  528.     FPutLn 2, "       This is the second time this caller has contributed !"
  529.     FClose 2
  530.     Wait
  531.     Goto LABEL006
  532.     :LABEL037
  533.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  534.     FPutLn 2, "   Entered an incorrect REGISTRATION NUMBER!"
  535.     FClose 2
  536.     Cls
  537.     PrintLn ""
  538.     PrintLn "@X0E You entered an @X0Cincorrect @X0ESubscription Number,  Please try again"
  539.     PrintLn ""
  540.     PrintLn ""
  541.     Goto LABEL022
  542.     :LABEL038
  543.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  544.     FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING024, " *******"
  545.     FPutLn 2, "  Please check TABS.DOC for a description of the error"
  546.     FClose 2
  547.     Cls
  548.     PrintLn 
  549.     PrintLn "@X0E The fuction that you just executed ended in error and "
  550.     PrintLn "@X0E the program returned Errorlevel ", STRING024, " please"
  551.     PrintLn "@X0E your TABS.DOC file for an explaination of this error !!!"
  552.     PrintLn ""
  553.     PrintLn ""
  554.     Wait
  555.     Goto LABEL006
  556.     :LABEL039
  557.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  558.     FPutLn 2, "******* TABS PPE returned Errorlevel ", STRING024, " *******"
  559.     FPutLn 2, "  Please check TABS.DOC for a description of the error"
  560.     FClose 2
  561.     Cls
  562.     PrintLn 
  563.     PrintLn "@X0E The validation process ended in an error !!!"
  564.     PrintLn "@X8C       Please inform your Sysop @X8B!@X8A!@X89!@X8E!@X07"
  565.     PrintLn ""
  566.     PrintLn ""
  567.     If (STRING018 == "NONE") Goto LABEL040
  568.     FCreate 1, STRING022 + "SYSOP.TXT", 1, 0
  569.     FPutLn 1, ""
  570.     FPutLn 1, "@X0EThis is just a message to let you know that:"
  571.     FPutLn 1, ""
  572.     FPutLn 1, U_Name(), "@X0E, attempted to donate to the BBS and TABS PPE exited"
  573.     FPutLn 1, "with errorlevel ", STRING024, " - so their access rights were not"
  574.     FPutLn 1, "changed.  It is also possible that the user entered only a C/R as his SID."
  575.     FPutLn 1, ""
  576.     FClose 1
  577.     Message STRING018, STRING004, U_Name(), "TABS_Problem", "R", 0, 0, 0, STRING022 + "SYSOP.TXT"
  578.     Wait
  579.     :LABEL040
  580.     FAppend 2, STRING022 + "TABS.LOG", 1, 3
  581.     FPutLn 2, "---- ", U_Name(), " Exited PPE on ", String(Date()), " at ", String(Time()), " ----"
  582.     FPutLn 2, ""
  583.     FClose 2
  584.     PutUser
  585.     FClose 1
  586.     FClose 3
  587.     Cls
  588.     PrintLn ""
  589.     PrintLn ""
  590.     PrintLn ""
  591.     PrintLn "@BEEP@@BEEP@@BEEP@"
  592.     PrintLn "@X0C Unregistered Copy of TABS-PPE,"
  593.     PrintLn ""
  594.     PrintLn "@X0E         Please help your Sysop Register it  !!"
  595.     PrintLn ""
  596.     PrintLn ""
  597.     PrintLn ""
  598.     PrintLn ""
  599.     PrintLn ""
  600.     Delay 126
  601.  
  602. ;------------------------------------------------------------------------------
  603. ;
  604. ; Usage report (before postprocessing)
  605. ;
  606. ; ■ Statements used :
  607. ;
  608. ;    15      Cls
  609. ;    5       Wait
  610. ;    145     Goto 
  611. ;    44      Let 
  612. ;    126     PrintLn 
  613. ;    83      If 
  614. ;    3       ConfFlag 
  615. ;    1       DispFile 
  616. ;    6       FCreate 
  617. ;    5       FOpen 
  618. ;    10      FAppend 
  619. ;    34      FClose 
  620. ;    19      FGet 
  621. ;    53      FPutLn 
  622. ;    2       GetUser
  623. ;    5       PutUser
  624. ;    4       Delete 
  625. ;    10      InputStr 
  626. ;    2       Delay 
  627. ;    1       Inc 
  628. ;    1       Dec 
  629. ;    1       Tokenize 
  630. ;    4       Message 
  631. ;    2       Rename 
  632. ;    2       Frewind 
  633. ;
  634. ;
  635. ; ■ Functions used :
  636. ;
  637. ;    95      +
  638. ;    1       -
  639. ;    56      ==
  640. ;    9       <
  641. ;    3       >
  642. ;    2       >=
  643. ;    29      !
  644. ;    9       Len(
  645. ;    1       Lower()
  646. ;    2       Upper()
  647. ;    1       Left()
  648. ;    1       Right()
  649. ;    10      Ferr()
  650. ;    7       Date()
  651. ;    2       Time()
  652. ;    12      U_Name()
  653. ;    1       NoChar()
  654. ;    1       YesChar()
  655. ;    7       String()
  656. ;    1       Mask_File()
  657. ;    1       PPEPath()
  658. ;    14      CurSec()
  659. ;    1       GetToken()
  660. ;    3       Psa()
  661. ;
  662. ;------------------------------------------------------------------------------
  663. ;
  664. ; Analysis flags : FW
  665. ;
  666. ; F - Change conference flags status ■ 2
  667. ;     This may be normal for a SELECT replacement but it may also be
  668. ;     a way to get access to conferences a user is not allowed to.
  669. ;     ■ Search for : CONFFLAG, CONFUNFLAG
  670. ;
  671. ; W - Write user ■ 5
  672. ;     Program writes a user record. Although this may be normal for a
  673. ;     User Editor, it may also be a way to modify an account level.
  674. ;     ■ Search for : PUTUSER
  675. ;
  676. ;------------------------------------------------------------------------------
  677. ;
  678. ; Postprocessing report
  679. ;
  680. ;    0       For/Next
  681. ;    0       While/EndWhile
  682. ;    25      If/Then or If/Then/Else
  683. ;    0       Select Case
  684. ;
  685. ;------------------------------------------------------------------------------
  686. ;                 AEGiS Corp - Break the routines, code against the machines!
  687. ;------------------------------------------------------------------------------
  688.