Guest

Untitled

By: a guest on Jan 28th, 2012  |  syntax: None  |  size: 8.25 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. alias -l _input $iif($input($1-,wo,Error) = $true,,) | dialog -v ftp_ | halt
  2. alias _did $iif($dialog(ftp_),did -ra ftp_ 15,$iif($window(@ftp_upload),aline -c2 $v1 +++)) $1-
  3. alias _len if ($len($1-) >= 20) { return $left($1-,20) $+ .. } | else return $1-
  4. alias _did2 if ($dialog(ftp_)) did - $+ $1 ftp_ 5-9,13,14
  5. alias _file_byte {
  6.   var %_. = $file($1).size
  7.   if (%_. < 1048576) return 9182
  8.   if (%_. > 1048576 && %_. < 3145728) return 18364
  9.   if (%_. > 3145728) return 55092
  10. }
  11. on *:keydown:@ftp_upload:*: {
  12.   if ($keyval = 19) {
  13.     $iif($sock(ftp),sockclose ftp)
  14.     $iif($sock(ftp2),sockclose ftp2)
  15.     $iif($hget(_ftp),hfree _ftp)
  16.     unset %_sfile
  17.     window -c $target
  18.   }
  19. }
  20. on *:load: {
  21.   var %e = echo -ac info +++
  22.   %e FTP Upload v1.0Beta by Lenoox & Kin loaded.
  23.   %e Usage: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <port> <prefix>
  24.   %e Dialog for: /sendfile d
  25.   %e window for: /sendfile c <address> <port> <username> <password> <prefix>
  26.   %e window Sample: /sendfile c insaneboard.comeze.com username password /public_ftp 21
  27.   linesep
  28.   %e (Lenoox) - http://www.insaneboard.comeze.com - 27/01/2012
  29. }
  30. on *:close:@ftp_upload: {
  31.   $iif($sock(ftp),sockclose ftp)
  32.   $iif($sock(ftp2),sockclose ftp2)
  33.   $iif($hget(_ftp),hfree _ftp)
  34.   unset %_sfile
  35. }
  36. menu status,menubar {
  37.   FTP Upload v1.0Beta
  38.   .Run: if ($dialog(ftp_)) return | sendfile d
  39.   .About:echo -aec info +++ (Lenoox) - http://www.insaneboard.comeze.com/forum/viewthread.php?thread_id=15 - 27/01/2012
  40. }
  41. dialog -l ftp_ {
  42.   title "FTP Upload"
  43.   size -1 -1 94 117
  44.   option dbu
  45.   text "FTP Address:", 1, 5 7 34 8
  46.   text "userName:", 2, 5 17 34 8
  47.   text "Password/login:", 3, 5 27 34 8
  48.   text "Port(21):", 4, 5 37 34 8
  49.   edit "", 5, 41 6 50 10, autohs
  50.   edit "", 6, 41 16 50 10
  51.   edit "", 7, 41 26 50 10, pass
  52.   edit "", 8, 41 36 50 10
  53.   button "Select the file to be sent", 9, 4 47 86 10, flat
  54.   text "", 10, 4 60 86 8, center
  55.   text "Destination Folder:", 12, 5 71 34 8
  56.   edit "", 13, 41 70 50 10
  57.   button "Download", 14, 4 82 86 10, flat
  58.   text "", 15, 4 106 86 8, center
  59.   button "Cancel", 16, 4 94 86 10, flat
  60. }
  61. alias sendfile {
  62.   if (!$1) {
  63.     echo -aec info +++ Err: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> [port]
  64.     return
  65.   }
  66.   if ($sock(ftp)) sockclose ftp
  67.   if ($sock(ftp2)) sockclose ftp2
  68.   if ($1 = d) $iif(!$dialog(ftp_),dialog -mdi ftp_ ftp_,_input Dialog already open.)
  69.   if ($1 = c) {
  70.     if (!$6) {
  71.       $iif($dialog(_ftp),dialog -c _ftp)
  72.       echo -aec info +++ Err: /sendfile <d(ialog)|c(ommand)> <address> <username> <password> <port> <prefix>
  73.       return                
  74.     }
  75.     $iif(!$window(@ftp_upload),window -aCldk0 +l @ftp_upload -1 -1 300 300)
  76.     $iif($window(@ftp_upload),clear $v1)
  77.     $iif($dialog(ftp_),dialog -c $v1 $v1)
  78.     %_sfile = $sfile($mircdir,Choose save the file to be sent, the Select)
  79.     if (!%_sfile) {
  80.       if ($window(@ftp_upload)) aline -c2 @ftp_upload File was selected to be sent.
  81.       return
  82.     }
  83.     else {
  84.       sockopen ftp $2 $iif($6,$6,21)
  85.       var %_h = hadd -m _ftp
  86.       %_h _user $3
  87.       %_h _pass $4
  88.       %_h _file $shortfn(%_sfile)
  89.       %_h dir $iif($5,$5,/)
  90.     }
  91.   }
  92. }
  93. on *:dialog:ftp_:*:*: {
  94.   if ($devent = close) {
  95.     $iif($sock(ftp),sockclose ftp)
  96.     $iif($sock(ftp2),sockclose ftp2)
  97.     $iif($hget(_ftp),hfree _ftp)
  98.     unset %_sfile
  99.   }
  100.   if ($devent = init) {
  101.     $iif($window(@ftp_upload),window -c $v1)
  102.     did -a $dname 10 File was selected to be sent.
  103.     did -a $dname 15 Status: No Transfer.
  104.     did -a $dname 8 21
  105.   }
  106.   if ($devent = sclick) {
  107.     if ($did = 16) {
  108.       $iif($sock(ftp),sockclose ftp)
  109.       $iif($sock(ftp2),sockclose ftp2)
  110.       $iif($hget(_ftp),hfree _ftp)
  111.       _did2 b
  112.       dialog -c ftp_ ftp_
  113.     }
  114.     if ($did = 9) {
  115.       %_sfile = $sfile($mircdir,Choose save the file to be sent, the Select)
  116.       if (!%_sfile) {
  117.         did -a $dname 10 File was selected to be sent.
  118.         return
  119.       }
  120.       else did -ra $dname 10 Dosya: $_len($nopath(%_sfile))
  121.     }
  122.     if ($did = 14) {
  123.       if (!$did($dname,5)) _input enter the address. $crlf $+ Example: insaneboard.comeze.com
  124.       if (!$did($dname,6)) _input Your user name
  125.       if (!$did($dname,7)) _input enter a password.
  126.       if (!$did($dname,8)) {
  127.         hadd -m _ftp port 21
  128.         did -a $dname 8 21
  129.       }
  130.       else {
  131.         if ($did($dname,8) !isnum) _input Port consists of only digits. $crlf $+ For example, in: FTP for 21
  132.       }
  133.       if (!$did($dname,13)) _input Choose the destination folder. $crlf $+ Example: /www - /public_ftp -  : /
  134.       if (!%_sfile) _input Choose save the file to be sent.
  135.       if (%_sfile && $did($dname,5) && $did($dname,6) && $did($dname,7) && $did($dname,8) && $did($dname,13)) {
  136.         $iif($sock(ftp),sockclose ftp)
  137.         $iif($sock(ftp2),sockclose ftp2)
  138.         $iif($hget(_ftp),hfree _ftp)
  139.         hadd -m _ftp _file $shortfn(%_sfile)
  140.         hadd -m _ftp address $did($dname,5)
  141.         hadd -m _ftp _user $did($dname,6)
  142.         hadd -m _ftp _pass $did($dname,7)
  143.         hadd -m _ftp port $did($dname,8)
  144.         hadd -m _ftp dir $did($dname,13)
  145.         sockopen ftp $hget(_ftp,address) $iif($hget(_ftp,port),$v1,21)
  146.         did -ra $dname 15 Status: connection is established..
  147.         _did2 b
  148.       }
  149.     }
  150.   }
  151. }
  152. on *:sockopen:ftp: {
  153.   if ($sockerr) {
  154.     _did Status: Connecting to
  155.     _did2 e
  156.     return
  157.   }
  158. }
  159. on *:sockread:ftp: {
  160.   if ($sockerr) {
  161.     _did2 e
  162.     _did Connection to the network success.
  163.     return
  164.   }
  165.   sockread %_data
  166.   while ($sockbr) {
  167.     var %_raw = $token(%_data,1,32)
  168.     if (%_raw = 220) {
  169.       sockwrite -n $sockname user $hget(_ftp,_user)
  170.       _did User's name was entered.
  171.     }
  172.     if (%_raw = 331) {
  173.       sockwrite -n $sockname pass $hget(_ftp,_pass)
  174.       _did Password has been entered, is expected to..
  175.     }
  176.     if (%_raw = 230) {
  177.       sockwrite -n $sockname TYPE I
  178.       _did Connection to the network has been verified.
  179.     }
  180.     if (%_raw = 200) sockwrite -n $sockname PASV
  181.     if (%_raw = 227) {
  182.       _did Was passed to the passive mode.
  183.       var %s = $remove($token(%_data,-1,32),$chr(40),$chr(41))
  184.       var %port = $token(%_data,5,44), %port2 = $token(%_data,6,44)
  185.       var %port3 = $calc((%port * 2^8) + %port2)
  186.       var %s = $replace($token(%s,1-4,44),$chr(44),$chr(46))
  187.       sockopen ftp2 %s %port3
  188.       sockwrite -n $sockname CWD $iif($hget(_ftp,dir),$v1,/)
  189.     }
  190.     if (%_raw = 250) {
  191.       sockwrite -n $sockname STOR $nopath($longfn($hget(_ftp,_file)))
  192.       _did The directory was selected: $token(%_data,-1,32)
  193.       if ($window(@ftp_upload)) {
  194.         aline -c2 $v1 +++ file: $_len($nopath(%_sfile)) / $bytes($file(%_sfile).size).suf
  195.       }
  196.     }
  197.     if (%_raw = 150) {
  198.       _did Data transmission was accepted.
  199.       %=t = $ctime
  200.       var %_pos = 0, %file = $hget(_ftp,_file)
  201.       bread %file %_pos $_file_byte(%file) &_file
  202.       sockwrite ftp2 &_file
  203.       hadd -m pos pos $calc(%pos + $bvar(&_file,0))
  204.     }
  205.     if (%_raw = 530) {
  206.       _did Identity verification success
  207.       _did2 e
  208.       .timer 1 2 _did Broken connections for Geographical.
  209.     }
  210.     if (%_raw = 226) {
  211.       _did The file is loaded.
  212.       _did load time: $duration($calc($ctime - %=t),3)
  213.       _did2 e
  214.       $iif($hget(_ftp),hfree $v1)
  215.     }
  216.     if (%_raw = 221) .timer 1 2 _did Log output was.
  217.     sockread %_data
  218.   }
  219.   if (%_raw = 550) {
  220.     _did Directory not found.
  221.     _did2 e
  222.     $iif($sock(ftp),sockclose ftp)
  223.     $iif($sock(ftp2),sockclose ftp2)
  224.     _did Was not connected to
  225.   }
  226. }
  227. on *:sockwrite:ftp2:{
  228.   if ($sockerr) {
  229.     _did Export problem occurred.
  230.     _did2 e
  231.     return
  232.   }
  233.   var %_pos = $hget(pos,pos), %_file = $hget(_ftp,_file)
  234.   var %_p1 = $+(%,$round($calc((%_pos * 100)/ $file(%_file).size),1))
  235.   var %_s = $bytes(%_pos,3).suf / $bytes($file(%_file).size,3).suf
  236.   if ($dialog(ftp_)) did -ra ftp_ 15 load.. ( $+ %_p1 $+ ) - %_s
  237.   if ($window(@ftp_upload)) {
  238.     var %l = $line($v1,0) - 1
  239.     rline -c2 $v1 $calc(%l +1) ++++ load.. ( $+ %_p1 $+ ) - %_s
  240.   }
  241.   if (%_pos < $file(%_file).size) {
  242.     bread %_file %_pos $_file_byte(%_file) &_file
  243.     sockwrite $sockname &_file
  244.     hadd -m pos pos $calc(%_pos + $bvar(&_file,0))
  245.   }
  246.   else {
  247.     sockclose $sockname
  248.     sockwrite -n ftp QUIT
  249.   }
  250. }