VoodooFetch — File Browser

VoodooFetchv1.2 / VoodooFetchv1.2 / vdfetch.mrc

vdfetch.mrc — 11.27 KB — Download this file

alias vdfetch { 
  window -eld @VoodooFetch 150 200 500 120 /VoodooFetch @VoodooFetch
  if ($1 != $null) VoodooFetch $1
}

alias VoodooFetch {
  if ($count($1,.) <= 1) { vdfetchrename $1 yes | return }
  if ($count($1,.) <= 0) { rline @Voodoofetch 1 Invalid URL. | return }
  set %vdfetchdltype $readini $scriptdirvdfetch.ini settings downloadtype
  set %vdfetchinput $remove($1-,HTTP://)  
  set %vdfetchdldir $readini $scriptdirvdfetch.ini settings downloaddir
  set %vdfetchtemp $calc($pos(%vdfetchinput,$chr(47),1) -1)
  set %vdfetchaddy $left(%vdfetchinput,%vdfetchtemp)
  set %vdfetchfile $remove(%vdfetchinput,%vdfetchaddy)
  set %vdfetchi 4
  :vdfetchfilename
  inc %vdfetchi
  %vdfetchtemp = $right(%vdfetchinput,%vdfetchi)
  if $chr(47) isin %vdfetchtemp { set %vdfetchfilename $remove(%vdfetchtemp,$chr(47)) | goto next }
  else goto vdfetchfilename
  :next
  set %vdfetchdldirfile %vdfetchdldir $+ %vdfetchfilename
  if ($exists(%vdfetchdldirfile) == $true) { $yesno(vdfetchconfirm,Overwrite Existing File [ %vdfetchfilename ] ??) | return }
  else { vdfetchconfirm yes }
}

alias vdfetchconfirm {
  if ($1 == no) { dline @VoodooFetch 1-5 | rline @VoodooFetch 1 Please rename file }
  else if ($1 == yes) { vdfetchrename %vdfetchfilename yes } 
  else vdfetchrename %vdfetchfilename yes
}

alias vdfetchrename {
  set %vdfetchfilename $1
  set %vdfetchdldirfile %vdfetchdldir $+ $1
  if ($2 == yes) { goto next }
  if ($exists(%vdfetchdldirfile) == $true) { $yesno(vdfetchconfirm,Overwrite Existing File [ %vdfetchfilename ] ??) | return } 
  :next 
  .enable #vdfetchdns #vdfetchfilesize
  .disable #vdfetchfileget #vdfetchtxtget
  .dns %vdfetchaddy
  rline @VoodooFetch 1 Looking up host %vdfetchaddy
  dline @VoodooFetch 2-5
}

alias vdfetchtype {   
  .disable #vdfetchfilesize 
  if (%vdfetchdltype == Auto) {
    if (*html* iswm %vdfetchfiletype) .enable #vdfetchtxtget
    else if (*text* iswm %vdfetchfiletype) .enable #vdfetchtxtget
    else .enable #vdfetchfileget
    goto next
  }
  else if (%vdfetchdltype == Ascii) { .enable #vdfetchtxtget }
  else { .enable #vdfetchfileget }
  :next  
  vdfetchstatus 
  return
}

alias vdfetchstatus {
  if (%vdfetchfilesize == $null) set %vdfetchfilesize ?????
  rline @VoodooFetch 1 Receiving File.... %vdfetchfile
  rline @VoodooFetch 2 Saving as %vdfetchdldir $+ %vdfetchfilename
  rline @VoodooFetch 3 File Size: %vdfetchfilesize Bytes
  .timervdfilesize 0 2 /vdfetchstatusupdate 
  return
}

alias vdfetchstatusupdate {
  inc %vdfetchfileticks 2
  %vdfetchreceived = $sock(vdfetch,1).rcvd
  rline @VoodooFetch 4 -Received: %vdfetchreceived Bytes ( $+ $round($calc((%vdfetchreceived / 1024) / %vdfetchfileticks),2) Kb/s $+ )
  titlebar @VoodooFetch  -Downloading file: %vdfetchfilename ( $+ $int($calc((%vdfetchreceived / %vdfetchfilesize) * 100)) $+ % $+ )
}

alias vdfetchnfo {
  window -a @ScRiPTaZ  
  .disable #vdfetchlistget #vdfetchfileget #vdfetchtxtget
  .enable #vdfetchmotd
  set %vdfetchnfo $right($1,4) 
  set %vdfetchnfo $remove($1,%vdfetchnfo) $+ .nfo
  sockopen nfofetch free.prohosting.com 80
} 


;socket stuff---------------------------

on 1:sockopen:vdfetch:{
  sockwrite -n vdfetch GET %vdfetchfile HTTP/1.1
  sockwrite -n vdfetch HOST: $ip
  sockwrite vdfetch $cr $+ $lf
}

on 1:sockopen:motdfetch:/sockwrite -n motdfetch GET /~scriptaz/#--==ScRiPTaZ==--.motd
on 1:sockopen:listfetch:/window -ldo @VoodooFetch_List 450 320 200 120 /VoodooFetch_List @VoodooFetch_List | sockwrite -n listfetch GET /~scriptaz/filelist.txt
on 1:sockopen:nfofetch:/sockrename nfofetch motdfetch | sockwrite -n motdfetch GET /~scriptaz/ $+ %vdfetchnfo

on 1:sockclose:motdfetch:/.disable #vdfetchmotd
on 1:sockclose:vdfetch: {
  .timervdfilesize off
  set %vdfetchfileticks 0
  rline @VoodooFetch 4 Received: %vdfetchfilesize Bytes
  rline @VoodooFetch 5 Download Complete.
  titlebar @VoodooFetch  -Ready
  unset %vdfetch*
}

#vdfetchfilesize on
on 1:sockread:vdfetch {
  sockread %vdfetchtemp
  if (*404* iswm %vdfetchtemp) { sockclose vdfetch | dline @VoodooFetch 1- | aline @VoodooFetch Error, File not found. | halt }
  if (Content-Length:* iswm %vdfetchtemp) set %vdfetchfilesize $remove(%vdfetchtemp,Content-Length:)
  if (Content-Type:* iswm %vdfetchtemp) set %vdfetchfiletype $remove(%vdfetchtemp,Content-Type:)
  if (%vdfetchtemp = $null) { vdfetchtype | return }
}
#vdfetchfilesize end

#vdfetchdns off
on 1:DNS:{
  if ($raddress == $null) { rline @VoodooFetch 1 Could not resolve %vdfetchaddy | .disable #vdfetchdns }
  else { set %vdfetchip $raddress | write -c %vdfetchdldirfile | sockopen vdfetch %vdfetchip 80  | .disable #vdfetchdns | rline @Voodoofetch 1 Contacting host %vdfetchip }
}
#vdfetchdns end

#vdfetchfileget off
on 1:sockread:vdfetch {
  :begin
  sockread &vdtempvar
  if ($sockbr == 0) { return }  
  bwrite %vdfetchdldirfile -1 &vdtempvar
  goto begin
}
#vdfetchfileget end

#vdfetchtxtget off
on 1:sockread:vdfetch {
  :begin
  sockread %vdtempvar
  if ($sockbr == 0) { return }  
  if (%vdtempvar == $null) write %vdfetchdldirfile $chr(160)
  else write %vdfetchdldirfile %vdtempvar
  goto begin
}
#vdfetchtxtget end

#vdfetchmotd off
on 1:sockread:motdfetch:{
  sockread %vdtempvar
  if (*<HTML>* iswm %vdtempvar) { sockclose motdfetch | aline @ScRiPTaZ 4There is no info file for this script. | halt }  
  if (%vdtempvar == $null) aline @ScRiPTaZ $chr(160)
  else aline @ScRiPTaZ %vdtempvar
}
#vdfetchmotd end

#vdfetchlistget on
on 1:sockread:listfetch:{
  sockread %vdtempvar
  aline @VoodooFetch_List %vdtempvar
}
#vdfetchlistget end

menu @VoodooFetch {
  --==ScRiPTaZ==-- Stuff
  .Get --==ScRiPTaZ==-- MOTD!:/.enable #vdfetchmotd | window -a @ScRiPTaZ | aline @ScRiPTaZ 9Receiving MOTD | sockopen motdfetch free.prohosting.com 80  
  .Get --==ScRiPTaZ==-- script list:/.enable #vdfetchlistget | dline @VoodooFetch 1- | aline @VoodooFetch Getting script list. | sockopen listfetch free.prohosting.com 80  
  -
  Preferences
  .Download Dir ( $+ $readini $scriptdirvdfetch.ini settings downloaddir $+ ):/writeini $scriptdirvdfetch.ini settings downloaddir $sdir[="Select a directory"] 
  .Download mode ( $+ $readini $scriptdirvdfetch.ini settings downloadtype $+ )  
  ..Auto Detect:/writeini $scriptdirvdfetch.ini settings downloadtype Auto
  ..Acsii (txt):/writeini $scriptdirvdfetch.ini settings downloadtype Acsii
  ..Binary:/writeini $scriptdirvdfetch.ini settings downloadtype Binary
  .-
  .Auto View .txt Files ( $+ $readini $scriptdirvdfetch.ini settings viewtxt $+ )
  ..On:/writeini $scriptdirvdfetch.ini settings viewtxt On
  ..Off:/writeini $scriptdirvdfetch.ini settings viewtxt Off
  -
  Stop:/sockclose vdfetch motdfetch listfetch | unset %vdfetch* | timervdfilesize off | set %vdfetchfileticks 0 | dline @VoodooFetch 1-
  -
  About VoodooFetch:/scaboutvoodoofetch
}

menu @VoodooFetch_List {
  dclick:/.disable #vdfetchlistget | vdfetch free.prohosting.com/~scriptaz/ $+ $sline(@VoodooFetch_List,1) | dline @VoodooFetch 1-
  More info:/vdfetchnfo $sline(@VoodooFetch,1) 
  Download now:/.disable #vdfetchlistget | vdfetch free.prohosting.com/~scriptaz/ $+ $sline(@VoodooFetch_List,1) | dline @VoodooFetch 1-
}

menu menubar,status,channel {
  -
  VoodooFetch 1.2:/vdfetch
}

;ABOUT MENU STUFF

alias scaboutVoodooFetch {
  .enable #aboutVoodooFetchsockets
  window -pdo +f @About_VoodooFetch 300 100 175 225 @About_VoodooFetch
  drawrect -f @About_VoodooFetch 15 1 0 0 175 225
  drawrect -f @About_VoodooFetch 1 1 10 172 150 20 
  drawtext -o @About_VoodooFetch 1 Arial 15 10 5 VoodooFetch
  drawtext  @About_VoodooFetch 1 Arial 14 10 20 Version 1.2 Beta
  drawtext  @About_VoodooFetch 1 Arial 14 10 35 Addon script
  drawtext  @About_VoodooFetch 1 Arial 14 10  50 March 8, 1998
  drawtext -o @About_VoodooFetch 1 Arial 15 10 70 By WEIRD_H
  drawtext  @About_VoodooFetch 1 Arial 12 10 87 weirdh@geocities.com
  drawtext  @About_VoodooFetch 1 Arial 12 10 101 weird_h.home.ml.org
  drawtext @About_VoodooFetch 9 Arial 14 22 177 http://scriptaz.home.ml.org 
  drawpic -c @About_VoodooFetch 10 120 $scriptdirminilogo.bmp 
  vuaboutVoodooFetch
}

;Version updater and MOTD getter. 

alias vuaboutVoodooFetch {
  drawrect @About_VoodooFetch 14 5 115 10 45 50
  drawrect -f @About_VoodooFetch 15 1 113 8 45 50
  drawline @About_VoodooFetch 0 2 114 59 114 9 159 9
  drawtext @About_VoodooFetch 1 Arial 12 118 15 Download
  drawtext @About_VoodooFetch 1 Arial 12 122 30 Latest
  drawtext @About_VoodooFetch 1 Arial 12 119 45 Version!
}

menu @About_VoodooFetch {
  mouse:{
    if ($inrect($mouse.x,$mouse.y,10,120,150,40) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 24 177 View message of the day! }
    else if ($inrect($mouse.x,$mouse.y,108,3,50,60) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 23 177 Live version update! Do it! }
    else if ($inrect($mouse.x,$mouse.y,10,172,150,20) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 22 177 http://scriptaz.home.ml.org }
    else halt
  }  
  sclick:{
    if ($inrect($mouse.x,$mouse.y,10,172,150,20) == $true) { run $readini mirc.ini files browser http://scriptaz.home.ml.org }
    else if ($inrect($mouse.x,$mouse.y,10,120,150,40) == $true) { window -a @ScRiPTaZ | sockopen motdfetch free.prohosting.com 80 | aline @ScRiPTaZ 9Receiving MOTD. }
    else if ($inrect($mouse.x,$mouse.y,108,3,50,60) == $true) { window -a @ScRiPTaZ | sockopen updatecheck free.prohosting.com 80 | aline @ScRiPTaZ 9Checking for newer version of VoodooFetch $+ ... }   
    else halt 
  }
}

#aboutVoodooFetchsockets off
on 1:sockopen:motdfetch:/sockwrite -n motdfetch GET /~scriptaz/#--==ScRiPTaZ==--.motd
on 1:sockopen:updatecheck:/sockwrite -n updatecheck GET /~scriptaz/vdfetch.nfo
on 1:sockopen:updatefetch:/sockwrite -n updatefetch GET /scriptaz/vdfetch.zip | aline @ScRiPTaZ 9Downloading %aboutscriptname to $mircdirdownloads $+ .

on 1:sockread:motdfetch:{
  sockread %tempvar
  if (%tempvar == $null) aline @ScRiPTaZ $chr(160)
  else aline @ScRiPTaZ %tempvar
}

on 1:sockread:updatecheck:{
  sockread %tempvar
  if (Version:* iswm %tempvar) set %updateversion $remove(%tempvar,Version:)
  if (%tempvar == $null) aline @ScRiPTaZ $chr(160)  
  else aline @ScRiPTaZ %tempvar
}

on 1:sockread:updatefetch:{
  :begin
  sockread &tempvar
  if ($sockbr == 0) { return }  
  bwrite $scriptdir\vdfetch.zip -1 &tempvar
  goto begin
}

on 1:sockclose:motdfetch:/.disable #aboutVoodooFetchsockets
on 1:sockclose:updatefetch:/disable #aboutVoodooFetchsockets | aline @ScRiPTaZ 9Download of @About version %updateversion complete! | /aline @ScRiPTaZ  9Unzip the file and follow the directions in the readme.txt file. | /aline -p @ScRiPTaZ 4Important! Do not close mIRC untill you load the new script otherwise the new file will be overwritten by the old one! 
on 1:sockclose:updatecheck:{
  .disable #aboutVoodooFetchsockets
  if (%updateversion > 1.2) { aline @ScRiPTaZ 9Current version is higher than your version. Automatic download started. | write -c $scriptdir\vdfetch.zip | sockopen updatefetch free.prohosting.com 80 }
  else aline @ScRiPTaZ 9You have the latest version of this script. Check often for updates!
}
#aboutVoodooFetchsockets end