--- loncom/interface/londocs.pm 2002/10/16 19:15:55 1.29 +++ loncom/interface/londocs.pm 2002/10/18 14:50:22 1.33 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.29 2002/10/16 19:15:55 www Exp $ +# $Id: londocs.pm,v 1.33 2002/10/18 14:50:22 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -294,6 +294,8 @@ sub handler { $r->print('Verify Content'. &Apache::loncommon::bodytag('Verify Course Documents')); $hashtied=0; + undef %alreadyseen; + %alreadyseen=(); &tiehash(); foreach (keys %hash) { if (($_=~/^src\_(.+)$/) && (!$alreadyseen{$hash{$_}})) { @@ -306,7 +308,91 @@ sub handler { &Apache::loncommon::bodytag('Check Course Document Versions')); $hashtied=0; &tiehash(); - + my %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='during the last '.$ENV{'form.timerange'}.' seconds'; + my $startsel=''; + my $monthsel=''; + my $weeksel=''; + my $daysel=''; + 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='during the last month ('.localtime($starttime).')'; + $monthsel='selected'; + } elsif ($ENV{'form.timerange'}==604800) { + $seltext='during the last week ('.localtime($starttime).')'; + $weeksel='selected'; + } elsif ($ENV{'form.timerange'}==86400) { + $seltext='since yesterday ('.localtime($starttime).')'; + $daysel='selected'; + } + + $r->print(< + + + +

Content changed $seltext

+ + + + +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('
FileModification DateVersionDifferences
'.$linkurl. + ''. + localtime($changes{$_}).''.$currentversion.''); + 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('Version '.$prevvers.' ('. + localtime(&Apache::lonnet::metadata($url,'lastrevisiondate')). + ')'); + if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { + $r->print(' Diffs'); + } + $r->print('
'); + } + $r->print('
'); + } else { + $r->print('

No content modifications yet.

'); + } &untiehash(); } else { # is this a standard course?