; *********************************************************************** ; * PPEBack V. 1 * ; * By: Kristopher Steinwender * ; * The BBS Express * ; * 609-461-6254 * ; * 609-461-5857 * ; * Internet: kris.steinwender@radiowave.com * ; * Rime: ->5484 ->BBSEXPRESS * ; *********************************************************************** ; *********************************************************************** ; * As usual I ask that you only modify this program for personal BBS * ; * usage only. * ; *********************************************************************** ; **************** ; * Housekeeping * ; **************** If (Onlocal()) Then Println "@X0ECannot be preformed while on locally." End Endif Getuser ; Getting the user information Boolean flag String AC, LD, LOCAL(100), YN, O, PRE, SUF, BAD(100) Integer NUMLOCAL, NUMBAD, ACC, I, PREFIX, SUFFIX, BADNUM(100) ; ************************ ; * Updating Who Display * ; ************************ Rdunet Pcbnode() Wrunet Pcbnode(),UN_Stat(),UN_Name(),UN_City(),"Performing PPEBACK v.1","" ; ************************* ; * Start of Main Program * ; ************************* : Start AC=Readline(Ppepath()+Ppename()+".Cfg",1) ; Getting your area code LD=Readline(Ppepath()+Ppename()+".CFG",2) ; Check if long distance is allowed ACC=Left(U_BDPHONE,4) ; Getting the user area code PRE=Mid(U_BDPHONE,6,3) ; Getting the user prefix (i.e. 461) SUF=Right(U_BDPHONE,4) ; Getting the user suffix (i.e. 6254) If (Exist(Ppepath()+"OPENING"+Langext())) Dispfile Ppepath()+"OPENING"+Langext(),LANG+SEC+GRAPH ; Getting the opening file Newline Println "@X0C@BOARDNAME@ will be calling you back at the following number: ",ACC,"-",PRE,"-",SUF ; Printing a nice little message Newline YN = "N" Inputstr "@X0EContinue with the callback (@X0Cy/N/e to Edit Number@X0E)",YN,@X0E,1,"HYEN",FIELDLEN+GUIDE+UPCASE Newline If (YN = "N") End If (YN = "H") Goto HELP If (YN = "E") Goto EDIT If (LEN(PRE) <> 3) Goto INVALID If (LEN(SUF) <> 4) Goto INVALID For I = 1 TO 100 Let BADNUM(I) = Readline(Ppepath()+"BADNUM.DAT",I) ; Dealing w/ bad If (ACC = BADNUM(I)) Goto BADNUM ; numbers If (PRE = BADNUM(I)) Goto BADNUM ; If (PRE+"-"+SUF = BADNUM(I)) Goto BADNUM ; Next I For I = 1 To 100 ; Local number listing Fopen 1,Ppepath()+"LOCAL",O_RW,S_DW Fget 1,LOCAL(I) If (PRE = LOCAL(I)) Goto CONTINUE Next I If (Exist(Ppepath()+"NOLD"+Langext())) Dispfile Ppepath()+"NOLD"+Langext(),LANG+SEC+GRAPH ; No Longdistance Message File End : CONTINUE Newline Wait If (AC = ACC) Then Println "@X0CDisconnecting, @FIRST@..." Cdchkoff Kbdchkoff Dtroff Delay 18.2*5 Dtron Sendmodem "ATDT"+STRING(PRE)+STRING(SUF)+CHR(13) Waitfor "CONNECT",flag,60 If (!flag) Log "***** No CONNECT in 60 seconds. *****",FALSE Log "User Connected at "+String(Acc)+"-"+String(PRE)+"-"+STRING(SUF)+". Time: "+STRING(Time()),FALSE Kbdchkon Cdchkon Goto CONNECT Else If ((AC <> ACC) & (LD = "YES")) Then Println "@X0CDisconnecting, @FIRST@..." Cdchkoff Kbdchkoff Dtroff Delay 18.2*5 Dtron Sendmodem "ATDT"+"1"+STRING(PRE)+STRING(SUF)+CHR(13) Waitfor "CONNECT",flag,60 If (!flag) LOG "***** No CONNECT in 60 seconds. *****",FALSE Log "User Connected at "+String(Acc)+"-"+String(PRE)+"-"+STRING(SUF)+". Time: "+STRING(Time()),FALSE Kbdchkon Cdchkon Endif Goto CONNECT : BADNUM If (Exist(Ppepath()+"BADNUM"+Langext())) Dispfile Ppepath()+"BADNUM"+Langext(),LANG+SEC+GRAPH Log "********** USER HAD AN INVALID PHONE NUMBER **********",FALSE Fappend 1,Ppepath()+"MESSAGE."+STRING(PCBNODE()),O_WR,S_DW Fputln 1,"@FIRST@, the following user attempted to use PPEBACK, but the number" Fputln 1,"he/she entered is invalid. I suggest you follow up to this incident." Fputln 1,"@X08---" Fputln 1,"@X0EUsername: @X0C"+STRING(U_NAME()) Fputln 1,"@X0EAttempted Phone Number: @X0C"+STRING(ACC)+"-"+STRING(PRE)+"-"+STRING(SUF) Fputln 1,"@X0ETime: @X0C"+STRING(TIME()) Fputln 1,"@X08---" Fputln 1,"@X08@BOARDNAME@" Fputln 1,"@X08PPEBACK V.1 " Fclose 1 Message 0,"SYSOP","PPEBack - V1","Warning!","R",0,FALSE,FALSE,PPEPATH()+"MESSAGE."+STRING(PCBNODE()) Delete Ppepath()+"MESSAGE."+STRING(PCBNODE()) End : Connect Delay 18.2*3 Newlines 5 Cls If (Exist(Ppepath()+"CONNECT"+Langext())) Dispfile Ppepath()+"CONNECT"+Langext(),LANG+SEC+GRAPH End : INVALID YN = "Y" If (Exist(Ppepath()+"INVALID"+LANGEXT())) Dispfile Ppepath()+"INVALID"+Langext(),LANG+SEC+GRAPH Inputstr "Would you like to correct this",YN,@X0E,1,"YN",FIELDLEN+GUIDE+UPCASE If (YN = "N") END : EDIT Newline Inputstr "Please enter your area code "+AC+" is assumed",AC,@X0E,3,"0123456789",FIELDLEN+GUIDE+UPCASE Newline Inputstr "Please enter your prefix",PRE,@X0E,3,"0123456789",FIELDLEN+GUIDE+UPCASE Newline Inputstr "Please enter your suffix",SUF,@X0E,4,"0123456789",FIELDLEN+GUIDE+UPCASE Newline Kbdstuff " "+STRING(AC)+" "+PRE+"-"+SUF+CHR(13) Inputstr "",U_BDPHONE,@X0E,13," 1234567980-",FIELDLEN+GUIDE+UPCASE Putuser End : HELP Savescrn If (Exist(Ppepath()+"HELP"+Langext())) Dispfile Ppepath()+"HELP"+Langext(),FIELDLEN+GUIDE+UPCASE Wait Restscrn Goto START