--- loncom/interface/lonhtmlcommon.pm	2009/09/08 20:48:34	1.235
+++ loncom/interface/lonhtmlcommon.pm	2009/11/06 18:32:42	1.240
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.235 2009/09/08 20:48:34 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.240 2009/11/06 18:32:42 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -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 .= '  <option value="'.$role.'">'.$plrole.'</option>';
@@ -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|
 <script type="text/javascript">
 // <![CDATA[
@@ -1666,9 +1670,19 @@ sub course_selection {
 // ]]>
 </script>
     |;
+
+    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='<b>'.&Apache::loncommon::selectcourse_link
-                     ($formname,'pickcourse','pickdomain','coursedesc','',1).'</b>';
-        $output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.&mt('All courses').'<br />';
+                     ($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'</b>';
+        $output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.$allcrs.'<br />';
     if ($totcodes > 0) {
         my $numtitles = @$codetitles;
         if ($numtitles > 0) {
@@ -1713,7 +1727,7 @@ sub course_selection {
             $output .= '</tr></table><br />';
         }
     }
-    $output .= '<input type="radio" name="coursepick" value="specific" onclick="coursePick(this.form);opencrsbrowser('."'".$formname."','dccourse','dcdomain','coursedesc','','1'".')" />'.&mt('Pick specific course(s):').' '.$courseform.'&nbsp;&nbsp;<input type="text" value="0" size="4" name="coursetotal" /><input type="hidden" name="courselist" value="" />selected.<br />'."\n";
+    $output .= '<input type="radio" name="coursepick" value="specific" onclick="coursePick(this.form);opencrsbrowser('."'".$formname."','dccourse','dcdomain','coursedesc','','1','$crstype'".')" />'.$pickspec.' '.$courseform.'&nbsp;&nbsp;<input type="text" value="0" size="4" name="coursetotal" /><input type="hidden" name="courselist" value="" />selected.<br />'."\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 '<div class="LC_topic_bar">'
-          .'<img src="/res/adm/pages/bl_step'.$imgnum.'.gif"'
-          .' alt="'.&mt('Step [_1]',$imgnum).'" />'
-          .' '.$title
-          .'</div>';
+    my $imgtag;
+    if ($imgnum =~ /^[1-9]$/) {
+        $imgtag = '<img src="/res/adm/pages/bl_step'.$imgnum.'.gif"'. 
+                  ' alt="'.&mt('Step [_1]',$imgnum).'" /> ';
+    }
+    return '<div class="LC_topic_bar">'.$imgtag.$title.'</div>';
 }
 
 ##############################################