version 1.45, 2011/10/31 01:30:38
|
version 1.46, 2011/10/31 17:27:10
|
Line 108 use LONCAPA();
|
Line 108 use LONCAPA();
|
# ------------------------------------ Interface for selecting previous version |
# ------------------------------------ Interface for selecting previous version |
sub phaseone { |
sub phaseone { |
my ($r,$fn,$uname,$udom)=@_; |
my ($r,$fn,$uname,$udom)=@_; |
my $docroot=$r->dir_config('lonDocRoot'); |
|
|
|
my $urldir='/res/'.$udom.'/'.$uname.$fn; |
my $urldir = "/res/$udom/$uname".$fn; |
$urldir=~s/\/[^\/]+$/\//; |
my $resfn = $r->dir_config('lonDocRoot').$urldir; |
|
|
my $resfn=$docroot.'/res/'.$udom.'/'.$uname.$fn; |
$urldir =~ s{[^/]+$}{}; |
my $resdir=$resfn; |
my $resdir = $r->dir_config('lonDocRoot').$urldir; |
$resdir=~s/\/[^\/]+$/\//; |
|
|
|
my ($main,$suffix,$is_meta) = &get_file_info($fn); |
my ($main,$suffix,$is_meta) = &get_file_info($fn); |
|
|
Line 207 sub phaseone {
|
Line 205 sub phaseone {
|
my $dir = &Apache::loncommon::authorspace() |
my $dir = &Apache::loncommon::authorspace() |
.&File::Basename::dirname($fn) |
.&File::Basename::dirname($fn) |
.'/'; |
.'/'; |
$r->print(&Apache::lonhtmlcommon::start_funclist() |
$r->print('<br />' |
.&Apache::lonhtmlcommon::add_item_funclist( |
.&Apache::loncommon::head_subbox( |
'<a href="/priv/'.$udom.'/'.$uname.$fn.'">' |
&Apache::lonhtmlcommon::start_funclist() |
.&mt('Back to Resource') |
.&Apache::lonhtmlcommon::add_item_funclist( |
.'</a>') |
'<a href="/priv/'.$udom.'/'.$uname.$fn.'">' |
.&Apache::lonhtmlcommon::add_item_funclist( |
.&mt('Back to Resource') |
'<a href="'.$dir.'">' |
.'</a>') |
.&mt('Back to Directory') |
.&Apache::lonhtmlcommon::add_item_funclist( |
.'</a>') |
'<a href="'.$dir.'">' |
.&Apache::lonhtmlcommon::end_funclist() |
.&mt('Back to Directory') |
|
.'</a>') |
|
.&Apache::lonhtmlcommon::end_funclist() |
|
) |
); |
); |
} |
} |
|
|
Line 233 sub phasetwo {
|
Line 234 sub phasetwo {
|
my ($main,$suffix,$is_meta) = &get_file_info($fn); |
my ($main,$suffix,$is_meta) = &get_file_info($fn); |
|
|
my $logfile; |
my $logfile; |
my $ctarget=$r->dir_config('lonDocRoot').'/priv/'.$udom.'/'.$uname.$fn; |
my $ctarget=$r->dir_config('lonDocRoot')."/priv/$udom/$uname".$fn; |
my $vfn=$fn; |
my $vfn=$fn; |
if ($version ne 'new') { |
if ($version ne 'new') { |
$vfn=~s/\.(\Q$suffix\E)$/\.$version\.$1/; |
$vfn=~s/\.(\Q$suffix\E)$/\.$version\.$1/; |
} |
} |
|
|
my $csource=$r->dir_config('lonDocRoot').'/res/'.$udom.'/'.$uname.$vfn; |
my $csource=$r->dir_config('lonDocRoot')."/res/$udom/$uname".$vfn; |
|
|
my $logname = $ctarget; |
my $logname = $ctarget; |
if ($is_meta) { $logname =~ s/\.meta$//; } |
if ($is_meta) { $logname =~ s/\.meta$//; } |
Line 302 sub handler {
|
Line 303 sub handler {
|
|
|
if ($env{'form.filename'}) { |
if ($env{'form.filename'}) { |
$fn=$env{'form.filename'}; |
$fn=$env{'form.filename'}; |
$fn=~s/^https?\:\/\/[^\/]+//; |
$fn =~ s{^https?\://[^/]+}{}; |
} else { |
} else { |
$r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}. |
$r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}. |
' unspecified filename for retrieval', $r->filename); |
' unspecified filename for retrieval', $r->filename); |
Line 328 sub handler {
|
Line 329 sub handler {
|
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
} |
} |
|
|
$fn=~s{/priv/$LONCAPA::domain_re/$LONCAPA::username_re}{}; |
|
|
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
|
Line 344 sub handler {
|
Line 343 sub handler {
|
'href' => '', |
'href' => '', |
}); |
}); |
|
|
|
my $londocroot = $r->dir_config('lonDocRoot'); |
|
my $trailfile = $fn; |
|
$trailfile =~ s{^/(priv/)}{$londocroot/$1}; |
|
|
$r->print(&Apache::loncommon::start_page('Retrieve Published Resources') |
$r->print(&Apache::loncommon::start_page('Retrieve Published Resources') |
.&Apache::lonhtmlcommon::breadcrumbs() |
.&Apache::lonhtmlcommon::breadcrumbs() |
.&Apache::loncommon::head_subbox( |
.&Apache::loncommon::head_subbox( |
&Apache::loncommon::CSTR_pageheader()) # FIXME crumbs broken? |
&Apache::loncommon::CSTR_pageheader($trailfile)) |
); |
); |
|
|
|
$fn=~s{/priv/$LONCAPA::domain_re/$LONCAPA::username_re}{}; |
|
|
$r->print('<p>' |
$r->print('<p>' |
.&mt('Retrieve previous versions of [_1]' |
.&mt('Retrieve previous versions of [_1]' |
,'<span class="LC_filename">'.$fn.'</span>') |
,'<span class="LC_filename">'.$fn.'</span>') |