Loading

Getsource

  1. alias getsource {
  2.   var %i $iif(http://* !iswm $1,http://) $+ $1, $&
  3.     %comName getSource. $+ $ticks, $&
  4.     %fname $qt($mircdir $+ %comName $+ .txt)
  5.   if ($0 == 1) {
  6.     .comopen %comName msxml2.xmlhttp
  7.     noop $com(%comName,Open,1,bstr,GET,bstr,%i,bool,false)
  8.     noop $com(%comName,Send,1)
  9.     noop $com(%comName,ResponseText,2)
  10.     var %source $com(%comName).result
  11.     .comclose %comName
  12.     return %source
  13.   }
  14.   elseif (&* !iswm $2) {
  15.     echo $color(info) -e * $!getsource error: Second parameter must be a binary variable
  16.   }
  17.   else {
  18.     .comopen %comName MSScriptControl.ScriptControl
  19.     var %v = $&
  20.       Set xmlhttp = CreateObject("msxml2.xmlhttp") $lf $&
  21.       xmlhttp.open "GET", $qt(%i) , false $lf $&
  22.       xmlhttp.send $lf $&
  23.       Set fso = CreateObject("Scripting.FileSystemObject") $lf $&
  24.       fso.CreateTextFile( %fname ) $lf $&
  25.       Set file = fso.OpenTextFile( %fname , 8, True) $lf $&
  26.       file.WriteLine(xmlhttp.responseText) $lf $&
  27.       file.Close
  28.  
  29.     noop $com(%comName,Language,4,bstr,VBScript) $com(%comName,ExecuteStatement,1,bstr,%v)    
  30.     var %size $file(%fname).size
  31.     bread %fname 0 %size $2
  32.     .remove %fname
  33.     .comclose %comName
  34.     return %size
  35.   }
  36.   :error
  37.   if ($com(%comName)) .comclose %comName
  38.   if ($exists(%fname)) .remove %fname
  39. }

Comments