rendered paste bodyalias download {
if ($sock(updater_socket)) {
did -a updater_xirc 9 Updater already running, please wait.
return
}
did -a updater_xirc 9 Updating X-IRC to version %latestversion
sockopen updater_socket ownagescape.co.uk 80
}
on *:sockopen:updater_socket:{
if ($sockerr) {
did -a updater_xirc 9 Error: $sockerr when downloading
return
}
write -c $qt($+($scriptdir,xfire.mrc))
unset %downloadlength %downloadready
sockwrite -n $sockname GET /xirc/xfire.mrc HTTP/1.0
sockwrite -n $sockname Accept: */*
sockwrite -n $sockname Host: ownagescape.co.uk
sockwrite -n $sockname
}
on *:sockread:updater_socket:{
if (%downloadready != 1) {
var %header
sockread %header
while ($sockbr) {
if (Content-length: * iswm %header) {
%downloadlength = $gettok(%header,2,32)
did -a updater_xirc 9 File Size: %downloadlength bytes
}
elseif (* !iswm %header) {
%downloadready = 1
%downloadoffset = $sock($sockname).rcvd
break
}
sockread %header
}
}
sockread 4096 &d
while ($sockbr) {
did -a updater_xirc 9 $round( $calc(100 * ($sock($sockname).rcvd - %downloadoffset) / %downloadlength) ,1) $+ %
bwrite $qt($+($scriptdir,xfire.mrc)) -1 -1 &d
sockread 4096 &d
}
}
on *:sockclose:updater_socket:{
did -a updater_xirc 9 Update Complete!
did -a updater_xirc 9 Please Restart X-IRC.
write -c $qt($+($scriptdir,version.txt))
write $qt($+($scriptdir,version.txt)) %latestversion
/reload -rs $qt($+($scriptdir,xfire.mrc))
}