#!/usr/bin/perl # download.pl # Start downloading some file, and update the .down file with its progress $no_acl_check++; require './updown-lib.pl'; $down = &get_download($ARGV[0]); $down || die "Download ID $ARGV[0] does not exist!"; &can_write_file($down->{'dir'}) || die "Cannot download files to $down->{'dir'}"; # Do the download, updating the config file with progress $down->{'pid'} = $$; &save_download($down); $error = &do_download($down, \&download_callback, \@paths); $down->{'complete'} = 1; $down->{'error'} = $error if ($error); &save_download($down); sub download_callback { if ($_[0] == 1) { # Started ok delete($down->{'size'}); delete($down->{'got'}); delete($down->{'finished'}); $lastupdate = 0; $lastpercent = 0; } elsif ($_[0] == 2) { # Got size $down->{'size'} = $_[1]; } elsif ($_[0] == 3) { # Got some data. Only update the status file every 10 seconds or when # a percent of data is received $down->{'got'} = $_[1]; if ($down->{'size'}) { $percent = int($down->{'got'}*100/$down->{'size'}); $now = time(); return if ($percent <= $lastpercent && $now < $lastupdate + 10); $lastupdate = $now; $lastpercent = $percent; } } elsif ($_[0] == 4) { # All done $down->{'finished'} = 1; $down->{'total'} += $down->{'got'}; } elsif ($_[0] == 5) { # Redirecting to new URL } &switch_uid_back(); &save_download($down); &switch_uid_to($down->{'uid'}, $down->{'gid'}); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 876 B | 0644 |
|
acl_security.pl | File | 1.74 KB | 0755 |
|
cancel.cgi | File | 850 B | 0755 |
|
config | File | 34 B | 0644 |
|
config.info.ca | File | 376 B | 0644 |
|
config.info.cz | File | 0 B | 0644 |
|
defaultacl | File | 42 B | 0644 |
|
download.cgi | File | 4.58 KB | 0755 |
|
download.pl | File | 1.39 KB | 0755 |
|
fetch.cgi | File | 3.1 KB | 0755 |
|
index.cgi | File | 7.05 KB | 0755 |
|
log_parser.pl | File | 986 B | 0755 |
|
module.info | File | 210 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 179 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 250 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 289 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 293 B | 0644 |
|
module.info.ca | File | 168 B | 0644 |
|
module.info.ca.auto | File | 20 B | 0644 |
|
module.info.cs | File | 30 B | 0644 |
|
module.info.cs.auto | File | 144 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 183 B | 0644 |
|
module.info.de | File | 174 B | 0644 |
|
module.info.de.auto | File | 19 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 334 B | 0644 |
|
module.info.es | File | 27 B | 0644 |
|
module.info.es.auto | File | 152 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 180 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 267 B | 0644 |
|
module.info.fi | File | 27 B | 0644 |
|
module.info.fi.auto | File | 137 B | 0644 |
|
module.info.fr | File | 38 B | 0644 |
|
module.info.fr.auto | File | 166 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 207 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 165 B | 0644 |
|
module.info.hu | File | 32 B | 0644 |
|
module.info.hu.auto | File | 159 B | 0644 |
|
module.info.it | File | 26 B | 0644 |
|
module.info.it.auto | File | 130 B | 0644 |
|
module.info.ja | File | 48 B | 0644 |
|
module.info.ja.auto | File | 217 B | 0644 |
|
module.info.ko | File | 31 B | 0644 |
|
module.info.ko.auto | File | 170 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 167 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 214 B | 0644 |
|
module.info.ms | File | 191 B | 0644 |
|
module.info.ms.auto | File | 19 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 169 B | 0644 |
|
module.info.nl | File | 31 B | 0644 |
|
module.info.nl.auto | File | 155 B | 0644 |
|
module.info.no | File | 33 B | 0644 |
|
module.info.no.auto | File | 158 B | 0644 |
|
module.info.pl | File | 147 B | 0644 |
|
module.info.pl.auto | File | 20 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 176 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 185 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 191 B | 0644 |
|
module.info.ru | File | 49 B | 0644 |
|
module.info.ru.auto | File | 256 B | 0644 |
|
module.info.sk | File | 26 B | 0644 |
|
module.info.sk.auto | File | 145 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 159 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 190 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 372 B | 0644 |
|
module.info.tr | File | 29 B | 0644 |
|
module.info.tr.auto | File | 144 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 317 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 299 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 211 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 142 B | 0644 |
|
module.info.zh_TW | File | 27 B | 0644 |
|
module.info.zh_TW.auto | File | 127 B | 0644 |
|
safeacl | File | 28 B | 0644 |
|
uninstall.pl | File | 340 B | 0755 |
|
updown-lib.pl | File | 7.44 KB | 0755 |
|
upload.cgi | File | 6.42 KB | 0755 |
|