--- loncom/interface/londocs.pm 2004/09/27 15:20:23 1.147
+++ loncom/interface/londocs.pm 2004/12/10 20:47:33 1.153
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.147 2004/09/27 15:20:23 matthew Exp $
+# $Id: londocs.pm,v 1.153 2004/12/10 20:47:33 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -989,15 +989,17 @@ sub editor {
# ---------------------------------------------------------------- End commands
# ---------------------------------------------------------------- Print screen
my $idx=0;
+ my $shown=0;
$r->print('
');
foreach (@Apache::lonratedt::order) {
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
unless ($name) { $name=(split(/\//,$url))[-1]; }
- unless ($name) { next; }
+ unless ($name) { $idx++; next; }
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum));
$idx++;
+ $shown++;
}
- unless ($idx) {
+ unless ($shown) {
$r->print(''.&mt('Currently no documents.').' |
');
}
$r->print('
');
@@ -1150,9 +1152,13 @@ END
} elsif ($url=~m|^/ext/|) {
$url='/adm/wrapper'.$url;
}
- unless ($container eq 'page') {
+ $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);
+ if ($container eq 'page') {
+ my $symb=$ENV{'form.pagesymb'};
+
+ $url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]);
$url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb);
- }
+ }
}
my $parameterset=' ';
if ($isfolder) {
@@ -1174,8 +1180,19 @@ END
my $folderpath=$ENV{'form.folderpath'};
if ($folderpath) { $pagepath = $folderpath.'&' };
$pagepath.=$pagearg.'&'.$pagename;
- $url.='pagepath='.&Apache::lonnet::escape($pagepath);
+ my $symb=$ENV{'form.pagesymb'};
+ if (!$symb) {
+ my $path='uploaded/'.
+ $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.'/'.
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.'/';
+ $symb=&Apache::lonnet::encode_symb($path.$folder.'.sequence',
+ $residx,
+ $path.$pagearg.'.page');
+ }
+ $url.='pagepath='.&Apache::lonnet::escape($pagepath).
+ '&pagesymb='.&Apache::lonnet::escape($symb);
}
+ &Apache::lonnet::logthis(" link \n$url");
$line.=' | '.
"$title | ";
@@ -1191,8 +1208,8 @@ END
$line.=(<
-
+
+ |
$parameterset |
@@ -1208,33 +1225,24 @@ ENDPARMS
sub tiehash {
my ($mode)=@_;
$hashtied=0;
- &Apache::lonnet::logthis(" tiehash1 -- $hashtied ");
if ($ENV{'request.course.fn'}) {
- &Apache::lonnet::logthis(" tiehash2 -- $hashtied ");
if ($mode eq 'write') {
- &Apache::lonnet::logthis(" tiehash3 -- $hashtied ");
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.".db",
&GDBM_WRCREAT(),0640)) {
$hashtied=2;
- &Apache::lonnet::logthis(" tiehash4 -- $hashtied ");
}
} else {
- &Apache::lonnet::logthis(" tiehash5 -- $hashtied ");
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.".db",
&GDBM_READER(),0640)) {
$hashtied=1;
- &Apache::lonnet::logthis(" tiehash6 -- $hashtied ");
}
}
}
- &Apache::lonnet::logthis(" tiehash7 -- $hashtied ");
}
sub untiehash {
- &Apache::lonnet::logthis(" untiehash1 -- $hashtied ");
if ($hashtied) { untie %hash; }
$hashtied=0;
- &Apache::lonnet::logthis(" untiehash2 -- $hashtied ");
}
# --------------------------------------------------------------- check on this
@@ -1590,21 +1598,14 @@ ENDHEADERS
sub mark_hash_old {
my $retie_hash=0;
- &Apache::lonnet::logthis(" markold1 -- $hashtied $retie_hash ");
if ($hashtied) {
$retie_hash=1;
- &Apache::lonnet::logthis(" markold2 -- $hashtied $retie_hash ");
&untiehash();
- &Apache::lonnet::logthis(" markold3 -- $hashtied $retie_hash ");
}
&tiehash('write');
- &Apache::lonnet::logthis(" markold4 -- $hashtied $retie_hash ");
$hash{'old'}=1;
- &Apache::lonnet::logthis(" markold5 -- $hashtied $retie_hash ");
&untiehash();
- &Apache::lonnet::logthis(" markold6 -- $hashtied $retie_hash ");
if ($retie_hash) { &tiehash(); }
- &Apache::lonnet::logthis(" markold7 -- $hashtied $retie_hash ");
}
sub is_hash_old {
@@ -1621,11 +1622,17 @@ sub is_hash_old {
sub changewarning {
my ($r,$postexec)=@_;
if (!&is_hash_old()) { return; }
+ my $pathvar='folderpath';
+ my $path=&Apache::lonnet::escape($ENV{'form.folderpath'});
+ if (defined($ENV{'form.pagepath'})) {
+ $pathvar='pagepath';
+ $path=&Apache::lonnet::escape($ENV{'form.pagepath'});
+ }
$r->print(
''.
' |