home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / AUTOVAL4.ZIP / CHECKPH.SUB < prev    next >
Text File  |  1992-02-29  |  3KB  |  127 lines

  1. SUB checkphone
  2. DIM i AS INTEGER
  3. aval = 0: chkphone = 0: avlocal = 0: avld = 0
  4. writeln ""
  5. CLOSE 20
  6. writeln ""
  7. writeln "Checking your data phone.... Please wait"
  8. writeln ""
  9. IF LEN(RTRIM$(u1.ph2)) <> 12 GOTO qtt
  10. IF MID$(RTRIM$(u1.ph2), 4, 1) <> "-" OR MID$(RTRIM$(u1.ph2), 8, 1) <> "-" GOTO qtt
  11. FOR i = 5 TO 12
  12. IF i = 8 THEN i = i + 1
  13. IF MID$(RTRIM$(u1.ph2), i, 1) < "0" OR MID$(RTRIM$(u1.ph2), i, 1) > "9" GOTO qtt
  14. NEXT i
  15. OPEN "phones.dat" FOR INPUT AS 20
  16.  
  17. INPUT #20, t$
  18. IF t$ <> "1" THEN avld = 0 ELSE avld = 1
  19. INPUT #20, t$
  20.         IF LEFT$(t$, 3) = LEFT$(u1.ph2, 3) THEN
  21.         avlocal = 1
  22.         GOTO ckprefix
  23.         END IF
  24. IF avld = 1 THEN
  25.         DO
  26.         INPUT #20, t$
  27.         IF LEFT$(t$, 3) = LEFT$(u1.ph2, 3) THEN
  28.         avlocal = 2
  29.         chkphone = 1
  30.         GOTO ckbad
  31.         END IF
  32.         LOOP WHILE t$ <> "^"
  33.        
  34.         IF t$ <> "^" THEN
  35.                 DO
  36.                 INPUT #20, t$
  37.                 LOOP WHILE t$ <> "^"
  38.                 END IF
  39.         DO
  40.         INPUT #20, t$
  41.         IF LEFT$(t$, 3) = LEFT$(u1.ph2, 3) THEN
  42.         avlocal = 0
  43.         chkphone = 1
  44.         GOTO ckbad
  45.         END IF
  46.         LOOP WHILE t$ <> "!"
  47. END IF
  48. aval = 0: chkphone = 0: avlocal = 0
  49. GOTO qtt
  50.  
  51. ckprefix:
  52.         IF t$ <> "!" THEN
  53.         DO
  54.         INPUT #20, t$
  55.         LOOP WHILE t$ <> "!"
  56.         END IF
  57.  
  58.         DO
  59.         INPUT #20, t$
  60.         IF LEFT$(t$, 3) = MID$(u1.ph2, 5, 3) THEN
  61.                 chkphone = 1
  62.                 GOTO ckbad
  63.         END IF
  64.         LOOP WHILE t$ <> "*"
  65.  
  66.  
  67.  
  68.  
  69. ckbad:
  70.         IF t$ <> "*" THEN
  71.         DO
  72.         INPUT #20, t$
  73.         LOOP WHILE t$ <> "*"
  74.         END IF
  75.  
  76.         DO WHILE NOT EOF(20)
  77.         INPUT #20, t$
  78.         IF LEFT$(t$, 12) = LEFT$(u1.ph2, 12) THEN
  79.         chkphone = 2
  80.         GOTO qtt
  81.         END IF
  82.         LOOP
  83. qtt:
  84.         CLOSE 20
  85.         IF chkphone = 2 THEN
  86.                 echofile systxtp$ + "badphone.msg"
  87.                 syslog "!!! " + DATE$ + "     " + TIME$
  88.                 syslog "!!! User '" + RTRIM$(UCASE$(u1.handle)) + "' tried a Bad Phone Number #" + LEFT$(u1.ph2, 12)
  89.                 writeln cr$
  90.                 waits 5
  91.         GOTO qltt
  92.         END IF
  93.      IF avld = 1 THEN
  94.         IF chkphone = 1 OR avlocal > 0 THEN
  95.         echofile systxtp$ + "aval.msg"
  96.         writeln cr$
  97.         writeln "I will be calling you back at " + LEFT$(u1.ph2, 12)
  98.         writeln cr$
  99.         serwrt "Do You want to Autovalidate (Y/N Return=Yes): "
  100.         getline t$, ""
  101.         IF t$ = "" THEN t$ = "Y"
  102.         writeln cr$
  103.         IF UCASE$(LEFT$(t$, 1)) = "Y" THEN aval = 4 ELSE aval = 5
  104.         GOTO qltt
  105.         END IF
  106.      ELSE
  107.         IF chkphone = 1 AND avlocal = 1 THEN
  108.         echofile systxtp$ + "aval.msg"
  109.         writeln cr$
  110.         writeln "I will be calling you back at " + LEFT$(u1.ph2, 12)
  111.         writeln cr$
  112.         serwrt "Do You want to Autovalidate (Y/N Return=Yes): "
  113.         getline t$, ""
  114.         IF t$ = "" THEN t$ = "Y"
  115.         writeln cr$
  116.         IF UCASE$(LEFT$(t$, 1)) = "Y" THEN aval = 4 ELSE aval = 5
  117.         END IF
  118.     END IF
  119.  
  120. qltt:
  121.  
  122.         IF aval = 5 THEN
  123.                 syslog "!!! " + DATE$ + "     " + TIME$
  124.                 syslog "!!! User '" + RTRIM$(UCASE$(u1.handle)) + "' Aborted AutoVal"
  125.         END IF
  126. END SUB
  127.