(* PPPäänavaus 1.0
Skripti avaa PPP-yhteyden Open Transportia käyttäen. Se avaa myös valitut
tiedostot tai ohjelmat, kun yhteys on muodostunut. Modeemin asetukset ja
TCP/IP-asetukset on ensin laitettava kuntoon Modeemi- ja
TCP/IP-säätimissä.
Tallenna Skriptieditorilla ohjelmaksi, rastit valintataulussa kohtiin
"pysy avoinna" ja "älä näytä aloitusnäyttöä". Laita modeemi päälle
ja kaksoisosoita ohjelmaa.
HUOMAA: Salasanasi tallentuu skriptiin! Älä siis jätä ajettua skriptiä
muiden ulottuville, jos useampi käyttää samalla koneella PPP-yhteyttä.
Vaatii addin, jossa on Network Object Suite -sanasto ®1996 Apple Computer, Inc.
Esimerkiksi Remote Access Commands (Mac OS 8.x) tai PPP commands (Mac OS 7.x).
Sellainen kuuluu käyttöjärjestelmään ja
sijaitsee Järjestelmäkansio:Scripting Additions:
2000 Tuomas Rosberg <vanhentunut>
Ilmainen ja tarkoitettu yleiseen käyttöön (public domain).
Lainattessa kirjoittajan nimi on mainittava.
Koodilla ei ole mitään takuuta, ja sen sisältävää ohjelmaa käyttävät
toimivat omalla vastuullaan.
*)
property puhelinnumero : "puhelinnumero"
property tunnus : "tunnus"
property salasana : "salasana"
property tiedotSaatu : false
property avattavat : {}
property lopeta : false
on run
set lopeta to false
considering case -- Erotetaan pienet isoista kirjaimista.
if tiedotSaatu is false then
my kysyTiedot() -- Ensimmäisellä ajokerralla.
end if
-- Sama testi uudestaan:
if tiedotSaatu is true then -- Skripti on kerännyt hyväksyttävät yhteystiedot aiemmin.
if state in (PPP status) is in {"idle", "Vapaa"} then -- PPP ei päällä ennestään.
try
PPP connect address puhelinnumero user name tunnus password salasana
on error errr
my anError(errr)
end try
else if state in (PPP status) is in {"connected", "Yhteys"} then -- PPP päällä ennestään.
my jatkotoimet()
end if
else -- Hyväksyttäviä yhteystietoja ei ole saatu.
set lopeta to true
end if
end considering -- Unohtaa sen pienen eron.
end run
on idle -- Kun "pysy avoinna" -ohjelma vastaanottaa systeemiltä idle eventin.
if lopeta is false then
try
if state in (PPP status) is not in {"connected", "Yhteys"} then
else -- PPP päällä.
if avattavat is not {} then
tell application "Finder"
repeat with a in avattavat
set a to a as alias
open a
end repeat
end tell
set lopeta to true -- Tarvittavat tiedostot avattu.
end if
my jatkotoimet()
end if
on error errr
my anError(errr)
end try
else -- lopeta is true.
quit me
end if
return 2
end idle
on jatkotoimet()
activate me
display dialog ¬
"Etäyhteys (PPP) on auki. Sulje" & return & ¬
"se istunnon jälkeen Säätimistä." & return & return & ¬
"Voit lisätä tai poistaa" & return & ¬
"avattavia kohteita. " buttons {"Lisää", "Poista", "Lopeta"} ¬
default button "Lopeta" with icon note
set painike to button returned of result
if painike is "Lisää" then
my avaa()
else if painike is "Poista" then
if avattavat is not {} then
copy avattavat to lista -- Tekee varmuuskopion.
set poistettavat to (choose from list avattavat with prompt ¬
"Poista skriptistä kohteet: " with multiple selections allowed) -- Vaatii Mac OS 8.* standard additions.
set avattavat to {}
repeat with x in lista
if x is not in poistettavat then
set avattavat to avattavat & x
end if
end repeat
else
display dialog "Tyhjä lista. " buttons "Lopeta" default button 1
end if
set lopeta to true
else if painike is "Lopeta" then
set lopeta to true
end if
end jatkotoimet
on avaa()
set valmis to false
repeat until valmis is true
display dialog ¬
"Haluatko vielä valita ohjelmia tai tiedostoja, " & return & ¬
"jotka avataan kun PPP-yhteys muodostuu? " & return & return ¬
buttons {"Ei", "Kyllä"} default button "Kyllä"
if button returned of result is "Kyllä" then
if avattavat is {} then
set numero to 1
else
set numero to (count avattavat) + 1
end if
set f to (choose file with prompt ¬
"Valitse avattava tiedosto " & numero)
set f to f as text
if f is not in avattavat then
set avattavat to avattavat & f
set numero to numero + 1
end if
else -- Painike "Ei".
set valmis to true
end if
end repeat
end avaa
on anError(errr)
display dialog "Tulos: " & return & ¬
errr buttons "Lopeta" default button 1
set lopeta to true
end anError
on kysyTiedot()
repeat
(* HUOMAA:
Jos yhteystietojesi puhelinnumero, käyttäjätunnus tai salasana sisältää välilyönnin (space),
joudut muuttamaan tekstikohteiden erotinta (AppleScript's text item delimiters).*)
display dialog "Anna internetyhteytesi sisäänsoittonumero, " & return & ¬
"käyttäjätunnus ja salasana. Erota ne" & return & ¬
"välilyönnein (space). Tiedot ovat pakollisia." default answer ¬
"puhelinnumero tunnus salasana" buttons {"Peru", "OK"} default button "OK"
set tulos to result -- Sisältää valitun painikkeen ja annetun tekstin.
set erotin to AppleScript's text item delimiters
set AppleScript's text item delimiters to space
if button returned in tulos is "OK" then
try
set puhelinnumero to first text item of text returned in tulos
set tunnus to second text item of text returned in tulos
set salasana to third text item of text returned in tulos
on error errr
my anError(errr)
exit repeat
end try
else -- Peruttu.
set lopeta to true
exit repeat
end if
set AppleScript's text item delimiters to erotin
set peitetty to ""
repeat (count salasana) times
set peitetty to peitetty & ""
end repeat
display dialog "Puhelinnumero: " & puhelinnumero & return & ¬
"Tunnus: " & tunnus & return & ¬
"Salasana: " & peitetty buttons {"Korjaa", "OK"} default button "OK"
if button returned of result is "OK" then
-- Skripti ei hyväksy tyhjiä arvoja yhteystietoihin:
if puhelinnumero is not in {"puhelinnumero", " ", ""} then
if tunnus is not in {"tunnus", " ", ""} then
if salasana is not in {"salasana", " ", ""} then
set tiedotSaatu to true
my avaa() -- Kysyy avattavia tiedostoja.
exit repeat -- Tiedot hyväksytty.
end if
end if
end if
end if
end repeat -- Lopettaa yhteystietojen kysymisen.
end kysyTiedot