version 1.1, 2004/03/31 16:12:08
|
version 1.9, 2006/12/20 22:41:07
|
Line 28 package Apache::lonuploadrep;
|
Line 28 package Apache::lonuploadrep;
|
|
|
use strict; |
use strict; |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
use Apache::lonnet(); |
use Apache::lonrep(); |
|
use Apache::lonnet; |
use CGI::Cookie(); |
use CGI::Cookie(); |
|
use LONCAPA(); |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
if ($r->uri =~m|^/*uploaded/(\w+)/(\w+)/(.+)$|) { |
if ($r->uri =~m{^/*uploaded/($LONCAPA::domain_re)/($LONCAPA::name_re)/(.+)$}) { |
|
my $chome=&Apache::lonnet::homeserver($2,$1); |
|
my @ids=&Apache::lonnet::current_machine_ids(); |
|
foreach my $id (@ids) { if ($id eq $chome) { return OK; } } |
my $filename = $Apache::lonnet::perlvar{'lonDocRoot'}.'/userfiles/'.$1.'/'.$2.'/'.$3; |
my $filename = $Apache::lonnet::perlvar{'lonDocRoot'}.'/userfiles/'.$1.'/'.$2.'/'.$3; |
my ($info, $rtncode); |
my ($info, $rtncode); |
if (-f $filename) { |
if (-f $filename) { |
Line 43 sub handler {
|
Line 48 sub handler {
|
} elsif ( ($info > 0) && ($info =~ /\d+/) ) { |
} elsif ( ($info > 0) && ($info =~ /\d+/) ) { |
my @statinfo = stat($filename); |
my @statinfo = stat($filename); |
if ($statinfo[9] >= $info ) { |
if ($statinfo[9] >= $info ) { |
$r->filename($filename); |
&Apache::lonrep::update_filename($r,$filename); |
return OK; |
return OK; |
} |
} |
} |
} |
} |
} |
my $response=&Apache::lonnet::getfile($r->uri,'uploadrep'); |
my $response=&Apache::lonnet::repcopy_userfile($r->uri); |
if ($response eq 'ok') { |
if ($response eq 'ok') { |
$r->filename($filename); |
&Apache::lonrep::update_filename($r,$filename); |
return OK; |
return OK; |
} |
} |
} |
} |