home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Action 1997 May
/
PCA597.ISO
/
special
/
t-online
/
decoder.3
/
DECODER
/
INTERNET
/
FUNSOCK.MKR
Wrap
Text File
|
1996-07-13
|
10KB
|
412 lines
# -----------------------------------------------------------------------------
# T-Online-Decoder 1.2a
# -----------------------------------------------------------------------------
# Aufruf T-Online-FUNSock-Gateway und Rⁿckkehr nach CEPT
# -----------------------------------------------------------------------------
# (C) 1996 FUN Kommunikationssysteme GmbH
# Stand: 12.7.1996 Klaus Nahr, FUN
# -----------------------------------------------------------------------------
# Defaultwert -----------------------------------------------------------------
set DEBUG = "off"
# Fⁿr Tests die folgenden beiden Zeilen aktivieren
# Debugsausgaben an, CEPT zeigen
# set DEBUG = "on"
# onwin
# CEPT-Fenster schliessen -----------------------------------------------------
if DEBUG == "on" goto NoOffwin
offwin
NoOffwin:
# Nummer der Gateway-Seite, Defaultparameter ----------------------------------
set RegPage = ""
set GatePage = ""
set ReturnPage = ""
set Application = ""
set Argument1 = ""
set Argument2 = ""
set Argument3 = ""
set Argument4 = ""
set Argument5 = ""
set Argument6 = ""
set RegFilename = "FUNSOCK.INI"
set RegSection = "Gateway"
set RegOk = "Ok"
set RegFailed = "Failed"
set RegDefault = "*NOTFOUND*"
set GeldFilename = "PREMIUM.INI"
set GeldSection = "Konfiguration"
set GeldEntry = "Betrag"
set GeldDefault = "*NOTFOUND*"
set AutoBestaetigung = "Nein"
ifless argc than "2" goto Start
set RegPage = argv_1
ifless argc than "3" goto Start
set GatePage = argv_2
ifless argc than "4" goto Start
set ReturnPage = argv_3
ifless argc than "5" goto Start
set Application = argv_4
ifless argc than "6" goto Start
set Argument1 = argv_5
ifless argc than "7" goto Start
set Argument2 = argv_6
ifless argc than "8" goto Start
set Argument3 = argv_7
ifless argc than "9" goto Start
set Argument4 = argv_8
ifless argc than "10" goto Start
set Argument5 = argv_9
ifless argc than "11" goto Start
set Argument6 = argv_10
Start:
# Automatische Bestaetigung als Parameter (Application == -azb) ---------------
delblanks Application
ifnot Application == "-azb" goto ReadGeldValue
set AutoBestaetigung = "Ja"
set Application = ""
# Betrag fuer autom. Bestaetigung lesen ---------------------------------------
ReadGeldValue:
iniread GeldValue = GeldFilename, GeldSection, GeldEntry, GeldDefault
# Betrag-Eintrag nicht gefunden => alter Decoder
if GeldValue == GeldDefault goto GeldDone
delblanks GeldValue
# von vorne auf mind. 3 Stellen mit Nullern auffuellen
strlen GeldLen of GeldValue
GeldLoop:
ifeqgreater GeldLen than "3" goto GeldOk
strinsert GeldValue, "0", "0"
inc GeldLen
goto GeldLoop
GeldOk:
subtract GeldLen, "2"
strinsert GeldValue, ",", GeldLen
GeldDone:
strcat Application, " ", Argument1, " ", Argument2, " ", Argument3, " ", Argument4, " ", Argument5, " ", Argument6
delblanks Application
# Internet-Gateway anwΣhlen ---------------------------------------------------
StartConnect:
# Sind wir T-Online?
getstate StatusBeiStart
if StatusBeiStart == "CONNECTED" goto IsOnline
connect
# Anwahl ok?
getstate Status
if Status == "DISCONNECTED" goto Ende
IsOnline:
# evtl. ER verlassen
whatdct DCT
# kein DCT
if DCT == "0" goto Wait
# In einem ER?
if DCT == "2" goto LeaveER
# im VT100-Modus
if DCT == "4" goto Anwendung
goto GoVT100
# Warte auf DCT
Wait:
waitdct
goto GoVT100
# Verlasse Externen Rechner
LeaveER:
send "\c\*0\#"
waitdct
get line24 = "1", "24", "40", "24"
# Im VT100-Mode?
whatdct DCT
if DCT == "4" goto Anwendung
# In VT100-Mode wechseln
GoVT100:
# Start im CEPT-Mode
gosub SwitchToVT100
# Jetzt kanns losgehen --------------------------------------------------------
Anwendung:
# RegPage-Eintrag aus INI-Datei lesen
iniread IniRegPage = RegFilename, RegSection, RegPage, RegDefault
# Registrierung bereits erfolgt ?
if IniRegPage == RegOk goto EnterGateway
# Registrieren
gosub Register
if Action=="OK" goto EnterGateway
goto Done
EnterGateway:
gosub Gateway
# Fehler? Nicht in VT100-Modus bei Aufruf der Gatewayseite?
# dann Moduswechsel nachholen
ifnot Action == "DCTErr" goto Done
gosub GoVT100
gosub Gateway
ifnot Action == "DCTErr" goto Done
messagebox ret: "Gateway-Hinweis", "Wechsel in den VT100-Mode nicht ausfⁿhrbar", "OK"
Done:
# Wieder in CEPT wechseln
gosub SwitchToCEPT
# Rⁿcksprungseite aufrufen ----------------------------------------------------
CallReturnPage:
send "\c*", ReturnPage, "#"
# Ende ------------------------------------------------------------------------
Ende:
# folgende Message sorgt fuer Schliessen der Box
statusmsg "\\"
# Internet-Dialog beenden
statusmsg "~Internet"
end
###############################################################################
# Enter Gateway, leave Result in Action
###############################################################################
Gateway:
set Action = "Ok"
# GatePage aufrufen
statusmsg "WΣhle Internet-▄bergabeseite an ..."
send "\c*", GatePage, "#"
waitdct
# Sind wir im VT100-Mode
whatdct GateDCT
# debug "DCT = ", GateDCT, "\n"
ifnot GateDCT == "1" goto GateDCTOk
set Action = "DCTErr"
return
GateDCTOk:
set FNSYS = ""
# Sind wir auf der richtigen Seite?
# M÷gliche Fehler:
# "Unberechtigter Zugriff"
# "Seite nicht vorhanden"
get line24 = "1", "24", "8", "24"
if line24 == "Unberech" goto ERZugangErr
if line24 == "Seite ni" goto ERZugangErr
get Kosten = "1", "24", "40", "24"
strpos p = "J" in Kosten
if p == "" goto Connect
strdelete Kosten, p, "40"
# Automatische Bestaetigung?
if AutoBestaetigung == "Ja" goto Connect
# Premium-Betrag ? dann autom. bestaetigen
strpos p = GeldValue in Kosten
ifnot p == "" goto Connect
messagebox ret: "Gateway-Vergⁿtungsinformation", Kosten, "YESNO"
if ret=="YES" goto Connect
set Action = "EXIT"
return
Connect:
statusmsg "Verbindung zum Internet-Gateway-Rechner aufbauen ..."
send "19"
waitdct
get SH = "36", "24", "40", "24"
if SH == "AX601" goto ERZugangErr
get FNSYS = "36", "23", "40", "23"
if FNSYS=="FN900" goto ContinueSession
ERZugangErr:
set info="Zugang zum Gateway fehlgeschlagen\n"
get line24 = "1", "24", "40", "24"
strcat info, line24
strcat info, " "
strcat info, FNSYS
messagebox ret: "Gateway-Hinweis", info, "OK"
set Action="EXIT"
return
ContinueSession:
# jetzt sind wir im FUNSock ER
# die folgende Message sorgt fuer Schliessen der Status-Box
statusmsg "\\"
if Application=="" goto NoApplication
system Application
NoApplication:
# Jetzt warten, bis ER die Sitzung beendet
waitdct
get RetCode = "23", "24", "40", "24"
set Sys = "Internetsitzung beendet "
strcat Sys, RetCode
statusmsg Sys
return
###############################################################################
# Call Registration Page
###############################################################################
Register:
# wenn Reg-Seite "*" gar nicht erst aufrufen (FJ) => nicht in INI-Datei
if RegPage == "*" goto RegisterDone
statusmsg "WΣhle Registrierungsseite an ..."
send "\c*", RegPage, "#"
waitdct
# wenn FN990 gleich weiter (FJ) => nicht in INI-Datei
get SHMsg = "36", "23", "40", "23"
if SHMsg == "FN990" goto RegisterDone
# Sind wir auf der richtigen Seite?
# M÷gliche Fehler:
# "Unberechtigter Zugriff"
# "Seite nicht vorhanden"
get line24 = "1", "24", "8", "24"
if line24 == "Unberech" goto RegFailedNoAccess
if line24 == "Seite ni" goto RegFailedNoAccess
DoReg:
get line24 = "1", "24", "40", "24"
strpos p = "J" in line24
if p == "" goto RegFailedNoAccess
strdelete line24, p, "40"
# Premium-Betrag ? dann autom. bestaetigen
strpos p = GeldValue in line24
ifnot p == "" goto DoReallyReg
set info="Zur Nutzung des Gateways mⁿssen Sie sich zunΣchst registrieren.\n"
strcat info, line24
messagebox ret: "Gateway-Registrierung", info, "YESNO"
if ret=="YES" goto DoReallyReg
goto RegFailed
DoReallyReg:
send "19"
waitdct
get FNSYS = "36", "23", "40", "23"
if FNSYS=="FN990" goto RegOK
set info="Anmeldung am Gateway fehlgeschlagen\n"
get line24 = "1", "24", "40", "24"
strcat info, line24
strcat info, " "
strcat info, FNSYS
messagebox ret: "Gateway-Hinweis", info, "OK"
goto RegFailed
RegFailedNoAccess:
set info="Zugang zum Gateway fehlgeschlagen\n"
get line24 = "1", "24", "40", "24"
strcat info, line24
messagebox ret: "Gateway-Hinweis", info, "OK"
goto RegFailed
return
RegOK:
iniwrite RegFilename, RegSection, RegPage, RegOk
RegisterDone:
set Action = "OK"
return
RegFailed:
set Action = "EXIT"
iniwrite RegFilename, RegSection, RegPage, RegFailed
return
###############################################################################
# VT100-Wechsel
###############################################################################
SwitchToVT100:
statusmsg "Wechsle in den VT100-Mode ..."
send "\c\*707\#"
waitdct
# Jetzt auf Seite 707?
get Seitennummer = "37", "24", "40", "24"
if Seitennummer=="707a" goto STVProfilwechsel
send "\c\*707\#"
waitdct
STVProfilwechsel:
# Profilwechsel anfordern
send "j"
waitdct
sleep "2"
send ".\r"
waitdct
# ab jetzt VT100 MODE
statusmsg "VT100-Mode aktiv"
# Kein Wechsel
send "n"
waitdct
return
###############################################################################
# CEPT-Wechsel
###############################################################################
SwitchToCEPT:
# Seite 707 aufrufen fⁿr Rⁿcksprung nach CEPT
send "\c*707#"
waitdct
# Jetzt auf Seite 707?
get Seitennummer = "37", "24", "40", "24"
if Seitennummer=="707a" goto STCProfilwechsel
send "\c*707#"
waitdct
STCProfilwechsel:
# Profilwechsel anfordern
send "j"
waitdct
send "EG "
waitdct
statusmsg "CEPT-Mode aktiv"
# Ruecksprungseite anwaehlen
send "n"
waitdct
return
###############################################################################