--- loncom/publisher/lonretrieve.pm 2004/03/11 22:45:06 1.24 +++ loncom/publisher/lonretrieve.pm 2006/04/06 22:15:19 1.30 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to retrieve an old version of a file # -# $Id: lonretrieve.pm,v 1.24 2004/03/11 22:45:06 albertel Exp $ +# $Id: lonretrieve.pm,v 1.30 2006/04/06 22:15:19 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,20 +26,6 @@ # http://www.lon-capa.org/ # # -# (Publication Handler -# -# (TeX Content Handler -# -# YEAR=2000 -# 05/29/00,05/30,10/11 Gerd Kortemeyer) -# -# 11/28,11/29,11/30,12/01,12/02,12/04,12/23 Gerd Kortemeyer -# YEAR=2001 -# 03/23 Guy Albertelli -# 03/24,03/29 Gerd Kortemeyer) -# -# 03/31,04/03,05/02,05/09,06/23,08/20 Gerd Kortemeyer -# ### package Apache::lonretrieve; @@ -51,6 +37,7 @@ use Apache::Constants qw(:common :http : use Apache::loncacc; use Apache::loncommon(); use Apache::lonlocal; +use Apache::lonnet; # ------------------------------------ Interface for selecting previous version sub phaseone { @@ -74,19 +61,24 @@ sub phaseone { ''. '
'.&mt('Select').' | '. &mt('Version').' | '. - ''.&mt('Became this version on ...').' | '. + ''.&mt('Published on ...').' | '. ''.&mt('Metadata').' | |
---|---|---|---|---|---|
'.$version.' | '. + $version.'"> | '.&mt('Previously published version').' '.$version.' | '. localtime($rmtime).' | '. ''. &mt('Metadata Version').' '.$version.''); @@ -101,12 +93,9 @@ sub phaseone { } } closedir(DIR); - my ($rdev,$rino,$rmode,$rnlink, - $ruid,$rgid,$rrdev,$rsize, - $ratime,$rmtime,$rctime, - $rblksize,$rblocks)=stat($resfn); + my $rmtime=&Apache::lonnet::metadata($resfn,'lastrevisiondate'); $r->print(' | |
'. - ' | '.&mt('Current').' | '.localtime($rmtime). + ' | '.&mt('Currently published version').' | '.localtime($rmtime). ' | '.
&mt('Metadata current version').'');
if (&Apache::loncommon::fileembstyle($suffix) eq 'ssi') {
@@ -123,13 +112,15 @@ sub phaseone {
} else {
$r->print(''.&mt('No previous versions published.').''); } + $r->print(''); } # ---------------------------------- Interface for presenting specified version sub phasetwo { my ($r,$fn,$uname,$udom)=@_; - if ($ENV{'form.version'}) { - my $version=$ENV{'form.version'}; + if ($env{'form.version'}) { + my $version=$env{'form.version'}; if ($version eq 'new') { $r->print(''.&mt('Retrieving current (most recent) version').''); } else { @@ -180,17 +171,17 @@ sub handler { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['filename']); - if ($ENV{'form.filename'}) { - $fn=$ENV{'form.filename'}; + if ($env{'form.filename'}) { + $fn=$env{'form.filename'}; $fn=~s/^http\:\/\/[^\/]+//; } 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); return HTTP_NOT_FOUND; } unless ($fn) { - $r->log_reason($ENV{'user.name'}.' at '.$ENV{'user.domain'}. + $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}. ' trying to retrieve non-existing file', $r->filename); return HTTP_NOT_FOUND; } @@ -203,7 +194,7 @@ sub handler { &Apache::loncacc::constructaccess($fn,$r->dir_config('lonDefDomain')); unless (($uname) && ($udom)) { $r->log_reason($uname.' at '.$udom. - ' trying to publish file '.$ENV{'form.filename'}. + ' trying to publish file '.$env{'form.filename'}. ' ('.$fn.') - not authorized', $r->filename); return HTTP_NOT_ACCEPTABLE; @@ -214,27 +205,25 @@ sub handler { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - $r->print(''.&mt('Retrieve previous versions of').' '.$fn.''); - if (($uname ne $ENV{'user.name'}) || ($udom ne $ENV{'user.domain'})) { + if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) { $r->print(''.&mt('Co-Author').': '.$uname. &mt(' at ').$udom. ''); } - if ($ENV{'form.phase'} eq 'two') { + if ($env{'form.phase'} eq 'two') { &phasetwo($r,$fn,$uname,$udom); } else { &phaseone($r,$fn,$uname,$udom); } - $r->print(' |