--- loncom/interface/londocs.pm 2002/10/17 15:18:03 1.31
+++ loncom/interface/londocs.pm 2002/10/25 13:39:36 1.36
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.31 2002/10/17 15:18:03 www Exp $
+# $Id: londocs.pm,v 1.36 2002/10/25 13:39:36 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -127,6 +127,18 @@ sub editor {
$Apache::lonratedt::order[$idx+1]=
$Apache::lonratedt::order[$idx];
$Apache::lonratedt::order[$idx]=$i;
+ } elsif ($cmd eq 'rename') {
+ my ($rtitle,@rrest)=split(/\:/,
+ $Apache::lonratedt::resources[
+ $Apache::lonratedt::order[$idx]]);
+ my $comment=$ENV{'form.title'};
+ $comment=~s/\\<\;/g;
+ $comment=~s/\>/\>\;/g;
+ $comment=~s/\:/\:/g;
+ $Apache::lonratedt::resources[
+ $Apache::lonratedt::order[$idx]]=
+ $comment.':'.join(':',@rrest);
+
}
# Store the changed version
&storemap($coursenum,$coursedom,$folder.'.sequence');
@@ -183,7 +195,10 @@ sub entryline {
-Remove
+
+Remove
+
+Rename
END
}
# Figure out what kind of a resource this is
@@ -260,6 +275,33 @@ sub checkonthis {
if ($result==OK) {
$r->print('ok ');
$r->rflush();
+ &Apache::lonnet::countacc($url);
+ $url=~/\.(\w+)$/;
+ if (&Apache::loncommon::fileembstyle($1) eq 'ssi') {
+ $r->print(' ');
+ $r->rflush();
+ for (my $i=0;$i<=$level*5;$i++) {
+ $r->print(' ');
+ }
+ $r->print('- Rendering: ');
+ &Apache::lonxml::xmlparse($r,'web',
+ &Apache::lonnet::getfile(
+ &Apache::lonnet::filelocation('',$url)));
+ if (($Apache::lonxml::errorcount) ||
+ ($Apache::lonxml::warningcount)) {
+ if ($Apache::lonxml::errorcount) {
+ $r->print(''.
+ $Apache::lonxml::errorcount.' error(s) ');
+ }
+ if ($Apache::lonxml::warningcount) {
+ $r->print(''.
+ $Apache::lonxml::warningcount.' warning(s) ');
+ }
+ } else {
+ $r->print('ok ');
+ }
+ $r->rflush();
+ }
my $dependencies=
&Apache::lonnet::metadata($url,'dependencies');
foreach (split(/\,/,$dependencies)) {
@@ -324,16 +366,20 @@ sub handler {
if ($ENV{'form.timerange'}==-1) {
$seltext='since start of course';
$startsel='selected';
- } elsif ($ENV{'form.timerange'}==2592000) {
- $seltext='during the last month';
+ $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';
+ $seltext='during the last week ('.localtime($starttime).')';
$weeksel='selected';
} elsif ($ENV{'form.timerange'}==86400) {
- $seltext='since yesterday';
+ $seltext='since yesterday ('.localtime($starttime).')';
$daysel='selected';
}
+
$r->print(<
@@ -344,18 +390,46 @@ sub handler {
-Content changed $seltext
+Content changed $seltext
File Modification Date
Version Differences
ENDHEADERS
foreach (keys %changes) {
- my $currentversion=&Apache::lonnet::getversion($_);
- $r->print(
- ''.$_.' '.
- localtime($changes{$_}).' '.$currentversion.' ');
- $r->print(' ');
+ if ($changes{$_}>$starttime) {
+ my ($root,$extension)=($_=~/^(.*)\.(\w+)$/);
+ my $currentversion=&Apache::lonnet::getversion($_);
+ my $linkurl=&Apache::lonnet::clutter($_);
+ $r->print(
+ ''.$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(' ');
+ }
}
$r->print('
');
} else {
@@ -458,7 +532,22 @@ function finishpick() {
('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+
'";this.document.forms.'+form+'.submit();');
}
+
+function changename(folder,index,oldtitle) {
+ var title=prompt('New Title',oldtitle);
+ if (title) {
+ this.document.forms.renameform.title.value=title;
+ this.document.forms.renameform.cmd.value='rename_'+index;
+ this.document.forms.renameform.folder.value=folder;
+ this.document.forms.renameform.submit();
+ }
+}
+
ENDNEWSCRIPT
}
# -------------------------------------------------------------------- Body tag