[LON-CAPA-cvs] cvs: loncom /interface londocs.pm

albertel lon-capa-cvs@mail.lon-capa.org
Fri, 10 Dec 2004 20:46:38 -0000


albertel		Fri Dec 10 15:46:38 2004 EDT

  Modified files:              
    /loncom/interface	londocs.pm 
  Log:
  - I think this finishes the more important elements of BUG#3648 off
  
  
Index: loncom/interface/londocs.pm
diff -u loncom/interface/londocs.pm:1.151 loncom/interface/londocs.pm:1.152
--- loncom/interface/londocs.pm:1.151	Fri Dec 10 14:22:29 2004
+++ loncom/interface/londocs.pm	Fri Dec 10 15:46:38 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Documents
 #
-# $Id: londocs.pm,v 1.151 2004/12/10 19:22:29 albertel Exp $
+# $Id: londocs.pm,v 1.152 2004/12/10 20:46:38 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1152,9 +1152,13 @@
 	} 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) {
@@ -1171,13 +1175,26 @@
        
     }
     if ($ispage) {
+	&Apache::lonnet::logthis(" in ispage ");
         my $pagename=&Apache::lonnet::escape($pagetitle);
         my $pagepath;
         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');
+	}
+	#(undef,undef,$url)=&Apache::lonnet::decode_symb($symb);
+	$url.='pagepath='.&Apache::lonnet::escape($pagepath).
+	    '&pagesymb='.&Apache::lonnet::escape($symb);
     }
+    &Apache::lonnet::logthis(" link \n$url");
     $line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon.
 	'" border="0"></a></td>'.
         "<td bgcolor='#FFFFBB'><a href='$url'>$title</a></td>";
@@ -1676,7 +1693,7 @@
     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));