--- loncom/interface/londocs.pm 2002/10/18 13:47:57 1.32
+++ loncom/interface/londocs.pm 2002/12/09 22:27:20 1.40
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.32 2002/10/18 13:47:57 www Exp $
+# $Id: londocs.pm,v 1.40 2002/12/09 22:27:20 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use Apache::loncommon;
use Apache::lonratedt;
use Apache::lonratsrv;
use Apache::lonxml;
+use HTML::Entities;
use GDBM_File;
my $iconpath;
@@ -44,6 +45,8 @@ my %hash;
my $hashtied;
my %alreadyseen=();
+my $hadchanges;
+
# Mapread read maps into lonratedt::global arrays
# @order and @resources, determines status
# sets @order - pointer to resources in right order
@@ -59,6 +62,7 @@ sub mapread {
sub storemap {
my ($coursenum,$coursedom,$map)=@_;
+ $hadchanges=1;
return
&Apache::lonratedt::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'.
$map,1);
@@ -118,15 +122,32 @@ sub editor {
}
$#Apache::lonratedt::order--;
} elsif ($cmd eq 'up') {
+ if (($idx) && (defined($Apache::lonratedt::order[$idx-1]))) {
my $i=$Apache::lonratedt::order[$idx-1];
$Apache::lonratedt::order[$idx-1]=
$Apache::lonratedt::order[$idx];
$Apache::lonratedt::order[$idx]=$i;
+ }
} elsif ($cmd eq 'down') {
+ if (defined($Apache::lonratedt::order[$idx+1])) {
my $i=$Apache::lonratedt::order[$idx+1];
$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=
+ &HTML::Entities::decode($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');
@@ -161,7 +182,7 @@ sub editor {
foreach (@Apache::lonratedt::order) {
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
unless ($name) { $name=(split(/\//,$url))[-1]; }
- unless ($name) { $name='EMPTY'; }
+ unless ($name) { $name='NO RESOURCE'; $url='/adm/notfound.html'; }
$r->print(&entryline($idx,$name,$url,$folder,$allowed));
$idx++;
}
@@ -173,6 +194,21 @@ sub editor {
sub entryline {
my ($index,$title,$url,$folder,$allowed)=@_;
+ $title=~s/\&colon\;/\:/g;
+ $title=&HTML::Entities::encode(&HTML::Entities::decode(
+ &Apache::lonnet::unescape($title)),'\"\<\>\&\'');
+ my $renametitle=$title;
+ my $foldertitle=$title;
+ if ($title=~
+ /^(\d+)\_\_\_\&\;\&\;\&\;\_\_\_(\w+)\_\_\_\&\;\&\;\&\;\_\_\_(\w+)\_\_\_\&\;\&\;\&\;\_\_\_(.*)$/
+ ) {
+ $foldertitle=&Apache::lontexconvert::msgtexconverted($4);
+ $renametitle=$4;
+ $title=''.localtime($1).' '.
+ &Apache::loncommon::plainname($2,$3).':
'.
+ $foldertitle;
+ }
+ $renametitle=~s/\"\;/\\\"/g;
my $line='