dialog sms {
title "Virgin Mobile SMS"
size -1 -1 75 109
option dbu
text "To (Customer Number):", 1, 0 0 75 8
edit "", 10, 0 8 75 10
text "From (You):", 2, 0 19 75 8
edit "", 20, 0 27 75 10
text "Message:", 3, 0 38 75 8
edit "", 30, 0 46 75 50, multi autovs limit 125
button "Send", 40, 40 98 35 10
text "Chars: 0/125", 35, 0 99 40 8
}
alias sms { /dialog -md sms sms }
on *:DIALOG:sms:EDIT:30: {
var %txt = $didtok($dname, 30, 0)
var %len = $len(%txt)
/did -ra $dname 35 Chars: %len $+ /125
}
on *:DIALOG:sms:SCLICK:40: {
if (($did($dname, 10)) && ($did($dname, 20))) {
if ($did($dname, 30)) {
/sockopen sms www.virginmobileusa.com 80
/sockmark sms sms
/did -a $dname 30
}
else avr %a = $input(You have not specified a message to send, ow, Missing Field)
}
else var %a = $input(Missing to and/or from fields, ow, Missing Fields)
}
on *:SOCKOPEN:sms: {
var %dname = $sock($sockname).mark
if ($sockerr) .timer 1 1 var %a = $input(Could not send message to $did(%dname, 10), ow, Error)
else {
/sockwrite -n $sockname POST /xtras/messaging/processSMSMessage.do HTTP/1.0
/sockwrite -n $sockname Host: www.virginmobileusa.com
/sockwrite -n $sockname $crlf
var %to = $(?,to=,$did(%dname, 10)), %from = $+(&,from=,$did(%dname, 20))
var %message = $+(&,message=,$replace($didtok(%dname, 30, 32), $chr(32), +))
/sockwrite -n $sockname $+(%to,%from,%message)
}
}
on *:SOCKREAD:sms: {
/sockread -f &data
/bwrite data.txt - 1 -1 &data
}