dialog Clan {
title "Clan"
size -1 -1 197 138
option dbu
edit "", 7, 10 10 177 10, center
button "Look up!", 11, 42 21 113 11, flat
list 8, 9 34 177 30, size vsbar
box "Clan informations", 5, 2 64 194 73
button "Look up!", 12, 9 84 45 47, flat
edit "", 10, 57 71 129 10
list 13, 58 83 129 50, size vsbar
text "Clan name/initial:", 9, 8 71 45 9, center
box "Clan look up", 6, 2 2 194 135
}
on *:DIALOG:Clan:sclick:11:{
did -r Clan 8
if (!$did(7)) {
dialog -m NoUser NoUser
halt
}
else {
if ($len($did(7)) > 12) {
dialog -m TooLongError TooLongError
}
else {
var %s = $ticks
sockopen Clan. [ $+ [ %s ] ] www.runehead.com 80
sockmark Clan. [ $+ [ %s ] ] $did(7)
}
}
}
on *:SOCKOPEN:Clan.*:{
sockwrite -n $sockname GET /clans/search.php?search= $+ $sock($sockname).mark HTTP/1.1
sockwrite -n $sockname Host: runehead.com
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:Clan.*:{
if ($sockerr) { dialog -m SockErr SockErr | sockclose $sockname | halt }
else {
var %clan
sockread %clan
if (*No results were found* iswm %clan) {
did -ra Clan 8 User was not found.
}
else {
if ($regex(%clan,/
(.*)<\/a><\/td>/i)) {
var %clan2
sockread %clan2
var %ClanName $regml(3)
var %ClanRank $nohtml(%clan2)
did -a Clan 8 $+($calc($did(Clan,8).lines + 1),.) $+(%ClanName,$chr(32),[,$replace(%ClanRank,$chr(95),$chr(32)),])
}
}
}
}
on *:SOCKCLOSE:Clan.*:{
sockclose $sockname
}
on *:DIALOG:Clan:sclick:12:{
did -r Clan 13
if (!$did(10)) {
dialog -m NoClan NoClan
halt
}
else {
var %s = $ticks
sockopen ClanI. [ $+ [ %s ] ] runehead.com 80
sockmark ClanI. [ $+ [ %s ] ] $did(10)
}
}
on *:SOCKOPEN:ClanI.*:{
sockwrite -nt $sockname GET /feeds/lowtech/searchclan.php?search= $+ $sock($sockname).mark $+ &type=2 HTTP/1.1
sockwrite -nt $sockname Host: www.runehead.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:ClanI.*:{
if ($sockerr) { dialog -m SockErr SockErr | sockclose $sockname | halt }
else {
var %clanI
sockread %ClanI
if (*Not found* iswm %ClanI) {
did -ra Clan 13 $+(",$sock($sockname).mark,") was not found.
sockclose $sockname
halt
}
else {
if (*clan|* iswm %ClanI) {
var %ClanINameIni $gettok(%ClanI,5,124)
var %ClanIName $gettok(%ClanI,1,124)
var %ClanIMembers $gettok(%ClanI,6,124)
did -a Clan 13 $+($calc($did(Clan,13).lines + 1),.) $+([,%ClanINameIni,]) %ClanIName $+($chr(40),%ClanIMembers,$chr(32),members,$chr(41))
}
}
}
}
on *:SOCKCLOSE:ClanI.*:{
sockclose $sockname
}
alias nohtml return $regsubex($regsubex($regsubex($1-,/(^[^<]+|<.*>|<[^>]+$|&[^#].*;)/gU,),/\G $+ $chr(9) $+ /gE,),/(.*);/gU,$chr(\1)))
on *:SOCKCLOSE:Price.*:{
sockclose $sockname
}
dialog SockErr {
title "Socket Error"
size -1 -1 67 47
option dbu
text "- Error -", 1, 19 8 27 8, center
text "Socket error, try again", 2, 3 19 60 8, center
button "Cancel", 3, 15 33 37 10, cancel
}
dialog NoUser {
title "Error - No Username"
size -1 -1 67 47
option dbu
text "- Error -", 1, 21 6 19 8, center
box "", 2, 1 -1 65 46
text "No User Specified.", 3, 5 20 54 8, center
button "Cancel", 4, 13 32 37 8, cancel
}
dialog TooLongError {
title "Error"
size -1 -1 90 54
option dbu
text "- Error -", 1, 31 7 25 8, center
text "Username is too long", 2, 12 22 62 8, center
button "Cancel", 3, 26 37 37 12, cancel
}
dialog NoClan {
title "Clan"
size -1 -1 67 47
option dbu
text "- Error -", 1, 21 6 19 8, center
box "", 2, 1 -1 65 46
text "No Clan specified.", 3, 5 20 54 8, center
button "Cancel", 4, 13 32 37 8, cancel
} |