Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.233 and 1.242

version 1.233, 2009/08/13 14:54:52 version 1.242, 2009/11/10 13:58:55
Line 1128  sub crumbs { Line 1128  sub crumbs {
     my $output='';      my $output='';
     unless ($noformat) { $output.='<br /><tt><b>'; }      unless ($noformat) { $output.='<br /><tt><b>'; }
     $output.='<font size="'.$size.'">'.$prefix.'/';      $output.='<font size="'.$size.'">'.$prefix.'/';
     if ($env{'user.adv'}) {      if (($env{'user.adv'}) | ($env{'user.author'})) {
  my $path=$prefix.'/';   my $path=$prefix.'/';
  foreach my $dir (split('/',$uri)) {   foreach my $dir (split('/',$uri)) {
             if (! $dir) { next; }              if (! $dir) { next; }
Line 1342  returns: nothing Line 1342  returns: nothing
 ############################################################  ############################################################
 {  {
     my @Crumbs;      my @Crumbs;
       my %tools = ();
           
     sub breadcrumbs {      sub breadcrumbs {
         my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, $CourseBreadcrumbs) = @_;          my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, $CourseBreadcrumbs) = @_;
Line 1438  returns: nothing Line 1439  returns: nothing
                              .$links;                               .$links;
         }          }
                   
           #SD START (work in progress!)
           add_tools(\$links);
           #SD END
         $links = htmltag('div', $links,           $links = htmltag('div', $links, 
                         { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;                          { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;
           add_advtools(\$links);
   
         # Return the @Crumbs stack to what we started with          # Return the @Crumbs stack to what we started with
         push(@Crumbs,$last);          push(@Crumbs,$last);
Line 1450  returns: nothing Line 1455  returns: nothing
   
     sub clear_breadcrumbs {      sub clear_breadcrumbs {
         undef(@Crumbs);          undef(@Crumbs);
           undef(%tools);
     }      }
   
     sub add_breadcrumb {      sub add_breadcrumb {
         push(@Crumbs,@_);          push(@Crumbs,@_);
     }      }
       
   
       #SD START (work in progress!)
       sub add_breadcrumb_tool {
           my ($category, $html) = @_;
           return unless $html;
           if (!defined(%tools)) { 
               my %tools = ( A => [], B => [], C => []);
           }
           push @{$tools{$category}}, $html;
       }
   
       sub add_tools {
           my ($links) = @_;
           return unless defined %tools;
           my $html = '<ul class="LC_bct">';
           for my $category ('A','B') {
               $html .= '<li class="LC_breadcrumb_tools">'
                      . '<ul class="LC_breadcrumb_tools'
                      . " LC_breadcrumb_tools_$category\">";
               for my $item (@{$tools{$category}}){
                   #SD ugly! I'll fix that later on
                   $item =~ s/align="(right|left)"//;
                   $item =~ s/<span(.*?)\/span>//;
                   $html .= "<li>$item</li>";
               }
               $html .= '</li></ul>';
               if ($category eq 'A') { $html .= "<li>$$links</li>"; }
           }
           $$links = $html.'</ul>';
       }
   
       sub add_advtools {
           my ($links) = @_;
           return unless (defined $tools{'C'}) and (scalar (@{$tools{'C'}}) > 0);
           my $html = start_funclist();
           for my $item (@{$tools{'C'}}){
                   next unless $item;
                   $item =~ s/align="(right|left)"//;
                   $html .= add_item_funclist($item);
           }
           $html   .= end_funclist();
           $html    = Apache::loncommon::head_subbox($html);
           $$links .= $html;
       }
       #SD END
   
 } # End of scope for @Crumbs  } # End of scope for @Crumbs
   
Line 1590  ENDTWO Line 1642  ENDTWO
   
 sub role_select_row {  sub role_select_row {
     my ($roles,$title,$css_class,$show_separate_custom,$cdom,$cnum) = @_;      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;      my $output;
     if (defined($title)) {      if (defined($title)) {
         $output = &row_title($title,$css_class);          $output = &row_title($title,$css_class);
Line 1614  sub role_select_row { Line 1670  sub role_select_row {
                 $plrole = &mt('Custom Role');                  $plrole = &mt('Custom Role');
             }              }
         } else {          } else {
             $plrole=&Apache::lonnet::plaintext($role);              $plrole=&Apache::lonnet::plaintext($role,$crstype);
         }          }
         if (($role ne 'cr') || (!$show_separate_custom)) {          if (($role ne 'cr') || (!$show_separate_custom)) {
             $output .= '  <option value="'.$role.'">'.$plrole.'</option>';              $output .= '  <option value="'.$role.'">'.$plrole.'</option>';
Line 1629  sub role_select_row { Line 1685  sub role_select_row {
   
 sub course_select_row {  sub course_select_row {
     my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles,      my ($title,$formname,$totcodes,$codetitles,$idlist,$idlist_titles,
  $css_class) = @_;   $css_class,$crstype) = @_;
     my $output = &row_title($title,$css_class);      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();      $output .= &row_closure();
     return $output;      return $output;
 }  }
   
 sub course_selection {  sub course_selection {
     my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles) = @_;      my ($formname,$totcodes,$codetitles,$idlist,$idlist_titles,$crstype) = @_;
     my $output = qq|      my $output = qq|
 <script type="text/javascript">  <script type="text/javascript">
 // <![CDATA[  // <![CDATA[
Line 1666  sub course_selection { Line 1722  sub course_selection {
 // ]]>  // ]]>
 </script>  </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      my $courseform='<b>'.&Apache::loncommon::selectcourse_link
                      ($formname,'pickcourse','pickdomain','coursedesc','',1).'</b>';                       ($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'</b>';
         $output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.&mt('All courses').'<br />';          $output .= '<input type="radio" name="coursepick" value="all" onclick="coursePick(this.form)" />'.$allcrs.'<br />';
     if ($totcodes > 0) {      if ($totcodes > 0) {
         my $numtitles = @$codetitles;          my $numtitles = @$codetitles;
         if ($numtitles > 0) {          if ($numtitles > 0) {
Line 1713  sub course_selection { Line 1779  sub course_selection {
             $output .= '</tr></table><br />';              $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;      return $output;
 }  }
   
Line 1801  sub course_custom_roles { Line 1867  sub course_custom_roles {
   
 # topic_bar  # topic_bar
 #  #
 # Generates a div containing a numbered (static image) followed by a title  # Generates a div containing an (optional) numbered (static) image followed by a 
 # with a background color defined in the corresponding CSS: LC_topic_bar  # 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 {  sub topic_bar {
     my ($imgnum,$title) = @_;      my ($imgnum,$title) = @_;
     return '<div class="LC_topic_bar">'      my $imgtag;
           .'<img src="/res/adm/pages/bl_step'.$imgnum.'.gif"'      if ($imgnum =~ /^[1-9]$/) {
           .' alt="'.&mt('Step [_1]',$imgnum).'" />'          $imgtag = '<img src="/res/adm/pages/bl_step'.$imgnum.'.gif"'. 
           .' '.$title                    ' alt="'.&mt('Step [_1]',$imgnum).'" /> ';
           .'</div>';      }
       return '<div class="LC_topic_bar">'.$imgtag.$title.'</div>';
 }  }
   
 ##############################################  ##############################################
Line 1945  sub set_form_elements { Line 2017  sub set_form_elements {
             $values{$name}[$i] =~ s/([\r\n\f]+)/\\n/g;              $values{$name}[$i] =~ s/([\r\n\f]+)/\\n/g;
             $values{$name}[$i] =~ s/"/\\"/g;              $values{$name}[$i] =~ s/"/\\"/g;
         }          }
         if ($$elements{$name} eq 'text') {          if (($$elements{$name} eq 'text') || ($$elements{$name} eq 'hidden')) {
             my $numvalues = @{$values{$name}};              my $numvalues = @{$values{$name}};
             if ($numvalues > 1) {              if ($numvalues > 1) {
                 my $valuestring = join('","',@{$values{$name}});                  my $valuestring = join('","',@{$values{$name}});
Line 1980  sub set_form_elements { Line 2052  sub set_form_elements {
                     $output .= qq|                      $output .= qq|
       if (courseForm.elements['$name'].value == "$value") {        if (courseForm.elements['$name'].value == "$value") {
           courseForm.elements['$name'].checked = true;            courseForm.elements['$name'].checked = true;
         } else {
             courseForm.elements['$name'].checked = false;
       }|;        }|;
                 }                  }
             }              }
Line 2021  sub set_form_elements { Line 2095  sub set_form_elements {
         }          }
     }      }
     $output .= "      $output .= "
       return;
 }\n";  }\n";
     return $output;      return $output;
 }  }

Removed from v.1.233  
changed lines
  Added in v.1.242


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>