--- loncom/interface/londocs.pm 2004/12/10 19:22:29 1.151 +++ loncom/interface/londocs.pm 2004/12/14 21:10:58 1.156 @@ -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.156 2004/12/14 21:10:58 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1034,10 +1034,11 @@ sub entryline { $folderpath=&Apache::lonnet::escape($ENV{'form.folderpath'}); # $htmlfoldername=&HTML::Entities::encode($ENV{'form.foldername'},'<>&"'); } - my $pagepath; + my ($pagepath,$pagesymb); if ($ENV{'form.pagepath'}) { $container = 'page'; $pagepath=&Apache::lonnet::escape($ENV{'form.pagepath'}); + $pagesymb=&Apache::lonnet::escape($ENV{'form.pagesymb'}); } if ($allowed) { my $incindex=$index+1; @@ -1064,20 +1065,21 @@ sub entryline { $line.=(< +
- + $lt{
- + $lt{
$selectbox - + $lt{'rm'} - + $lt{'rn'} END } else { @@ -1152,9 +1154,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,7 +1182,17 @@ 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); } $line.=''. @@ -1612,6 +1628,7 @@ sub changewarning { if (defined($ENV{'form.pagepath'})) { $pathvar='pagepath'; $path=&Apache::lonnet::escape($ENV{'form.pagepath'}); + $path.='&symb='.&Apache::lonnet::escape($ENV{'form.pagesymb'}); } $r->print( ''. @@ -1667,7 +1684,7 @@ sub handler { # is this a standard course? my $standard=($ENV{'request.course.uri'}=~/^\/uploaded\//); - my $forcestandard; + my $forcestandard = 0; my $forcesupplement; my $script=''; my $allowed; @@ -1676,7 +1693,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)); @@ -1686,14 +1703,19 @@ sub handler { my (@pagepath)=split('&',$ENV{'form.pagepath'}); $ENV{'form.pagename'}=&Apache::lonnet::unescape(pop(@pagepath)); $ENV{'form.folder'}=pop(@pagepath); - $containertag = ''; - $uploadtag = ''; + $containertag = ''. + ''; + $uploadtag = ''. + ''; } if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { $showdoc='/'.$1; } unless ($showdoc) { # got called from remote - $forcestandard=($ENV{'form.folder'}=~/^default_/); + if (($ENV{'form.folder'}=~/^default_/) || + ($ENV{'form.folder'} =~ m#^\d+/(pages|sequences)/#)) { + $forcestandard = 1; + } $forcesupplement=($ENV{'form.folder'}=~/^supplemental_/); # does this user have privileges to post, etc? @@ -1827,7 +1849,7 @@ function finishpick() { '";this.document.forms.'+form+'.submit();'); } -function changename(folderpath,index,oldtitle,container) { +function changename(folderpath,index,oldtitle,container,pagesymb) { var title=prompt('New Title',oldtitle); if (title) { this.document.forms.renameform.title.value=title; @@ -1837,12 +1859,13 @@ function changename(folderpath,index,old } if (container == 'page') { this.document.forms.renameform.pagepath.value=folderpath; + this.document.forms.renameform.pagesymb.value=pagesymb; } this.document.forms.renameform.submit(); } } -function removeres(folderpath,index,oldtitle,container) { +function removeres(folderpath,index,oldtitle,container,pagesymb) { if (confirm('Remove "'+oldtitle+'"?')) { this.document.forms.renameform.cmd.value='del_'+index; if (container == 'sequence') { @@ -1850,6 +1873,7 @@ function removeres(folderpath,index,oldt } if (container == 'page') { this.document.forms.renameform.pagepath.value=folderpath; + this.document.forms.renameform.pagesymb.value=pagesymb; } this.document.forms.renameform.submit(); }