--- loncom/interface/londocs.pm 2006/06/19 09:40:17 1.232
+++ loncom/interface/londocs.pm 2006/07/20 01:46:14 1.239
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.232 2006/06/19 09:40:17 www Exp $
+# $Id: londocs.pm,v 1.239 2006/07/20 01:46:14 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(&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;
}
@@ -2207,7 +2213,7 @@ sub handler {
$script = '';
$r->print(&Apache::loncommon::start_page("$type Documents", $script,
{'force_register' => $showdoc,}).
- &Apache::loncommon::help_open_menu('','','','',273,'RAT'));
+ &Apache::loncommon::help_open_menu('','',273,'RAT'));
my %allfiles = ();
my %codebase = ();
@@ -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");
}
}
}