home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / SUBSCR10.ZIP / SUBSCRIB.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-01-13  |  6KB  |  228 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.     Date     DATE002
  20.     String   STRING001
  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.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     GetUser
  40.     PrintLn 
  41.     PrintLn "@POS:25@ @X0F░▒▓█ @X0ASUBSCRIB.PPE  @X07v1.0@X0F █▓▒░ @X07"
  42.     PrintLn 
  43.     PrintLn 
  44.     PrintLn "                             ░▒▓█ by DM Soft █▓▒░"
  45.     PrintLn 
  46.     PrintLn 
  47.     FOpen 1, PPEPath() + "subscrib.cfg", 0, 0
  48.     FGet 1, STRING012
  49.     FGet 1, STRING009
  50.     FGet 1, STRING010
  51.     FGet 1, STRING011
  52.     FGet 1, STRING013
  53.     FGet 1, STRING014
  54.     FGet 1, STRING015
  55.     FGet 1, STRING006
  56.     FGet 1, STRING007
  57.     FGet 1, STRING008
  58.     DATE002 = "03-01-94"
  59.     If (Date() > DATE002) Then
  60.         PrintLn "      @X0B┌─────────────────────────────────────────────────────────────────┐@X07"
  61.         PrintLn " @X0B     │ @X0FPPE @X0Btrial period @X0Fhas @X0CEXPIRED@X0F - please ask  @X0Esysop @X0Fto register it @X0B│@X07"
  62.         PrintLn "      @X0B└─────────────────────────────────────────────────────────────────┘@X07"
  63.         PrintLn 
  64.         End
  65.     Endif
  66.     PrintLn " ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓"
  67.     PrintLn " ▓▓" + "@POS:78@▓▓"
  68.     PrintLn " ▓▓@X0F This PPE is @X0EUNREGISTERED @X0F- please @X0Cregister @X0Fby " + String(DATE002) + " or it will @X0Dexpire@X07 ▓▓"
  69.     PrintLn " ▓▓" + "@POS:78@▓▓"
  70.     PrintLn " ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓"
  71.     PrintLn 
  72.     Delay 180
  73.     STRING001 = ""
  74.     STRING005 = PPEPath() + "subscrib.inf"
  75.     If (Exist(STRING005)) DispFile STRING005, ""
  76.     PrintLn 
  77.     :LABEL001
  78.     Newlines 3
  79.     InputStr "       @X0F Would you like to @X0Csubscribe@X0F to@X0B " + ReadLine(PCBDat(), 94), STRING001, 14, 1, "YyNn", 2 + 8 + 4 + 64
  80.     Select Case (STRING001)
  81.         Case "N"
  82.             Return
  83.         Case ""
  84.             Goto LABEL001
  85.         Case "Y"
  86.             STRING001 = ""
  87.             STRING005 = PPEPath() + "subscrib.txt"
  88.             If (Exist(STRING005)) DispFile STRING005, ""
  89.             More
  90.             PrintLn 
  91.             PrintLn "                  ┌──────────────────────────────────────┐"
  92.             PrintLn "                  │     @X0FWhich option would you like     @X0B │"
  93.             PrintLn "                  ├──────────────────────────────────────┤"
  94.             PrintLn "                  │@X0F1. @X0EOne Year @X0Fsubscription for@X0C " + STRING007 + "@POS:58@@X0B│@X07"
  95.             PrintLn "                  @X0B│@X0F2. @X0EA half year @X0Fsubscription for@X0C " + STRING006 + "@POS:58@@X0B│@X07"
  96.             PrintLn "                  @X0B├──────────────────────────────────────┤@X07"
  97.             PrintLn "                  @X0B│       Select 1, 2, or Q)uit          │@X07"
  98.             PrintLn "                  @X0B└──────────────────────────────────────┘@X07"
  99.             PrintLn 
  100.             InputStr "                             @X0F (1,2,@X0EQ@X0F)@X07", STRING001, 14, 1, "12Qq", 2 + 4 + 8 + 64
  101.             PrintLn 
  102.     End Select
  103.     STRING002 = ""
  104.     If (STRING001 == "Q") Return
  105.     If (STRING001 == "1") STRING004 = STRING007
  106.     If (STRING001 == "2") STRING004 = STRING006
  107.     :LABEL002
  108.     FAppend 2, PPEPath() + "subscrib.reg", 2, 0
  109.     PrintLn "@X0FChoose a @X0Bcredit card types @X0F(@X0DVisa, @X0BMaster Card, @X0EDiscover, @X0AAmerican Express@X0F)"
  110.     InputStr "@X0FInput your @X0Bcredit card @X0Enumber @X0Fnow @X0F(@X0EQ to quit@X0F)@X07", STRING002, 11, 20, "Qq0123456789", 2 + 4 + 256 + 128 + 8
  111.     If (STRING002 == "Q") Then
  112.         FClose 1
  113.         FClose 2
  114.         Goto LABEL001
  115.     ElseIf (ValCC(STRING002)) Then
  116.         PrintLn "     " + Left(CCType(STRING002), 20), "@X0A -@X07 ", FmtCC(STRING002)
  117.     Else
  118.         PrintLn 
  119.         PrintLn "   @X0FThat @X0Ccard number @X0Fis not a valid card number"
  120.         Goto LABEL002
  121.     Endif
  122.     STRING016 = U_Name()
  123.     :LABEL003
  124.     InputStr " @X0FWhat is the @X0Bexpiration date @X07", STRING003, 12, 4, "0123456789-/", 2 + 4 + 64 + 256
  125.     If (STRING003 == "") Goto LABEL003
  126.     FPutLn 2, "*******************************************************************"
  127.     FPutLn 2, "  Name: ", STRING016, "     Date:  ", Date(), "   Time: ", Time()
  128.     FPutLn 2, "                                                                "
  129.     FPutLn 2, "  Credit card number: " + STRING002 + "      Expiration date: " + STRING003
  130.     FPutLn 2, "                                           "
  131.     FPutLn 2, "  Credit card type:   " + CCType(STRING002), "  Amount: ", STRING004
  132.     FPutLn 2, "                      "
  133.     Select Case (STRING001)
  134.         Case "1"
  135.             U_Sec = STRING009
  136.             U_ExpDate = Date() + 365
  137.             U_ExpSec = "10"
  138.         Case "2"
  139.             U_Sec = STRING010
  140.             U_ExpDate = Date() + 180
  141.             U_ExpSec = "10"
  142.     End Select
  143.     PutUser
  144.     PrintLn "       @X0F Your @X0Asecurity@X0F has been raised to @X0C", U_Sec, "@X0F - expiration date: @X0D", U_ExpDate
  145.     PrintLn 
  146.     Message 0, "Sysop", U_Name(), "Subscription access", "R", 0, 0, 0, "newsubsc.txt"
  147.     Wait
  148.     FClose 1
  149.     FClose 2
  150.     Return
  151.     End
  152.  
  153. ;------------------------------------------------------------------------------
  154. ;
  155. ; Usage report (before postprocessing)
  156. ;
  157. ; ■ Statements used :
  158. ;
  159. ;    2       End
  160. ;    1       More
  161. ;    1       Wait
  162. ;    17      Goto 
  163. ;    15      Let 
  164. ;    35      PrintLn 
  165. ;    14      If 
  166. ;    2       DispFile 
  167. ;    1       FOpen 
  168. ;    1       FAppend 
  169. ;    4       FClose 
  170. ;    10      FGet 
  171. ;    7       FPutLn 
  172. ;    1       GetUser
  173. ;    1       PutUser
  174. ;    4       InputStr 
  175. ;    3       Return
  176. ;    1       Delay 
  177. ;    1       Newlines 
  178. ;    1       Message 
  179. ;
  180. ;
  181. ; ■ Functions used :
  182. ;
  183. ;    33      +
  184. ;    10      ==
  185. ;    1       >
  186. ;    8       !
  187. ;    1       Left()
  188. ;    4       Date()
  189. ;    1       Time()
  190. ;    2       U_Name()
  191. ;    1       String()
  192. ;    1       PCBDat()
  193. ;    4       PPEPath()
  194. ;    1       ReadLine()
  195. ;    2       Exist()
  196. ;    1       ValCC()
  197. ;    1       FmtCC()
  198. ;    2       CCType()
  199. ;
  200. ;------------------------------------------------------------------------------
  201. ;
  202. ; Analysis flags : Wd
  203. ;
  204. ; W - Write user ■ 5
  205. ;     Program writes a user record. Although this may be normal for a
  206. ;     User Editor, it may also be a way to modify an account level.
  207. ;     ■ Search for : PUTUSER
  208. ;
  209. ; d - Access PCBOARD.DAT ■ 2
  210. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  211. ;     for many PPE so they can find various informations on the system
  212. ;     (system paths, max number of lines in messages, ...) but it may also
  213. ;     be a way to gather vital informations.
  214. ;     ■ Search for : PCBDAT()
  215. ;
  216. ;------------------------------------------------------------------------------
  217. ;
  218. ; Postprocessing report
  219. ;
  220. ;    0       For/Next
  221. ;    0       While/EndWhile
  222. ;    3       If/Then or If/Then/Else
  223. ;    2       Select Case
  224. ;
  225. ;------------------------------------------------------------------------------
  226. ;                 AEGiS Corp - Break the routines, code against the machines!
  227. ;------------------------------------------------------------------------------
  228.