--- loncom/xml/londefdef.pm 2012/04/16 19:46:14 1.439
+++ loncom/xml/londefdef.pm 2014/06/17 23:22:17 1.452
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.439 2012/04/16 19:46:14 raeburn Exp $
+# $Id: londefdef.pm,v 1.452 2014/06/17 23:22:17 raeburn Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -572,7 +572,7 @@ sub start_body {
if ($env{'request.state'} eq 'construct') {
my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'});
&Apache::lonhtmlcommon::add_breadcrumb({
- 'text' => 'Construction Space',
+ 'text' => 'Authoring Space',
'href' => &Apache::loncommon::authorspace($url),
});
&Apache::lonhtmlcommon::add_breadcrumb({
@@ -585,26 +585,34 @@ sub start_body {
# FIXME Where are we?
}
+ my $args = {'add_entries' => $token->[2],
+ 'force_register' => 1,};
+ if ($target eq 'web') {
+ $args->{'print_suppress'} = 1;
+ if ($env{'request.use_absolute'}) {
+ $args->{'use_absolute'} = $env{'request.use_absolute'};
+ }
+ }
$currentstring =
&Apache::loncommon::start_page($Apache::londefdef::title,
$Apache::londefdef::head
- .$extra_head,
- {'add_entries' => $token->[2],
-# 'no_title' => 1,
- 'force_register' => 1});
-
+ .$extra_head,$args);
my $header = '';
if ($env{'request.state'} ne 'published' &&
$env{'request.state'} ne 'construct') {
$header=&Apache::lonmenu::constspaceform();
}
if ($env{'request.state'} ne 'published') {
- $header.=&Apache::londefdef::edit_controls();
+ unless ($env{'form.inhibitmenu'} eq 'yes') {
+ $header.=&edit_controls();
+ }
}
if ($env{'request.state'} eq 'construct') {
- $currentstring.=&Apache::loncommon::head_subbox(
- &Apache::loncommon::CSTR_pageheader()
- .$header);
+ unless ($env{'form.inhibitmenu'} eq 'yes') {
+ $currentstring.=&Apache::loncommon::head_subbox(
+ &Apache::loncommon::CSTR_pageheader()
+ .$header);
+ }
} elsif ($env{'request.state'} eq 'edit') {
$currentstring.=&Apache::loncommon::head_subbox($header);
}
@@ -633,20 +641,37 @@ sub edit_controls {
if (($env{'request.course.id'}) && ($env{'form.forceedit'})) {
my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'});
if ($url =~ /\.html?$/i) {
- my ($symb,$itemtitle,$displayfile) =
- &Apache::lonxml::get_courseupload_hierarchy($url);
- if ($symb ne '') {
+ my ($cdom,$cnum);
+ if ($env{'request.course.id'}) {
+ $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ if ($env{'request.filename'} =~ m{/userfiles/supplemental/default|\d+/}) {
+ if (&Apache::lonnet::is_course_upload($env{'request.filename'},
+ $cnum,$cdom)) {
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['folderpath','title']);
+ }
+ }
+ }
+ my ($symb,$itemtitle,$displayfile,$caller);
+ if ($url =~ m{^/uploaded/$cdom/$cnum/portfolio/syllabus/}) {
+ $itemtitle = &mt('Syllabus');
+ $caller = "/public/$cdom/$cnum/syllabus";
+ } else {
+ $caller = $url;
+ ($symb,$itemtitle,$displayfile) =
+ &Apache::lonxml::get_courseupload_hierarchy($url,
+ $env{'form.folderpath'},
+ $env{'form.title'});
+ }
+ if (($symb ne '') || ($env{'httpref.'.$url} ne '') ||
+ ($url =~ m{^/uploaded/$cdom/$cnum/portfolio/syllabus/})) {
$result .= (' ' x 3).
&Apache::lonhtmlcommon::dependencies_button()."\n".
- &Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle)."\n";
+ &Apache::lonhtmlcommon::dependencycheck_js($symb,
+ $itemtitle,$url,$env{'form.folderpath'},$caller)."\n";
}
}
- my $viewtext = &mt('Course View');
- if (&Apache::loncommon::course_type() eq 'Community') {
- $viewtext = &mt('Community View');
- }
- $result .= (' ' x 3).'';
}
$result .= '
@@ -1707,6 +1732,15 @@ sub start_a {
if (!&Apache::lonnet::allowed('bre',$linkurl)) {
if (&Apache::lonnet::is_on_map($url)) {
&Apache::lonxml::extlink($linkurl);
+ } elsif ($env{'request.course.id'}) {
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ if ($linkurl =~ m{^([^/]|/uploaded/$cdom/$cnum/docs/)}) {
+ my $cleanhref = &clean_docs_httpref($linkurl,$url,$cdom,$cnum);
+ if ($cleanhref) {
+ &Apache::lonxml::extlink($cleanhref);
+ }
+ }
}
}
}
@@ -3553,8 +3587,68 @@ sub start_iframe {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
- }
+ my ($src,$url,$query);
+ if ($token->[2]->{'src'}) {
+ $src = $token->[2]->{'src'};
+ } elsif ($token->[2]->{'SRC'}) {
+ $src = $token->[2]->{'SRC'};
+ }
+ if ($src) {
+ ($url,$query) = ($src =~ /^([^?]+)\??([^?]*)$/);
+ if ($query =~ /inhibitmenu=yes/) {
+ $currentstring = $token->[4];
+ } else {
+ my $inhibit;
+ if ($url =~ m{^[^/.].*\.x?html?$}) {
+ $inhibit = 1;
+ } elsif ($url =~ m{^/(uploaded|res)/.*\.x?html?$}) {
+ $inhibit = 1;
+ }
+ if ($inhibit) {
+ $currentstring = '