home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / CL15S1G.ZIP / LASTON13.ZIP / LASTON.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-03  |  3KB  |  205 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.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     Byte     BYTE001
  41.     Byte     BYTE002
  42.     Byte     BYTE003
  43.  
  44. ;------------------------------------------------------------------------------
  45.  
  46.     BOOLEAN003 = 1
  47.     If (TokCount() > 0) Then
  48.         GetToken STRING014
  49.     Else
  50.         PrintLn "Logging last access information."
  51.         BOOLEAN005 = 1
  52.     Endif
  53.     STRING014 = Upper(STRING014)
  54.     STRING008 = ": "
  55.     STRING001 = PPEPath() + PPEName() + ".CFG"
  56.     If (Exist(STRING001)) Then
  57.         FOpen 1, STRING001, 0, 0
  58.         FGet 1, STRING002
  59.         FGet 1, STRING009
  60.         If (BOOLEAN005) Goto LABEL003
  61.         BOOLEAN006 = 0
  62.         :LABEL001
  63.         If (BOOLEAN006) Goto LABEL003
  64.         FGet 1, STRING003
  65.         If (STRING003 == "") Then
  66.             BOOLEAN006 = 1
  67.             Goto LABEL002
  68.         Endif
  69.         STRING015 = Left(STRING003, 1)
  70.         If (Upper(STRING015) == STRING014) Then
  71.             STRING006 = Mid(STRING003, 2, Len(STRING003) - 1)
  72.             PrintLn STRING006
  73.             BOOLEAN006 = 1
  74.         Endif
  75.         :LABEL002
  76.         Goto LABEL001
  77.         :LABEL003
  78.         FClose 1
  79.         Tokenize STRING002
  80.         BYTE002 = TokCount()
  81.         For BYTE001 = 1 To BYTE002
  82.             If (LangExt() == GetToken()) Then
  83.                 STRING008 = " (" + String(BYTE001) + "): "
  84.             Endif
  85.         Next
  86.         If (STRING009 <> "") Then
  87.             Tokenize STRING009
  88.             GetToken BOOLEAN003
  89.             GetToken BOOLEAN001
  90.             GetToken BOOLEAN002
  91.             GetToken BOOLEAN004
  92.             GetToken BYTE003
  93.         Endif
  94.     Endif
  95.     If (STRING015 <> Upper(STRING015)) BOOLEAN001 = 0
  96.     GetUser
  97.     STRING010 = String(U_LDate())
  98.     STRING011 = " (" + Left(String(U_LTime()), 5) + ") "
  99.     STRING012 = "for " + String(U_TimeOn()) + " Minute(s)"
  100.     STRING013 = " - #" + String(U_Logons())
  101.     If (BOOLEAN005) Then
  102.         Log "Last on" + STRING008 + STRING010 + STRING011 + STRING012 + STRING013, 0
  103.         If (BYTE003 > 0) Then
  104.             STRING007 = Trim(Mid(U_Cmnt1, BYTE003, 4), " ")
  105.             If (STRING007 <> "") Then
  106.                 If (U_ExpDate > Date()) Then
  107.                     If (ConfExp(STRING007)) LastIn STRING007
  108.                     Goto LABEL004
  109.                 Endif
  110.                 If (ConfReg(STRING007)) LastIn STRING007
  111.             Endif
  112.         Endif
  113.         :LABEL004
  114.     Else
  115.         If (CallNum() > 0) Goto LABEL005
  116.         If (BOOLEAN003) Log "Last on" + STRING008 + STRING010 + STRING011 + STRING012 + STRING013, 0
  117.         If (BOOLEAN001) Then
  118.             STRING004 = Modem()
  119.             If (STRING004 <> "") Log "Modem: " + STRING004, 0
  120.             STRING005 = CallId()
  121.             If (STRING005 <> "") Log "CID: " + STRING005, 0
  122.         Endif
  123.         If (BOOLEAN002) Log "Caller Security: " + String(CurSec()) , 0
  124.     Endif
  125.     :LABEL005
  126.     If ((STRING006 <> "") && BOOLEAN004) Then
  127.         Log STRING006, 0
  128.     Endif
  129.     End
  130.  
  131. ;------------------------------------------------------------------------------
  132. ;
  133. ; Usage report (before postprocessing)
  134. ;
  135. ; ■ Statements used :
  136. ;
  137. ;    1       End
  138. ;    22      Goto 
  139. ;    22      Let 
  140. ;    2       PrintLn 
  141. ;    23      If 
  142. ;    1       FOpen 
  143. ;    1       FClose 
  144. ;    3       FGet 
  145. ;    1       GetUser
  146. ;    6       Log 
  147. ;    2       Tokenize 
  148. ;    6       GetToken 
  149. ;    2       LastIn 
  150. ;
  151. ;
  152. ; ■ Functions used :
  153. ;
  154. ;    23      +
  155. ;    1       -
  156. ;    3       ==
  157. ;    6       <>
  158. ;    1       <
  159. ;    1       <=
  160. ;    4       >
  161. ;    2       >=
  162. ;    16      !
  163. ;    3       &&
  164. ;    1       ||
  165. ;    1       Len(
  166. ;    3       Upper()
  167. ;    2       Mid()
  168. ;    2       Left()
  169. ;    1       Trim()
  170. ;    1       Date()
  171. ;    1       U_LDate()
  172. ;    1       U_LTime()
  173. ;    1       U_Logons()
  174. ;    1       U_TimeOn()
  175. ;    6       String()
  176. ;    1       PPEPath()
  177. ;    1       CurSec()
  178. ;    1       GetToken()
  179. ;    1       CallId()
  180. ;    1       Exist()
  181. ;    1       LangExt()
  182. ;    1       PPEName()
  183. ;    1       Modem()
  184. ;    1       CallNum()
  185. ;    2       TokCount()
  186. ;    1       ConfReg()
  187. ;    1       ConfExp()
  188. ;
  189. ;------------------------------------------------------------------------------
  190. ;
  191. ; Analysis flags : No flag
  192. ;
  193. ;------------------------------------------------------------------------------
  194. ;
  195. ; Postprocessing report
  196. ;
  197. ;    1       For/Next
  198. ;    0       While/EndWhile
  199. ;    12      If/Then or If/Then/Else
  200. ;    0       Select Case
  201. ;
  202. ;------------------------------------------------------------------------------
  203. ;                 AEGiS Corp - Break the routines, code against the machines!
  204. ;------------------------------------------------------------------------------
  205.