version 1.2, 2004/04/01 17:36:53
|
version 1.8, 2006/08/21 15:21:31
|
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(); |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
if ($r->uri =~m|^/*uploaded/(\w+)/(\w+)/(.+)$|) { |
if ($r->uri =~m|^/*uploaded/(\w+)/(\w+)/(.+)$|) { |
my $chome=&Apache::lonnet::homeserver($2,$1); |
my $chome=&Apache::lonnet::homeserver($2,$1); |
if ($chome eq $Apache::lonnet::perlvar{'lonHostID'}) { return OK; } |
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 45 sub handler {
|
Line 47 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; |
} |
} |
} |
} |