--- loncom/interface/londocs.pm 2004/12/10 19:21:21 1.150
+++ 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.150 2004/12/10 19:21:21 albertel Exp $
+# $Id: londocs.pm,v 1.153 2004/12/10 20:47:33 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1152,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) {
@@ -1176,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 | ";
@@ -1210,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
@@ -1592,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 {
@@ -1692,7 +1691,7 @@ sub handler {
my $containertag;
my $uploadtag;
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['folderpath','pagepath']);
+ ['folderpath','pagepath','pagesymb']);
if ($ENV{'form.folderpath'}) {
my (@folderpath)=split('&',$ENV{'form.folderpath'});
$ENV{'form.foldername'}=&Apache::lonnet::unescape(pop(@folderpath));