--- loncom/interface/lonmenu.pm 2009/11/18 04:59:56 1.302
+++ loncom/interface/lonmenu.pm 2009/11/30 21:29:47 1.308
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.302 2009/11/18 04:59:56 raeburn Exp $
+# $Id: lonmenu.pm,v 1.308 2009/11/30 21:29:47 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -512,7 +512,7 @@ sub registerurl {
}
sub innerregister {
- my ($forcereg, $titletable) = @_;
+ my ($forcereg,$titletable,$bread_crumbs) = @_;
my $result = '';
my ($uname,$thisdisfn);
my $const_space = ($env{'request.state'} eq 'construct');
@@ -753,6 +753,14 @@ s&7&1&del.gif&delete[_1]&resource[_2]&go
s&7&2&prt.gif&prepare[_1]&printout[_1]&gocstr('/adm/printout','/~$uname/$cleandisfn')&Prepare a printable document
ENDMENUITEMS
}
+ if ($noremote) {
+ if (ref($bread_crumbs) eq 'ARRAY') {
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ foreach my $crumb (@{$bread_crumbs}){
+ &Apache::lonhtmlcommon::add_breadcrumb($crumb);
+ }
+ }
+ }
} elsif ( defined($env{'request.course.id'}) &&
$env{'request.symb'} ne '' ) {
#
@@ -832,6 +840,7 @@ ENDMENUITEMS
if ($addremote) {
#SD START (work in progress!)
+ Apache::lonhtmlcommon::clear_breadcrumb_tools();
# Arrows for navigation
Apache::lonhtmlcommon::add_breadcrumb_tool( 'A', $inlineremote[21] );
Apache::lonhtmlcommon::add_breadcrumb_tool( 'A', $inlineremote[23] );
@@ -905,11 +914,11 @@ ENDMENUITEMS
$timesync
$breadcrumb
-
-
-
+
+
+
$newmail
-
+
@@ -1267,7 +1276,7 @@ sub switch {
my $pic=
'
';
+ '" align="'.($nobreak==3?'right':'left').'" class="LC_icon" />';
if ($env{'browser.interface'} eq 'faketextual') {
# Main Menu
if ($nobreak==3) {
@@ -1452,15 +1461,31 @@ sub rawconfig {
}
} elsif ($pro =~ /^courseenv_(.*)$/) {
my $key = $1;
- if (($env{'course.'.$env{'request.course.id'}.'.'.$key}) &&
- ($crstype ne 'Community')) {
- $output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat);
+ if ($crstype ne 'Community') {
+ my $coursepref = $env{'course.'.$env{'request.course.id'}.'.'.$key};
+ if ($key eq 'canuse_pdfforms') {
+ if ($env{'request.course.id'} && $coursepref eq '') {
+ my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
+ $coursepref = $domdefs{'canuse_pdfforms'};
+ }
+ }
+ if ($coursepref) {
+ $output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat);
+ }
}
} elsif ($pro =~ /^communityenv_(.*)$/) {
my $key = $1;
- if (($env{'course.'.$env{'request.course.id'}.'.'.$key}) &&
- ($crstype eq 'Community')) {
- $output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat);
+ if ($crstype eq 'Community') {
+ my $coursepref = $env{'course.'.$env{'request.course.id'}.'.'.$key};
+ if ($key eq 'canuse_pdfforms') {
+ if ($env{'request.course.id'} && $coursepref eq '') {
+ my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'});
+ $coursepref = $domdefs{'canuse_pdfforms'};
+ }
+ }
+ if ($coursepref) {
+ $output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat);
+ }
}
} elsif ($pro =~ /^course_(.*)$/) {
# Check for permissions inside of a course
@@ -1605,6 +1630,31 @@ function gonav(url) {
NAVCONTROL
}
+sub dc_popup_js {
+ my %lt = &Apache::lonlocal::texthash(
+ more => '(More ...)',
+ less => '(Less ...)',
+ );
+ return <<"END";
+
+function showCourseID() {
+ document.getElementById('dccid').style.display='block';
+ document.getElementById('dccid').style.textAlign='left';
+ document.getElementById('dccid').style.textFace='normal';
+ document.getElementById('dccidtext').innerHTML ='$lt{'less'}';
+ return;
+}
+
+function hideCourseID() {
+ document.getElementById('dccid').style.display='none';
+ document.getElementById('dccidtext').innerHTML ='$lt{'more'}';
+ return;
+}
+
+END
+
+}
+
sub utilityfunctions {
my $caller = shift;
unless ($env{'environment.remote'} eq 'off' ||
@@ -1622,6 +1672,13 @@ sub utilityfunctions {
my $currentsymb=&Apache::lonenc::check_encrypt($env{'request.symb'});
my $nav_control=&nav_control_js();
+ my $dc_popup_cid;
+ if ($env{'user.adv'} && exists($env{'user.role.dc./'.
+ $env{'course.'.$env{'request.course.id'}.
+ '.domain'}.'/'})) {
+ $dc_popup_cid = &dc_popup_js();
+ }
+
my $start_page_annotate =
&Apache::loncommon::start_page('Annotator',undef,
{'only_body' => 1,
@@ -1649,6 +1706,7 @@ return (<