--- loncom/interface/londocs.pm 2003/10/22 21:41:11 1.88 +++ loncom/interface/londocs.pm 2003/10/28 00:31:02 1.89 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.88 2003/10/22 21:41:11 www Exp $ +# $Id: londocs.pm,v 1.89 2003/10/28 00:31:02 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -570,58 +570,68 @@ sub verifycontent { sub checkversions { my $r=shift; - $r->print('Check Versions'. + $r->print('Check Versions'. &Apache::loncommon::bodytag('Check Course Document Versions')); - $hashtied=0; - &tiehash(); - my %changes=&Apache::lonnet::dump - ('versionupdate',$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, + $hashtied=0; + &tiehash(); + my $header=''; + my $startsel=''; + my $monthsel=''; + my $weeksel=''; + my $daysel=''; + my $allsel=''; + my %changes=(); + my $starttime=0; + if ($ENV{'form.timerange'} eq 'all') { +# show all documents + $header=&mt('All Documents in Course'); + } else { +# show documents which changed + %changes=&Apache::lonnet::dump + ('versionupdate',$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); - my $firstkey=(keys %changes)[0]; - unless ($firstkey=~/^error\:/) { - unless ($ENV{'form.timerange'}) { - $ENV{'form.timerange'}=604800; - } - my $seltext=&mt('during the last').' '.$ENV{'form.timerange'}.' ' - .&mt('seconds'); - my $startsel=''; - my $monthsel=''; - my $weeksel=''; - my $daysel=''; - my $allsel=''; - if ($ENV{'form.timerange'}==-1) { - $seltext='since start of course'; - $startsel='selected'; - $ENV{'form.timerange'}=time; - } - my $starttime=time-$ENV{'form.timerange'}; - if ($ENV{'form.timerange'}==2592000) { - $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; - $monthsel='selected'; - } elsif ($ENV{'form.timerange'}==604800) { - $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; - $weeksel='selected'; - } elsif ($ENV{'form.timerange'}==86400) { - $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; - $daysel='selected'; - } elsif ($ENV{'form.timerange'} eq 'all') { - $allsel='all'; - } - my %lt=&Apache::lonlocal::texthash + my $firstkey=(keys %changes)[0]; + unless ($firstkey=~/^error\:/) { + unless ($ENV{'form.timerange'}) { + $ENV{'form.timerange'}=604800; + } + my $seltext=&mt('during the last').' '.$ENV{'form.timerange'}.' ' + .&mt('seconds'); + if ($ENV{'form.timerange'}==-1) { + $seltext='since start of course'; + $startsel='selected'; + $ENV{'form.timerange'}=time; + } + $starttime=time-$ENV{'form.timerange'}; + if ($ENV{'form.timerange'}==2592000) { + $seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; + $monthsel='selected'; + } elsif ($ENV{'form.timerange'}==604800) { + $seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; + $weeksel='selected'; + } elsif ($ENV{'form.timerange'}==86400) { + $seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; + $daysel='selected'; + } + $header=&mt('Content changed').' '.$seltext; + } else { + $header=&mt('No content modifications yet.'); + } + } + my %lt=&Apache::lonlocal::texthash ('st' => 'Version changes since start of Course', 'lm' => 'Version changes since last Month', 'lw' => 'Version changes since last Week', 'sy' => 'Version changes since Yesterday', 'al' => 'All Resources', 'sd' => 'Display', - 'cc' => 'Content changed', 'fi' => 'File', 'md' => 'Modification Date', 'mr' => 'Most recently published Version', 've' => 'Version used in Course', 'vu' => 'Set Version to be used in Course', 'di' => 'Differences'); - $r->print(<print(< -

$lt{'cc'} $seltext

+

$header

ENDHEADERS - foreach (keys %changes) { - if ($changes{$_}>$starttime) { - my ($root,$extension)=($_=~/^(.*)\.(\w+)$/); - my $currentversion=&Apache::lonnet::getversion($_); - my $linkurl=&Apache::lonnet::clutter($_); - $r->print( - ''); - } - } - $r->print('
$lt{'fi'}$lt{'md'}$lt{'mr'} $lt{'ve'}$lt{'vu'}$lt{'di'}
'.$linkurl. - ''. - &Apache::lonlocal::locallocaltime($changes{$_}). + foreach (keys %changes) { + if ($changes{$_}>$starttime) { + my ($root,$extension)=($_=~/^(.*)\.(\w+)$/); + my $currentversion=&Apache::lonnet::getversion($_); + my $linkurl=&Apache::lonnet::clutter($_); + $r->print( + '
'.$linkurl. + ''. + &Apache::lonlocal::locallocaltime($changes{$_}). ''. - $currentversion.''); + $currentversion.''); # Used in course - my $usedversion=$hash{'version_'.$linkurl}; - if ($usedversion) { - $r->print($usedversion); - } else { - $r->print($currentversion); - } - $r->print(''); + my $usedversion=$hash{'version_'.$linkurl}; + if ($usedversion) { + $r->print($usedversion); + } else { + $r->print($currentversion); + } + $r->print(''); # Set version - $r->print(&Apache::loncommon::select_form($usedversion, - 'set_version_'.$linkurl, - ('' => '', - 'current' => 'current', - map {$_,$_} (1..$currentversion)))); - $r->print(''); - my $lastold=1; - for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { - my $url=$root.'.'.$prevvers.'.'.$extension; - if (&Apache::lonnet::metadata($url,'lastrevisiondate')< - $starttime) { - $lastold=$prevvers; - } - } + $r->print(&Apache::loncommon::select_form($usedversion, + 'set_version_'.$linkurl, + ('' => '', + 'current' => 'current', + map {$_,$_} (1..$currentversion)))); + $r->print(''); + my $lastold=1; + for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { + my $url=$root.'.'.$prevvers.'.'.$extension; + if (&Apache::lonnet::metadata($url,'lastrevisiondate')< + $starttime) { + $lastold=$prevvers; + } + } for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { - my $url=$root.'.'.$prevvers.'.'.$extension; - $r->print(''.&mt('Version').' '.$prevvers.' ('. - &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')). - ')'); - if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { + my $url=$root.'.'.$prevvers.'.'.$extension; + $r->print(''.&mt('Version').' '.$prevvers.' ('. + &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')). + ')'); + if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { $r->print(' '.&mt('Diffs').''); - } - $r->print('
'); - } - $r->print('
'); - $r->print('

'.&mt('Done').'.

'); - } else { - $r->print('

'.&mt('No content modifications yet.').'

'); - } - &untiehash(); + &Apache::lonnet::clutter($root.'.'.$extension). + '&versionone='.$prevvers. + '">'.&mt('Diffs').''); + } + $r->print('
'); + } + $r->print(''); + } + } + $r->print(''); + $r->print('

'.&mt('Done').'.

'); + + &untiehash(); } # ================================================================ Main Handler