home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TSCV06.ZIP / CHKVOTE.PPE (.txt) next >
PCBoard Programming Language Executable  |  1994-04-06  |  5KB  |  326 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.     Boolean  BOOLEAN001
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     String   STRING006
  30.     String   STRING007
  31.     String   STRING008
  32.  
  33. ;------------------------------------------------------------------------------
  34.  
  35.     STRING005 = ReadLine(PPEPath() + "GENEREL.CFG", 3)
  36.     STRING006 = ReadLine(PPEPath() + "GENEREL.CFG", 4)
  37.     If (Upper(STRING005) == "Y") Then
  38.         Print "@QOFF@"
  39.     Endif
  40.     If (Upper(STRING006) == "Y") Then
  41.         Print "@POFF@"
  42.     Endif
  43.     Tokenize U_Name()
  44.     STRING001 = GetToken()
  45.     STRING001 = STRING001 + GetToken()
  46.     FOpen 5, PPEPath() + "USERS.APL", 0, 0
  47.     :LABEL001
  48.     If (Ferr(5)) Goto LABEL002
  49.     FGet 5, STRING003
  50.     If (STRING003 == U_Name()) Then
  51.         BOOLEAN001 = 1
  52.     Endif
  53.     Goto LABEL001
  54.     :LABEL002
  55.     FClose 5
  56.     If (BOOLEAN001) Goto LABEL003
  57.     Goto LABEL020
  58.     :LABEL003
  59.     STRING007 = PPEPath() + Left(STRING001, 8)
  60.     STRING008 = PPEPath() + "ACCEPTED\" + Left(STRING001, 8)
  61.     If (FileInf(STRING007 + ".END", 1) == 1) Then
  62.         STRING002 = ReadLine(STRING007 + ".END", 1)
  63.         If (STRING002 == "1") Then
  64.             Print "@CLS@"
  65.             DispFile PPEPath() + "UPGRWELC.", 0
  66.             STRING004 = ReadLine(PPEPath() + "UPGRADE.CFG", 1)
  67.             Tokenize STRING004
  68.             INTEGER005 = GetToken()
  69.             INTEGER006 = GetToken()
  70.             AnsiPos INTEGER005, INTEGER006
  71.             PrintLn "@X0EUpgrading in progress :"
  72.             Rename STRING007 + ".VOT", STRING008 + ".VOT"
  73.             Rename STRING007 + ".CMT", STRING008 + ".CMT"
  74.             Rename STRING007 + ".SYS", STRING008 + ".SYS"
  75.             Rename STRING007 + ".ALL", STRING008 + ".ALL"
  76.             Delete STRING007 + ".END"
  77.             PrintLn "@X09    ■ Moving your information to secret area"
  78.             FOpen 5, PPEPath() + "USERS.APL", 0, 3
  79.             FCreate 4, PPEPath() + "USERS.NEW", 1, 3
  80.             FGet 5, STRING003
  81.             :LABEL004
  82.             If (Ferr(5)) Goto LABEL006
  83.             If (STRING003 == U_Name()) Then
  84.                 Goto LABEL005
  85.             Endif
  86.             FPutLn 4, STRING003
  87.             :LABEL005
  88.             FGet 5, STRING003
  89.             Goto LABEL004
  90.             :LABEL006
  91.             FClose 5
  92.             FClose 4
  93.             FAppend 5, PPEPath() + "USERS.ELI", 2, 3
  94.             PrintLn "    ■ Adding you to the elitez"
  95.             FPutLn 5, U_Name()
  96.             FClose 5
  97.             INTEGER003 = ReadLine(PPEPath() + "GENEREL.CFG", 5)
  98.             GetUser
  99.             U_Sec = INTEGER003
  100.             PutUser
  101.             PrintLn "    ■ Upgrading your security"
  102.             Delete PPEPath() + "USERS.APL"
  103.             Rename PPEPath() + "USERS.NEW", PPEPath() + "USERS.APL"
  104.             PrintLn "    ■ Registering you in conferences"
  105.             FOpen 5, PPEPath() + "CONFEREN.CFG", 0, 0
  106.             :LABEL007
  107.             If (Ferr(5)) Goto LABEL008
  108.             FGet 5, INTEGER004
  109.             ConfFlag INTEGER004, 1 + 4
  110.             Goto LABEL007
  111.             :LABEL008
  112.             FClose 5
  113.             FAppend 5, PPEPath() + "TSC.LOG", 2, 3
  114.             FPutLn 5, U_Name() + " has been upgraded"
  115.             FClose 5
  116.             If (Upper(ReadLine(PPEPath() + "GENEREL.CFG", 9)) == "Y") Then
  117.                 PrintLn "    ■ Adding oneliner about your arrival"
  118.                 FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
  119.                 FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  120.                 FGet 5, STRING003
  121.                 If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
  122.                     FAppend 3, PPEPath() + "ONELINER.OLD", 2, 3
  123.                     FPutLn 3, STRING003
  124.                     FClose 3
  125.                 Endif
  126.                 FGet 5, STRING003
  127.                 :LABEL009
  128.                 If (Ferr(5)) Goto LABEL010
  129.                 FPutLn 4, STRING003
  130.                 FGet 5, STRING003
  131.                 Goto LABEL009
  132.                 :LABEL010
  133.                 FClose 5
  134.                 FPutLn 4, U_Name() + " is accepted as elite!"
  135.                 FClose 4
  136.                 Delete PPEPath() + "ONELINER.DAT"
  137.                 Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.DAT"
  138.                 FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
  139.                 FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  140.                 FGet 5, STRING003
  141.                 If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 2) == "Y"))) Then
  142.                     FAppend 3, PPEPath() + "ONELINER.JOL", 2, 3
  143.                     FPutLn 3, STRING003
  144.                     FClose 3
  145.                 Endif
  146.                 FGet 5, STRING003
  147.                 :LABEL011
  148.                 If (Ferr(5)) Goto LABEL012
  149.                 FPutLn 4, STRING003
  150.                 FGet 5, STRING003
  151.                 Goto LABEL011
  152.                 :LABEL012
  153.                 FClose 5
  154.                 FPutLn 4, "@X09/\/\-> @X0FN@X07up'@X0DN'@X0FV@X07ote"
  155.                 FClose 4
  156.                 Delete PPEPath() + "ONELINER.JOK"
  157.                 Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.JOK"
  158.             Endif
  159.         Else
  160.             Delete STRING007 + ".VOT"
  161.             Delete STRING007 + ".CMT"
  162.             Delete STRING007 + ".SYS"
  163.             Delete STRING007 + ".ALL"
  164.             Delete STRING007 + ".END"
  165.             FOpen 5, PPEPath() + "USERS.APL", 0, 0
  166.             FCreate 4, PPEPath() + "USERS.NEW", 1, 3
  167.             FGet 5, STRING003
  168.             :LABEL013
  169.             If (Ferr(5)) Goto LABEL015
  170.             If (STRING003 == U_Name()) Then
  171.                 Goto LABEL014
  172.             Endif
  173.             FPutLn 4, STRING003
  174.             :LABEL014
  175.             FGet 5, STRING003
  176.             Goto LABEL013
  177.             :LABEL015
  178.             FClose 5
  179.             FClose 4
  180.             Delete PPEPath() + "USERS.APL"
  181.             Rename PPEPath() + "USERS.NEW", PPEPath() + "USERS.APL"
  182.             FAppend 5, PPEPath() + "USERS.LAM", 2, 3
  183.             FPutLn 5, U_Name()
  184.             FClose 5
  185.             FAppend 5, PPEPath() + "TSC.LOG", 2, 3
  186.             FPutLn 5, U_Name() + " has been downgraded"
  187.             FClose 5
  188.             If (Upper(ReadLine(PPEPath() + "GENEREL.CFG", 9)) == "Y") Then
  189.                 FOpen 5, PPEPath() + "ONELINER.DAT", 0, 0
  190.                 FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  191.                 FGet 5, STRING003
  192.                 If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 3) == "Y"))) Then
  193.                     FAppend 3, PPEPath() + "ONELINER.OLD", 2, 3
  194.                     FPutLn 3, STRING003
  195.                     FClose 3
  196.                 Endif
  197.                 FGet 5, STRING003
  198.                 :LABEL016
  199.                 If (Ferr(5)) Goto LABEL017
  200.                 FPutLn 4, STRING003
  201.                 FGet 5, STRING003
  202.                 Goto LABEL016
  203.                 :LABEL017
  204.                 FClose 5
  205.                 FPutLn 4, U_Name() + " has been kicked to hell!"
  206.                 FClose 4
  207.                 Delete PPEPath() + "ONELINER.DAT"
  208.                 Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.DAT"
  209.                 FOpen 5, PPEPath() + "ONELINER.JOK", 0, 0
  210.                 FCreate 4, PPEPath() + "ONELINER.$$$", 2, 3
  211.                 FGet 5, STRING003
  212.                 If (Upper((ReadLine(PPEPath() + "ONELINER.CNF", 2) == "Y"))) Then
  213.                     FAppend 3, PPEPath() + "ONELINER.JOL", 2, 3
  214.                     FPutLn 3, STRING003
  215.                     FClose 3
  216.                 Endif
  217.                 FGet 5, STRING003
  218.                 :LABEL018
  219.                 If (Ferr(5)) Goto LABEL019
  220.                 FPutLn 4, STRING003
  221.                 FGet 5, STRING003
  222.                 Goto LABEL018
  223.                 :LABEL019
  224.                 FClose 5
  225.                 FPutLn 4, "@X09/\/\-> @X0FN@X07up'@X0DN'@X0FV@X07ote"
  226.                 FClose 4
  227.                 Delete PPEPath() + "ONELINER.JOK"
  228.                 Rename PPEPath() + "ONELINER.$$$", PPEPath() + "ONELINER.JOK"
  229.             Endif
  230.             DispFile PPEPath() + "UPGRFUCK.", 0
  231.             GetUser
  232.             U_Sec = 0
  233.             U_ExpSec = 0
  234.             DelUser
  235.             PutUser
  236.             Hangup
  237.         Endif
  238.     Else
  239.         DispFile PPEPath() + "UPGRWAIT.", 0
  240.     Endif
  241.     PrintLn "@X07"
  242.     PrintLn ""
  243.     PrintLn "@X09Thanx for using Nup'n'vote v0.6 - [UNREGISTRED]"
  244.     Delay 100
  245.     :LABEL020
  246.  
  247. ;------------------------------------------------------------------------------
  248. ;
  249. ; Usage report (before postprocessing)
  250. ;
  251. ; ■ Statements used :
  252. ;
  253. ;    35      Goto 
  254. ;    15      Let 
  255. ;    3       Print 
  256. ;    9       PrintLn 
  257. ;    22      If 
  258. ;    1       ConfFlag 
  259. ;    3       DispFile 
  260. ;    6       FCreate 
  261. ;    8       FOpen 
  262. ;    8       FAppend 
  263. ;    22      FClose 
  264. ;    18      FGet 
  265. ;    18      FPutLn 
  266. ;    1       Hangup
  267. ;    2       GetUser
  268. ;    2       PutUser
  269. ;    12      Delete 
  270. ;    1       DelUser
  271. ;    1       Delay 
  272. ;    2       Tokenize 
  273. ;    1       AnsiPos 
  274. ;    10      Rename 
  275. ;
  276. ;
  277. ; ■ Functions used :
  278. ;
  279. ;    78      +
  280. ;    13      ==
  281. ;    22      !
  282. ;    8       Upper()
  283. ;    2       Left()
  284. ;    8       Ferr()
  285. ;    10      U_Name()
  286. ;    55      PPEPath()
  287. ;    11      ReadLine()
  288. ;    4       GetToken()
  289. ;    1       FileInf()
  290. ;
  291. ;------------------------------------------------------------------------------
  292. ;
  293. ; Analysis flags : FWDB
  294. ;
  295. ; F - Change conference flags status ■ 2
  296. ;     This may be normal for a SELECT replacement but it may also be
  297. ;     a way to get access to conferences a user is not allowed to.
  298. ;     ■ Search for : CONFFLAG, CONFUNFLAG
  299. ;
  300. ; W - Write user ■ 5
  301. ;     Program writes a user record. Although this may be normal for a
  302. ;     User Editor, it may also be a way to modify an account level.
  303. ;     ■ Search for : PUTUSER
  304. ;
  305. ; D - Delete user ■ 5
  306. ;     Program is deleting account(s)... Check!
  307. ;     ■ Search for : DELUSER
  308. ;
  309. ; B - Brute hangup ■ 1
  310. ;     Program hangup without notification. This may be a good way to
  311. ;     disconnect a user, but if used randomly, may be very nasty
  312. ;     ■ Search for : HANGUP, DTROFF
  313. ;
  314. ;------------------------------------------------------------------------------
  315. ;
  316. ; Postprocessing report
  317. ;
  318. ;    0       For/Next
  319. ;    0       While/EndWhile
  320. ;    13      If/Then or If/Then/Else
  321. ;    0       Select Case
  322. ;
  323. ;------------------------------------------------------------------------------
  324. ;                 AEGiS Corp - Break the routines, code against the machines!
  325. ;------------------------------------------------------------------------------
  326.