--- loncom/interface/londocs.pm 2006/06/26 22:31:56 1.233 +++ loncom/interface/londocs.pm 2006/07/20 01:18:26 1.238 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.233 2006/06/26 22:31:56 albertel Exp $ +# $Id: londocs.pm,v 1.238 2006/07/20 01:18:26 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -237,8 +237,10 @@ sub dumpcourse { 'ids_/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'.$_}}; $title=~s/:/:/g; $r->print(''.($title?$title:' ').''); - unless ($title) { + if (!$title) { $title=$_; + } else { + $title=~s|/|_|g; } $title=~s/\.(\w+)$//; $title=&clean($title); @@ -975,7 +977,8 @@ sub breadcrumbs { } - return &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp'); + return &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp', + 'LC_docs_path'); } sub editor { @@ -1160,6 +1163,8 @@ sub editor { $Apache::lonratedt::order[$idx]]= $comment.':'.join(':',@rrest); } +# Devalidate title cache + &Apache::lonnet::devalidate_title_cache(&Apache::lonnet::unescape($rrest[0])); } # Store the changed version ($errtext,$fatal)=&storemap($coursenum,$coursedom, @@ -1172,6 +1177,7 @@ sub editor { # Group import/search if ($env{'form.importdetail'}) { my @imports; + &Apache::lonnet::logthis("imp detail ".$env{'form.importdetail'}); foreach (split(/\&/,$env{'form.importdetail'})) { if (defined($_)) { my ($name,$url)=split(/\=/,$_); @@ -2172,7 +2178,7 @@ sub handler { $showdoc='/'.$1; } unless ($showdoc) { # got called from remote - if (($env{'form.folder'}=~/^default_/) || + if (($env{'form.folder'}=~/^(?:group|default)_/) || ($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) { $forcestandard = 1; } @@ -2723,7 +2729,7 @@ sub editing_js { function makenewfolder(targetform,folderseq) { var foldername=prompt('Name of New Folder','New Folder'); if (foldername) { - targetform.importdetail.value=foldername+"="+folderseq; + targetform.importdetail.value=escape(foldername)+"="+folderseq; targetform.submit(); } } @@ -2731,7 +2737,7 @@ function makenewfolder(targetform,folder function makenewpage(targetform,folderseq) { var pagename=prompt('Name of New Page','New Page'); if (pagename) { - targetform.importdetail.value=pagename+"="+folderseq; + targetform.importdetail.value=escape(pagename)+"="+folderseq; targetform.submit(); } } @@ -2745,7 +2751,7 @@ function makeexamupload() { var title=prompt('Listed Title for the Uploaded Score'); if (title) { this.document.forms.newexamupload.importdetail.value= - title+'=/res/lib/templates/examupload.problem'; + escape(title)+'=/res/lib/templates/examupload.problem'; this.document.forms.newexamupload.submit(); } } @@ -2754,7 +2760,7 @@ function makesmppage() { var title=prompt('Listed Title for the Page'); if (title) { this.document.forms.newsmppg.importdetail.value= - title+'=/adm/$udom/$uname/$now/smppg'; + escape(title)+'=/adm/$udom/$uname/$now/smppg'; this.document.forms.newsmppg.submit(); } } @@ -2763,7 +2769,7 @@ function makesmpproblem() { var title=prompt('Listed Title for the Problem'); if (title) { this.document.forms.newsmpproblem.importdetail.value= - title+'=/res/lib/templates/simpleproblem.problem'; + escape(title)+'=/res/lib/templates/simpleproblem.problem'; this.document.forms.newsmpproblem.submit(); } } @@ -2772,7 +2778,7 @@ function makedropbox() { var title=prompt('Listed Title for the Drop Box'); if (title) { this.document.forms.newdropbox.importdetail.value= - title+'=/res/lib/templates/DropBox.problem'; + escape(title)+'=/res/lib/templates/DropBox.problem'; this.document.forms.newdropbox.submit(); } } @@ -2781,26 +2787,26 @@ function makebulboard() { var title=prompt('Listed Title for the Bulletin Board'); if (title) { this.document.forms.newbul.importdetail.value= - title+'=/adm/$udom/$uname/$now/bulletinboard'; + escape(title)+'=/adm/$udom/$uname/$now/bulletinboard'; this.document.forms.newbul.submit(); } } function makeabout() { - var user=prompt("Enter user\@domain for User's 'About Me' Page"); + var user=prompt("Enter user:domain for User's 'About Me' Page"); if (user) { var comp=new Array(); - comp=user.split('\@'); + comp=user.split(':'); if ((typeof(comp[0])!=undefined) && (typeof(comp[1])!=undefined)) { if ((comp[0]) && (comp[1])) { this.document.forms.newaboutsomeone.importdetail.value= - 'About '+user+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme'; + 'About '+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme'; this.document.forms.newaboutsomeone.submit(); } else { - alert("Not a valid user\@domain"); + alert("Not a valid user:domain"); } } else { - alert("Please enter both user and domain in the format user\@domain"); + alert("Please enter both user and domain in the format user:domain"); } } }