--- loncom/interface/lonhtmlcommon.pm 2009/08/11 13:01:10 1.231
+++ loncom/interface/lonhtmlcommon.pm 2009/11/07 17:25:43 1.241
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.231 2009/08/11 13:01:10 droeschl Exp $
+# $Id: lonhtmlcommon.pm,v 1.241 2009/11/07 17:25:43 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -82,7 +82,7 @@ sub confirm_success {
.''."\n";
} else {
return ''."\n"
- .' '."\n"
+ .' '."\n"
.$message."\n"
.''."\n";
}
@@ -160,8 +160,8 @@ sub authorbombs {
$url=&Apache::lonnet::declutter($url);
my ($udom,$uname)=($url=~m{^($LONCAPA::domain_re)/($LONCAPA::username_re)/});
my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom);
- foreach (keys %bombs) {
- if ($_=~/^$udom\/$uname\//) {
+ foreach my $bomb (keys(%bombs)) {
+ if ($bomb =~ /^$udom\/$uname\//) {
return ''.
&Apache::loncommon::help_open_topic('About_Bombs');
@@ -239,7 +239,7 @@ sub get_recent {
# Begin filling return_hash with any 'always_include' option
my %time_hash = ();
my %return_hash = ();
- foreach my $item (keys %recent) {
+ foreach my $item (keys(%recent)) {
my ($thistime,$thisvalue)=(split(/\&/,$recent{$item}));
if ($thistime eq 'always_include') {
$return_hash{$item} = &unescape($thisvalue);
@@ -1128,7 +1128,7 @@ sub crumbs {
my $output='';
unless ($noformat) { $output.=' '; }
$output.=''.$prefix.'/';
- if ($env{'user.adv'}) {
+ if (($env{'user.adv'}) | ($env{'user.author'})) {
my $path=$prefix.'/';
foreach my $dir (split('/',$uri)) {
if (! $dir) { next; }
@@ -1453,7 +1453,7 @@ returns: nothing
}
sub add_breadcrumb {
- push (@Crumbs,@_);
+ push(@Crumbs,@_);
}
} # End of scope for @Crumbs
@@ -1590,6 +1590,10 @@ ENDTWO
sub role_select_row {
my ($roles,$title,$css_class,$show_separate_custom,$cdom,$cnum) = @_;
+ my $crstype = 'Course';
+ if ($cdom ne '' && $cnum ne '') {
+ $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum);
+ }
my $output;
if (defined($title)) {
$output = &row_title($title,$css_class);
@@ -1614,7 +1618,7 @@ sub role_select_row {
$plrole = &mt('Custom Role');
}
} else {
- $plrole=&Apache::lonnet::plaintext($role);
+ $plrole=&Apache::lonnet::plaintext($role,$crstype);
}
if (($role ne 'cr') || (!$show_separate_custom)) {
$output .= ' ';
@@ -1629,15 +1633,15 @@ sub role_select_row {
sub course_select_row {
my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles,
- $css_class) = @_;
+ $css_class,$crstype) = @_;
my $output = &row_title($title,$css_class);
- $output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles);
+ $output .= &course_selection($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype);
$output .= &row_closure();
return $output;
}
sub course_selection {
- my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles) = @_;
+ my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype) = @_;
my $output = qq|
|;
+
+ my ($allcrs,$pickspec);
+ if ($crstype eq 'Community') {
+ $allcrs = &mt('All communities');
+ $pickspec = &mt('Pick specific communities:');
+ } else {
+ $allcrs = &mt('All courses');
+ $pickspec = &mt('Pick specific course(s):');
+ }
+
my $courseform=''.&Apache::loncommon::selectcourse_link
- ($formname,'pickcourse','pickdomain','coursedesc','',1).'';
- $output .= ''.&mt('All courses').' ';
+ ($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'';
+ $output .= ''.$allcrs.' ';
if ($totcodes > 0) {
my $numtitles = @$codetitles;
if ($numtitles > 0) {
@@ -1713,7 +1727,7 @@ sub course_selection {
$output .= ' ';
}
}
- $output .= ''.&mt('Pick specific course(s):').' '.$courseform.' selected. '."\n";
+ $output .= ''.$pickspec.' '.$courseform.' selected. '."\n";
return $output;
}
@@ -1801,16 +1815,22 @@ sub course_custom_roles {
# topic_bar
#
-# Generates a div containing a numbered (static image) followed by a title
-# with a background color defined in the corresponding CSS: LC_topic_bar
-#
+# Generates a div containing an (optional) numbered (static) image followed by a
+# title with a background color defined in the corresponding CSS: LC_topic_bar
+# Inputs:
+# 1. number to display (corresponding static image should exist).
+# img tag will be included if arg is an integer in the range 1 to 9.
+# 2. title text to display.
+# Outputs - a scalar containing html mark-up for the div.
+
sub topic_bar {
my ($imgnum,$title) = @_;
- return '
'
- .''
- .' '.$title
- .'
';
+ my $imgtag;
+ if ($imgnum =~ /^[1-9]$/) {
+ $imgtag = ' ';
+ }
+ return '
'.$imgtag.$title.'
';
}
##############################################
@@ -1945,7 +1965,7 @@ sub set_form_elements {
$values{$name}[$i] =~ s/([\r\n\f]+)/\\n/g;
$values{$name}[$i] =~ s/"/\\"/g;
}
- if ($$elements{$name} eq 'text') {
+ if (($$elements{$name} eq 'text') || ($$elements{$name} eq 'hidden')) {
my $numvalues = @{$values{$name}};
if ($numvalues > 1) {
my $valuestring = join('","',@{$values{$name}});
@@ -1980,6 +2000,8 @@ sub set_form_elements {
$output .= qq|
if (courseForm.elements['$name'].value == "$value") {
courseForm.elements['$name'].checked = true;
+ } else {
+ courseForm.elements['$name'].checked = false;
}|;
}
}
@@ -2021,6 +2043,7 @@ sub set_form_elements {
}
}
$output .= "
+ return;
}\n";
return $output;
}
@@ -2194,7 +2217,7 @@ sub generate_menu {
# create the markup for the current $link and push it into @links.
# each entry consists of an image and a text optionally followed
# by a help link.
- push @links, $li->(
+ push(@links,$li->(
$a->(
$img->("", {
class => "LC_noBorder LC_middle",
@@ -2212,7 +2235,7 @@ sub generate_menu {
}).
(defined($$link{help}) ?
Apache::loncommon::help_open_topic($$link{help}) : ''),
- {class => "LC_menubuttons_inline_text"});
+ {class => "LC_menubuttons_inline_text"}));
}
# wrap categorytitle in
, concatenate with
@@ -2222,10 +2245,10 @@ sub generate_menu {
# such that each element looks like:
#
title
...
...
# the category won't be added if there aren't any links
- push @categories,
+ push(@categories,
$div->($h3->(mt($$category{categorytitle}), {class=>"LC_hcell"}).
$ul->(join('' ,@links), {class =>"LC_ListStyleNormal" }),
- {class=>"LC_Box LC_400Box"}) if scalar(@links);
+ {class=>"LC_Box LC_400Box"})) if scalar(@links);
}
# wrap the joined @categories in another