home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / U / UOGD.ZIP / UOGD.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-07-09  |  5KB  |  238 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.     String   STRING001
  20.     Int      INT001
  21.     Int      INT002
  22.     Double   TDOUBLE001(3)
  23.     Double   TDOUBLE002(3)
  24.  
  25. ;------------------------------------------------------------------------------
  26.  
  27.     Print "@CLS@"
  28.     Print "@POFF@"
  29.     GetUser
  30.     FAppend 3, PPEPath() + "UOGD.LOG", 1, 0
  31.     FPutLn 3, " "
  32.     PrintLn "@X02UOGD @X02- U@X08PLOAD @X02O@X08R @X02G@X08ET @X02D@X08ELETED @X02V@X080.99 - @X02PROXYON [@X08CRC@X02] -94"
  33.     PrintLn "@X02D@X08ONE @X02F@X08OR @X02HIGH'N DRY @X02O@X08N @X02R@X08EQUEST ■-"
  34.     FPutLn 3, " ■■ ", U_Name(), " LOGGED IN ON ", Date(), " AT ", Time()
  35.     Newline
  36.     FOpen 1, PPEPath() + "SPECIAL.DAT", 0, 0
  37.     While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
  38.     If (Upper(STRING001) == Upper(U_Name())) Then
  39.         FClose 1
  40.         PrintLn "@X02HELLO @USER@! THE @X08SYSOP HAS REMOVED YOU FROM THE"
  41.         PrintLn "@X02UOGD-PR@X08OCESSING LIST SO YOU DONT HAVE TO BE NAGGED BY ME."
  42.         PrintLn "@X02BE @X08VERY HAPPY BECAUSE I'M USUALLY A PAIN IN THE AS.. HAVE A NICE STAY"
  43.         FPutLn 3, U_Name(), " IS A SPECIAL USER AND SKIPPED BY UOGD-PROCESSING!"
  44.         End
  45.     Endif
  46.     FClose 1
  47.     FOpen 1, PPEPath() + "CONFIG.DAT", 0, 0
  48.     FGet 1, TDOUBLE002(1)
  49.     FGet 1, TDOUBLE002(2)
  50.     FGet 1, TDOUBLE002(3)
  51.     FGet 1, TDOUBLE002(4)
  52.     FClose 1
  53.     STRING001 = ""
  54.     FOpen 1, PPEPath() + "LAMERS.DAT", 0, 0
  55.     While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
  56.     If (Upper(STRING001) == Upper(U_Name())) Then
  57.         PrintLn "@X02HELLO @USER@! @X08YOU ARE LISTED AS A @X02LAMER @X08BECAUSE"
  58.         PrintLn "@X02YOU HAVEN'@X08T UPLOADED WHAT YOU WERE SUPPOSED TO!"
  59.         If (TDOUBLE002(4) == 1) Then
  60.             FPutLn 3, "HE TRIED TO LOG ON, BUT HE WAS THROWN OUT BECAUSE HE'S"
  61.             FPutLn 3, "IN THE LAMER LIST. YOU SHOULD DECIDE WHAT TO DO WITH HIM SOON!"
  62.             PrintLn "@X02 -- YOU'RE OUTTA HERE! CLICK!!! --"
  63.             FClose 1
  64.             Hangup
  65.         Endif
  66.         FPutLn 3, "THE USER IS IN THE LAMER LIST. YOU SHOULD DECIDE WHAT TO DO WITH HIM SOON!"
  67.         PrintLn "@X02YOU N@X08OW ONLY HAVE THE SECURITY @X02", TDOUBLE002(3), "@X08 AND WILL HAVE"
  68.         PrintLn "@X02S@X08O UNTIL THE SYSOP DECIDES WHETHER TO DELETE YOU OR TO GIVE YOU"
  69.         PrintLn "ONE MORE CHANCE!"
  70.         PrintLn "@WAIT@"
  71.         PrintLn "@X0F@CLS@"
  72.         Newline
  73.         End
  74.     Endif
  75.     FClose 1
  76.     FOpen 1, PPEPath() + "USERS.DAT", 0, 0
  77.     STRING001 = ""
  78.     While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
  79.     If (Upper(STRING001) <> Upper(U_Name())) Then
  80.         FPutLn 3, "USER NOT IN USERS.DAT! HE WAS INFORMED ABOUT UOGD"
  81.         FClose 1
  82.         FAppend 1, PPEPath() + "USERS.DAT", 2, 0
  83.         DispFile PPEPath() + "NEWUSER.PCB", 0
  84.         FPutLn 1, U_Name()
  85.         FPutLn 1, U_Bul()
  86.         FPutLn 1, "0"
  87.         FPutLn 1, "0"
  88.         FClose 1
  89.         End
  90.     Endif
  91.     For INT001 = 1 To 3
  92.         FGet 1, TDOUBLE001(INT001)
  93.     Next
  94.     FClose 1
  95.     If ((TDOUBLE001(3) >= TDOUBLE002(1)) && (U_Bul() - TDOUBLE001(1) + TDOUBLE001(2) <= TDOUBLE002(2))) Then
  96.         FPutLn 3, "USER HASN'T UPLOADED ENOUGH, ADDING HIM TO THE LAMER LIST AND"
  97.         FPutLn 3, "LOWERING HIS SECURITY TO ", TDOUBLE002(3)
  98.         DispFile PPEPath() + "INFOSYS.PCB", 1
  99.         AnsiPos 30, 4
  100.         Print "@X5F", TDOUBLE002(3), "."
  101.         AnsiPos 1, 11
  102.         Print "@WAIT@"
  103.         Print "@X0F@CLS@"
  104.         FAppend 1, PPEPath() + "LAMERS.DAT", 1, 0
  105.         FPutLn 1, U_Name()
  106.         U_Sec = TDOUBLE002(3)
  107.         PutUser
  108.         End
  109.     Endif
  110.     DispFile PPEPath() + "INFO.PCB", 0
  111.     AnsiPos 19, 3
  112.     Print "@X5F" + U_Name()
  113.     AnsiPos 31, 4
  114.     Print U_Bul(), " BYTES"
  115.     AnsiPos 16, 5
  116.     Print TDOUBLE001(3)
  117.     AnsiPos 42, 5
  118.     Print U_Bul() - TDOUBLE001(1) + TDOUBLE001(2), " BYTES"
  119.     AnsiPos 22, 6
  120.     If ((TDOUBLE001(3) >= TDOUBLE002(1)) && (U_Bul() - TDOUBLE001(1) + TDOUBLE001(2) >= TDOUBLE002(2))) Then
  121.         Print "UPLOADED WHAT WE WANTED... GREAT!"
  122.         INT002 = 1
  123.     Else
  124.         Print TDOUBLE002(1) - TDOUBLE001(3)
  125.         AnsiPos 45, 6
  126.         Print TDOUBLE002(2) - U_Bul() - TDOUBLE001(1) + TDOUBLE001(2), " BYTES"
  127.     Endif
  128.     AnsiPos 1, 11
  129.     Print "@WAIT@"
  130.     Print "@X0F@CLS@"
  131.     FCreate 2, PPEPath() + "USERS.XXX", 1, 0
  132.     FOpen 1, PPEPath() + "USERS.DAT", 0, 0
  133.     STRING001 = ""
  134.     While ((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1)) Do
  135.         FGet 1, STRING001
  136.         If (STRING001 <> "") FPutLn 2, STRING001
  137.     EndWhile
  138.     FGet 1, STRING001
  139.     FGet 1, STRING001
  140.     FGet 1, STRING001
  141.     FPutLn 2, U_Bul()
  142.     If (INT002 == 0) Then
  143.         FPutLn 2, U_Bul() - TDOUBLE001(1) + TDOUBLE001(2)
  144.     Else
  145.         FPutLn 2, "0"
  146.     Endif
  147.     If (INT002 == 0) Then
  148.         FPutLn 2, Date() - U_LDate() + TDOUBLE001(3)
  149.     Else
  150.         FPutLn 2, "0"
  151.     Endif
  152.     :LABEL001
  153.     If (Ferr(1)) Goto LABEL002
  154.     FGet 1, STRING001
  155.     If (STRING001 <> "") FPutLn 2, STRING001
  156.     Goto LABEL001
  157.     :LABEL002
  158.     FClose 1
  159.     FClose 2
  160.     Delete PPEPath() + "USERS.DAT"
  161.     Rename PPEPath() + "USERS.XXX", PPEPath() + "USERS.DAT"
  162.  
  163. ;------------------------------------------------------------------------------
  164. ;
  165. ; Usage report (before postprocessing)
  166. ;
  167. ; ■ Statements used :
  168. ;
  169. ;    4       End
  170. ;    20      Goto 
  171. ;    7       Let 
  172. ;    14      Print 
  173. ;    13      PrintLn 
  174. ;    16      If 
  175. ;    3       DispFile 
  176. ;    1       FCreate 
  177. ;    5       FOpen 
  178. ;    3       FAppend 
  179. ;    10      FClose 
  180. ;    13      FGet 
  181. ;    21      FPutLn 
  182. ;    1       Hangup
  183. ;    1       GetUser
  184. ;    1       PutUser
  185. ;    1       Delete 
  186. ;    2       Newline
  187. ;    9       AnsiPos 
  188. ;    1       Rename 
  189. ;
  190. ;
  191. ; ■ Functions used :
  192. ;
  193. ;    23      +
  194. ;    8       -
  195. ;    5       ==
  196. ;    7       <>
  197. ;    1       <
  198. ;    2       <=
  199. ;    5       >=
  200. ;    15      !
  201. ;    8       &&
  202. ;    1       ||
  203. ;    14      Upper()
  204. ;    5       Ferr()
  205. ;    2       Date()
  206. ;    1       Time()
  207. ;    12      U_Name()
  208. ;    1       U_LDate()
  209. ;    8       U_Bul()
  210. ;    15      PPEPath()
  211. ;
  212. ;------------------------------------------------------------------------------
  213. ;
  214. ; Analysis flags : WB
  215. ;
  216. ; W - Write user ■ 5
  217. ;     Program writes a user record. Although this may be normal for a
  218. ;     User Editor, it may also be a way to modify an account level.
  219. ;     ■ Search for : PUTUSER
  220. ;
  221. ; B - Brute hangup ■ 1
  222. ;     Program hangup without notification. This may be a good way to
  223. ;     disconnect a user, but if used randomly, may be very nasty
  224. ;     ■ Search for : HANGUP, DTROFF
  225. ;
  226. ;------------------------------------------------------------------------------
  227. ;
  228. ; Postprocessing report
  229. ;
  230. ;    1       For/Next
  231. ;    1       While/EndWhile
  232. ;    8       If/Then or If/Then/Else
  233. ;    0       Select Case
  234. ;
  235. ;------------------------------------------------------------------------------
  236. ;                 AEGiS Corp - Break the routines, code against the machines!
  237. ;------------------------------------------------------------------------------
  238.