home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / AUTOVAL4.ZIP / AUTOVAL.SUB < prev    next >
Text File  |  1992-02-27  |  4KB  |  140 lines

  1. SUB autoval
  2. DIM autobaud AS LONG
  3. bcnt = 0: zp = 0: dist$ = ""
  4. OUT portct, INP(portct) AND 254
  5. waits 5
  6. OUT portct, INP(portct) OR 1
  7. waits 5
  8. setbaud baud
  9. COLOR 1
  10. waits 1
  11. outline "ATV1H0X6" + cr$
  12. waits 1
  13. DO WHILE comhit
  14.         a = readchar
  15. LOOP
  16. CLS
  17. writeln cr$
  18. COLOR 5
  19. PRINT
  20. PRINT "Auto Validate Program Now in Progress:";
  21. COLOR 7: PRINT "          (Escape to Terminate)"
  22. PRINT
  23. IF avlocal = 1 AND chkphone = 1 THEN dist$ = "Local/Zone" ELSE dist$ = "Long Dist/Metro"
  24. restart0:
  25.  
  26.         
  27.        
  28.         bcnt = bcnt + 1
  29.         IF bcnt > nhs.redials THEN
  30.                 aval = 3
  31.                 avbad "NO RECONNECT"
  32.                 GOTO quit
  33.  
  34.  
  35.  
  36.         END IF
  37.         waits 2
  38.         COLOR 2
  39.         OUT portct, INP(portct) OR 1
  40.         waits 3
  41.         PRINT "Dialing # " + u1.ph2 + " (Attempt " + STR$(bcnt) + "/" + STR$(nhs.redials) + ")";
  42.         COLOR 6: PRINT "            " + dist$: COLOR 2
  43.       IF avlocal = 0 AND chkphone = 1 THEN
  44.         outline RTRIM$(nhs.dial) + "1-" + LEFT$(u1.ph2, 12) + cr$
  45.       ELSEIF avlocal = 1 AND chkphone = 0 THEN
  46.         outline RTRIM$(nhs.dial) + "1-" + MID$(u1.ph2, 5, 8) + cr$
  47.       ELSEIF avlocal = 2 AND chkphone = 1 THEN
  48.         outline RTRIM$(nhs.dial) + RTRIM$(u1.ph2) + cr$
  49.       ELSE
  50.         outline RTRIM$(nhs.dial) + MID$(u1.ph2, 5, 8) + cr$
  51.       END IF
  52.         DO WHILE comhit
  53.                 a = readchar
  54.         LOOP
  55.         bt& = TIMER
  56.         oti& = 0
  57. ring0:
  58.         t$ = ""
  59. ring20:
  60.         DO
  61.         p = comhit
  62.         IF p THEN EXIT DO
  63.         ti& = TIMER
  64.         IF ti& < bt& THEN
  65.                 q& = 86400 - bt& + ti&
  66.         ELSE
  67.                 q& = ti& - bt&
  68.         END IF
  69.         IF q& > 50 THEN outline " ": GOTO restart0
  70.         k$ = INKEY$
  71.         IF k$ = CHR$(27) THEN aval = 3: GOTO quit
  72.         LOOP WHILE k$ = ""
  73.         IF p THEN
  74.                 a = readchar
  75.                 IF a = 10 OR a = 0 GOTO ring0
  76.                 IF a <> 13 THEN t$ = t$ + CHR$(a): GOTO ring20
  77.                 IF t$ = "" GOTO ring0
  78.                 IF t$ = "RINGING" GOTO ring0
  79.                 IF t$ = "VOICE" THEN
  80.                         aval = 3
  81.                         avbad "VOICE RECONNECT"
  82.                         GOTO quit
  83.                 END IF
  84.                 PRINT "Modem Result: ";
  85.                 COLOR 4: PRINT t$: COLOR 3
  86.                 longresult t$, lr$, bb
  87.                 IF bb = 0 THEN waits 1: GOTO restart0
  88.                 autobaud = bb
  89.                 GOTO connect
  90.         END IF
  91.         outline " "
  92.         GOTO restart0
  93. connect:
  94.         COLOR 1
  95.         IF pc1.fixed THEN
  96.         DO WHILE comhit
  97.                 a = readchar
  98.         LOOP
  99.         ELSE
  100.                 setbaud autobaud
  101.                 waits 7
  102.         END IF
  103.         writeln " "
  104.         writeln " "
  105.         waits 3
  106.         writeln "Reconnected to AutoVal Program on " + RTRIM$(mc1.bbsname) + cr$
  107.         waits 3
  108.  
  109.         writeln " "
  110.         serwrt "Password: "
  111.         getline t$, "X"
  112.         pw$ = UCASE$(RTRIM$(t$))
  113.  
  114.         IF RTRIM$(UCASE$(u1.pw)) <> pw$ THEN
  115.                 aval = 2
  116.                 GOTO quit
  117.         ELSEIF RTRIM$(UCASE$(u1.pw)) = pw$ THEN
  118.                 aval = 1
  119.                 GOTO quit
  120.         END IF
  121. quit:
  122.         IF aval = 1 THEN
  123.                 IF LEFT$(u1.ex1, 1) = "F" THEN
  124.                 u1.sec = 75
  125.                 u1.maxtime = 120
  126.                 ELSE
  127.                 u1.sec = 50
  128.                 u1.maxtime = 60
  129.                 END IF
  130.                 
  131.         t$ = "Auto Validated   "
  132.         u1.ex2 = t$
  133.         END IF
  134.         IF aval = 2 THEN
  135.                 syslog "!!! " + DATE$ + "     " + TIME$
  136.                 syslog "!!! User '" + RTRIM$(UCASE$(u1.handle)) + "' Re-entered WRONG PW on Autoval (Tried PW=" + RTRIM$(UCASE$(pw$)) + ")"
  137.         END IF
  138.  
  139. END SUB
  140.