Reflex — File Browser
Reflexv0.1 / Reflexv0.1 / Reflex / system / scripts / updater.mrc
updater.mrc — 1.84 KB — Download this file
alias check_update {
sockclose update_*
if ($data(update_mirc)) {
sockopen update_mirc mirc.com 80
}
if ($data(update_reflex)) {
download -oh checkreflex $webstr $+ reflex/update.rdf $datdir $cr _check_if_update
}
}
alias _check_if_update {
var %i = 1
while (%i <= $lines($1)) {
var %n = $read($1,%i)
if ($gettok(%n,1,124) > $data(version)) {
if ($data(autoupdate_reflex)) { download -o reflex $gettok(%n,2-,124) $cr _do_update $gettok(%n,1,124) }
else { .timerevent 1 1 _ask_update $gettok(%n,1,124) $gettok(%n,2-,124) }
}
inc %i
}
}
alias _ask_update {
if ($input(A new version of reflex has been found $+ $crlf $+ Would you like to upgrade to $1 now?,y,Reflex Updater)) {
download -o reflex $2- $cr _do_update $1
}
}
alias _do_update {
munpack -b $2-
data version $1
}
on *:sockopen:update_mirc: {
sockwrite -n $sockname GET /get.html HTTP/1.1
sockwrite -n $sockname Accept: */*
sockwrite -n $sockname Host: mirc.com
sockwrite -n $sockname Connection: close
sockwrite -n $sockname
}
on *:sockread:update_mirc: {
var %x
:nextread
sockread %x
if ($sockbr == 0) return
tokenize 32 %x
if ($1- == HTTP/1.1 404 Not Found) { sockclose $sockname | return }
elseif (!$1-) && ($sock($sockname).mark != $true) { sockmark $sockname $true }
elseif ($1-) && ($sock($sockname).mark == $true) {
var %x = *mIRC * in Estonia*
if ($3 == FAQ) { return }
elseif (%x iswm $1-) && ($3 > $version) { .timer -m 1 1 update_found mirc $3 $gettok($2,2,34) | sockclose $sockname }
}
goto nextread
}
alias update_found {
if ($1 == mirc) {
if ($input(A new version of mirc has been found. $+ $crlf $+ Download and install $2 now? ,y,Update Found)) {
download -o mirc $3- $cr run
}
else { data check_mirc $false }
}
}