--- loncom/interface/loncommon.pm 2013/04/25 17:58:40 1.1124
+++ loncom/interface/loncommon.pm 2013/05/21 18:54:15 1.1129
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1124 2013/04/25 17:58:40 bisitz Exp $
+# $Id: loncommon.pm,v 1.1129 2013/05/21 18:54:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -7818,11 +7818,9 @@ sub LCprogressbar {
$LCcurrentid=$$.'_'.$LCidcnt;
my $starting=&mt('Starting');
my $content=(<
$starting
-
ENDPROGBAR
&r_print($r,$content.&LCprogressbar_script($LCcurrentid));
}
@@ -9616,10 +9614,17 @@ sub ask_for_embedded_content {
if (ref($args) eq 'HASH') {
$url = $args->{'docs_url'};
$title = $args->{'docs_title'};
- $toplevel = "/$url";
+ $toplevel = $url;
+ unless ($toplevel =~ m{^/}) {
+ $toplevel = "/$url";
+ }
($rem) = ($toplevel =~ m{^(.+/)[^/]+$});
- ($path) =
- ($toplevel =~ m{^(\Q/uploaded/$cdom/$cnum/\E(?:docs|supplemental)/(?:default|\d+)/\d+)/});
+ if ($toplevel =~ m{^(\Q/uploaded/$cdom/$cnum/portfolio/syllabus\E)}) {
+ $path = $1;
+ } else {
+ ($path) =
+ ($toplevel =~ m{^(\Q/uploaded/$cdom/$cnum/\E(?:docs|supplemental)/(?:default|\d+)/\d+)/});
+ }
$fileloc = &Apache::lonnet::filelocation('',$toplevel);
$fileloc =~ s{^/}{};
($filename) = ($fileloc =~ m{.+/([^/]+)$});
@@ -9635,7 +9640,13 @@ sub ask_for_embedded_content {
$fileloc = &Apache::lonnet::filelocation('',$toplevel).'/';
$fileloc =~ s{^/}{};
}
- foreach my $embed_file (keys(%{$allfiles})) {
+ foreach my $file (keys(%{$allfiles})) {
+ my $embed_file;
+ if (($path eq "/uploaded/$cdom/$cnum/portfolio/syllabus") && ($file =~ m{^\Q$path/\E(.+)$})) {
+ $embed_file = $1;
+ } else {
+ $embed_file = $file;
+ }
my $absolutepath;
if ($embed_file =~ m{^\w+://}) {
$newfiles{$embed_file} = 1;
@@ -9799,12 +9810,14 @@ sub ask_for_embedded_content {
($file eq $filename.'.bak') ||
($dependencies{$file})) {
if ($actionurl eq '/adm/dependencies') {
- next if (($rem ne '') &&
- (($env{"httpref.$rem".$file} ne '') ||
- (ref($navmap) &&
- (($navmap->getResourceByUrl($rem.$file) ne '') ||
- (($file =~ /^(.*\.s?html?)\.bak$/i) &&
- ($navmap->getResourceByUrl($rem.$1)))))));
+ unless ($toplevel =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus\E}) {
+ next if (($rem ne '') &&
+ (($env{"httpref.$rem".$file} ne '') ||
+ (ref($navmap) &&
+ (($navmap->getResourceByUrl($rem.$file) ne '') ||
+ (($file =~ /^(.*\.s?html?)\.bak$/i) &&
+ ($navmap->getResourceByUrl($rem.$1)))))));
+ }
}
$unused{$file} = 1;
}
@@ -10013,7 +10026,7 @@ sub ask_for_embedded_content {
$chgcount ++;
}
}
- if ($counter) {
+ if (($counter) || ($numunused)) {
if ($numpathchg) {
$output .= ''."\n";
@@ -10197,9 +10210,10 @@ sub upload_embedded {
}
}
} elsif (($context eq 'coursedoc') || ($context eq 'syllabus')) {
+ my $extendedsubdir = $dirpath.'/'.$subdir;
+ $extendedsubdir =~ s{/+$}{};
my $result =
- &Apache::lonnet::userfileupload('embedded_item_'.$i,$context,
- $dirpath.'/'.$subdir);
+ &Apache::lonnet::userfileupload('embedded_item_'.$i,$context,$extendedsubdir);
if ($result !~ m|^/uploaded/|) {
$output .= ''
.&mt('An error occurred ([_1]) while trying to upload [_2] for embedded element [_3].'
@@ -10209,7 +10223,9 @@ sub upload_embedded {
} else {
$output .= &mt('Uploaded [_1]',''.
$path.$fname.'').'
';
- &Apache::lonnet::make_public_indefinitely($result);
+ if ($context eq 'syllabus') {
+ &Apache::lonnet::make_public_indefinitely($result);
+ }
}
} else {
# Save the file
@@ -10357,7 +10373,7 @@ sub modify_html_refs {
}
my (%allfiles,%codebase,$output,$content);
my @changes = &get_env_multiple('form.namechange');
- unless (@changes > 0) {
+ unless ((@changes > 0) || ($context eq 'syllabus')) {
if (wantarray) {
return ('',0,0);
} else {
@@ -11810,7 +11826,7 @@ sub get_folder_hierarchy {
my @pcs = split(/,/,$pcslist);
foreach my $pc (@pcs) {
if ($pc == 1) {
- push(@pathitems,&mt('Main Course Documents'));
+ push(@pathitems,&mt('Main Content'));
} else {
my $res = $navmap->getByMapPc($pc);
if (ref($res)) {
@@ -11825,7 +11841,7 @@ sub get_folder_hierarchy {
}
if ($showitem) {
if ($mapres->{ID} eq '0.0') {
- push(@pathitems,&mt('Main Course Documents'));
+ push(@pathitems,&mt('Main Content'));
} else {
my $maptitle = $mapres->compTitle();
$maptitle =~ s/\W+/_/g;
@@ -14386,7 +14402,7 @@ sub symb_to_docspath {
$path =~ s/^\&//;
my $maptitle = $mapresobj->title();
if ($mapurl eq 'default') {
- $maptitle = 'Main Course Documents';
+ $maptitle = 'Main Content';
}
$path .= (($path ne '')? '&' : '').
&Apache::lonhtmlcommon::entity_encode($mapurl).'&'.
@@ -14400,14 +14416,14 @@ sub symb_to_docspath {
my $maptitle = &Apache::lonnet::gettitle($mapurl);
my $ispage = (($type eq 'page')? 1 : '');
if ($mapurl eq 'default') {
- $maptitle = 'Main Course Documents';
+ $maptitle = 'Main Content';
}
$path = &Apache::lonhtmlcommon::entity_encode($mapurl).'&'.
&Apache::lonhtmlcommon::entity_encode($maptitle).':::::'.$ispage;
}
unless ($mapurl eq 'default') {
$path = 'default&'.
- &Apache::lonhtmlcommon::entity_encode('Main Course Documents').
+ &Apache::lonhtmlcommon::entity_encode('Main Content').
':::::&'.$path;
}
return $path;