home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAUS10S.ZIP / USER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-01  |  3KB  |  232 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  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     String   STRING001
  29.     String   STRING002
  30.     String   STRING003
  31.     String   STRING004
  32.     String   STRING005
  33.     String   STRING006
  34.     String   STRING007
  35.     String   STRING008
  36.     String   STRING009
  37.  
  38. ;------------------------------------------------------------------------------
  39.  
  40.     Gosub LABEL001
  41.     Gosub LABEL003
  42.     End
  43.     :LABEL001
  44.     INTEGER006 = 0
  45.     STRING002 = ReadLine(PCBDat(), 29)
  46.     INTEGER003 = FileInf(STRING002, 4)
  47.     INTEGER004 = INTEGER003 / 400
  48.     STRING001 = PPEPath() + "user.cfg"
  49.     If (Exist(STRING001)) Goto LABEL002
  50.     PrintLn "No config file found: ", STRING001
  51.     End
  52.     :LABEL002
  53.     INTEGER009 = 5
  54.     STRING006 = ReadLine(STRING001, 1)
  55.     STRING007 = ReadLine(STRING001, 2)
  56.     STRING008 = ReadLine(STRING001, 3)
  57.     STRING009 = ReadLine(STRING001, 4)
  58.     INTEGER002 = ReadLine(STRING001, 5)
  59.     Return
  60.     :LABEL003
  61.     If (Exist(PPEPath() + "user.top")) DispFile PPEPath() + "user.top", 0
  62.     For INTEGER007 = 1 To INTEGER004
  63.         GetAltUser INTEGER007
  64.         INTEGER005 = 0
  65.         For INTEGER008 = 1 To INTEGER002
  66.             STRING003 = ReadLine(STRING001, INTEGER009 + INTEGER008)
  67.             Tokenize STRING003
  68.             If (TokCount() == 3) Then
  69.                 GetToken STRING004
  70.                 GetToken STRING005
  71.                 INTEGER001 = S2I(GetToken(), 10)
  72.                 Forward INTEGER001 - INTEGER005 - 1
  73.                 INTEGER005 = INTEGER005 + INTEGER001 - INTEGER005 - 1
  74.                 If (INTEGER005 < 80) Then
  75.                     If (Lower(STRING004) == "name") Then
  76.                         Print STRING005 + String(U_Name())
  77.                         INTEGER005 = INTEGER005 + Len(U_Name())
  78.                         Continue
  79.                     Endif
  80.                     If (Lower(STRING004) == "security") Then
  81.                         Print STRING005 + String(U_Sec)
  82.                         INTEGER005 = INTEGER005 + Len(String(U_Sec))
  83.                         Continue
  84.                     Endif
  85.                     If (Lower(STRING004) == "city") Then
  86.                         Print STRING005 + U_City
  87.                         INTEGER005 = INTEGER005 + Len(U_City)
  88.                         Continue
  89.                     Endif
  90.                     If (Lower(STRING004) == "areacode") Then
  91.                         If (String(Left(U_BDPhone, 3)) <> STRING006) Then
  92.                             Inc INTEGER006
  93.                             Print STRING007 + String(Left(U_BDPhone, 3))
  94.                             Goto LABEL004
  95.                         Endif
  96.                         Print STRING005 + String(Left(U_BDPhone, 3))
  97.                         :LABEL004
  98.                         INTEGER005 = INTEGER005 + 3
  99.                         Continue
  100.                     Endif
  101.                     If (Lower(STRING004) == "numul") Then
  102.                         Print STRING005 + String(U_Ful())
  103.                         INTEGER005 = INTEGER005 + Len(U_Ful())
  104.                         Continue
  105.                     Endif
  106.                     If (Lower(STRING004) == "numdl") Then
  107.                         Print STRING005 + String(U_Fdl())
  108.                         INTEGER005 = INTEGER005 + Len(U_Fdl())
  109.                         Continue
  110.                     Endif
  111.                     If (Lower(STRING004) == "bul") Then
  112.                         Print STRING005 + String(U_Bul())
  113.                         INTEGER005 = INTEGER005 + Len(U_Bul())
  114.                         Continue
  115.                     Endif
  116.                     If (Lower(STRING004) == "bdl") Then
  117.                         Print STRING005 + String(U_Bul())
  118.                         INTEGER005 = INTEGER005 + Len(U_Bul())
  119.                         Continue
  120.                     Endif
  121.                     If (Lower(STRING004) == "lastdate") Then
  122.                         Print STRING005 + String(U_LDate())
  123.                         INTEGER005 = INTEGER005 + Len(U_LDate())
  124.                         Continue
  125.                     Endif
  126.                     If (Lower(STRING004) == "lasttime") Then
  127.                         Print STRING005 + String(U_LTime())
  128.                         INTEGER005 = INTEGER005 + Len(U_LTime())
  129.                         Continue
  130.                     Endif
  131.                     If (Lower(STRING004) == "numon") Then
  132.                         Print STRING005 + String(U_Logons())
  133.                         INTEGER005 = INTEGER005 + Len(U_Logons())
  134.                     Endif
  135.                 Endif
  136.             Endif
  137.         Next
  138.         Newline
  139.     Next
  140.     Newline
  141.     PrintLn STRING008 + String(INTEGER004)
  142.     PrintLn STRING009 + String(INTEGER006)
  143.     If (Exist(PPEPath() + "user.bot")) DispFile PPEPath() + "user.bot", 0
  144.     Return
  145.  
  146. ;------------------------------------------------------------------------------
  147. ;
  148. ; Usage report (before postprocessing)
  149. ;
  150. ; ■ Statements used :
  151. ;
  152. ;    2       End
  153. ;    30      Goto 
  154. ;    30      Let 
  155. ;    12      Print 
  156. ;    3       PrintLn 
  157. ;    19      If 
  158. ;    2       DispFile 
  159. ;    2       Gosub 
  160. ;    2       Return
  161. ;    1       Inc 
  162. ;    2       Newline
  163. ;    1       Tokenize 
  164. ;    2       GetToken 
  165. ;    1       Forward 
  166. ;    1       GetAltUser 
  167. ;
  168. ;
  169. ; ■ Functions used :
  170. ;
  171. ;    1       /
  172. ;    34      +
  173. ;    4       -
  174. ;    12      ==
  175. ;    1       <>
  176. ;    3       <
  177. ;    2       <=
  178. ;    4       >=
  179. ;    17      !
  180. ;    4       &&
  181. ;    2       ||
  182. ;    10      Len(
  183. ;    11      Lower()
  184. ;    3       Left()
  185. ;    2       U_Name()
  186. ;    2       U_LDate()
  187. ;    2       U_LTime()
  188. ;    2       U_Logons()
  189. ;    2       U_Ful()
  190. ;    2       U_Fdl()
  191. ;    4       U_Bul()
  192. ;    15      String()
  193. ;    1       PCBDat()
  194. ;    5       PPEPath()
  195. ;    7       ReadLine()
  196. ;    1       GetToken()
  197. ;    3       Exist()
  198. ;    1       S2I()
  199. ;    1       FileInf()
  200. ;    1       TokCount()
  201. ;
  202. ;------------------------------------------------------------------------------
  203. ;
  204. ; Analysis flags : Rd
  205. ;
  206. ; R - Read user ■ 5
  207. ;     User records are read, this may signify that someone wants to get
  208. ;     various informations about a user (for example his password), but
  209. ;     this may also be normal for a program accessing user records (for
  210. ;     example a User Editor)
  211. ;     ■ Search for : GETALTUSER
  212. ;
  213. ; d - Access PCBOARD.DAT ■ 2
  214. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  215. ;     for many PPE so they can find various informations on the system
  216. ;     (system paths, max number of lines in messages, ...) but it may also
  217. ;     be a way to gather vital informations.
  218. ;     ■ Search for : PCBDAT()
  219. ;
  220. ;------------------------------------------------------------------------------
  221. ;
  222. ; Postprocessing report
  223. ;
  224. ;    2       For/Next
  225. ;    0       While/EndWhile
  226. ;    14      If/Then or If/Then/Else
  227. ;    0       Select Case
  228. ;
  229. ;------------------------------------------------------------------------------
  230. ;                 AEGiS Corp - Break the routines, code against the machines!
  231. ;------------------------------------------------------------------------------
  232.