Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.282 and 1.285.2.2

version 1.282, 2010/08/08 02:00:38 version 1.285.2.2, 2011/10/11 13:12:23
Line 60  use Time::Local; Line 60  use Time::Local;
 use Time::HiRes;  use Time::HiRes;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
   use HTML::Entities();
 use LONCAPA;  use LONCAPA;
   
   sub java_not_enabled {
      return "\n".'<span class="LC_error">'.
             &mt('The required Java applet could not be started. Please make sure to have Java installed and active in your browser.').
             "</span>\n";
   }
   
 sub coursepreflink {  sub coursepreflink {
    my ($text,$category)=@_;     my ($text,$category)=@_;
Line 78  sub raw_href_to_link { Line 84  sub raw_href_to_link {
    return $message;     return $message;
 }  }
   
   sub entity_encode {
       my ($text)=@_;
       return &HTML::Entities::encode($text, '<>&"');
   }
   
 ##############################################  ##############################################
 ##############################################  ##############################################
   
Line 1598  returns: nothing Line 1609  returns: nothing
     sub add_breadcrumb_tool {      sub add_breadcrumb_tool {
         my ($category, @html) = @_;          my ($category, @html) = @_;
         return unless @html;          return unless @html;
         if (!defined(%tools)) {           if (!keys(%tools)) { 
             %tools = ( navigation => [], tools => [], advtools => []);              %tools = ( navigation => [], tools => [], advtools => []);
         }          }
   
Line 1606  returns: nothing Line 1617  returns: nothing
         @html = grep {defined $_ && $_ ne ''} @html;          @html = grep {defined $_ && $_ ne ''} @html;
         for (@html) {           for (@html) { 
             s/align="(right|left)"//;               s/align="(right|left)"//; 
             s/<span.*?\/span>// if $category ne 'advtools';               if (($category ne 'advtools') && ($category ne 'tools')) {
                   s/<span.*?\/span>//;
               }
         }           } 
   
         push @{$tools{$category}}, @html;          push @{$tools{$category}}, @html;
Line 1638  returns: nothing Line 1651  returns: nothing
 #TODO might split this in separate functions for each category  #TODO might split this in separate functions for each category
     sub render_tools {      sub render_tools {
         my ($breadcrumbs) = @_;          my ($breadcrumbs) = @_;
         return unless defined %tools;          return unless (keys(%tools));
   
         my $navigation = list_from_array($tools{navigation},           my $navigation = list_from_array($tools{navigation}, 
                    { listattr => { class=>"LC_breadcrumb_tools_navigation" } });                     { listattr => { class=>"LC_breadcrumb_tools_navigation" } });
Line 2100  sub echo_form_input { Line 2113  sub echo_form_input {
         if ($key =~ /^form\.(.+)$/) {          if ($key =~ /^form\.(.+)$/) {
             my $name = $1;              my $name = $1;
             my $match = 0;              my $match = 0;
             if ((!@{$excluded}) || (!grep/^$name$/,@{$excluded})) {              if (ref($excluded) eq 'ARRAY') {    
                 if (defined($regexps)) {                  next if (grep(/^\Q$name\E$/,@{$excluded}));
                     if (@{$regexps} > 0) {              }
                         foreach my $regexp (@{$regexps}) {              if (ref($regexps) eq 'ARRAY') {
                             if ($name =~ /\Q$regexp\E/) {                  if (@{$regexps} > 0) {
                                 $match = 1;                      foreach my $regexp (@{$regexps}) {
                                 last;                          if ($name =~ /$regexp/) {
                             }                              $match = 1;
                               last;
                         }                          }
                     }                      }
                 }                  }
                 if (!$match) {              }
                     if (ref($env{$key})) {              next if ($match);
                         foreach my $value (@{$env{$key}}) {              if (ref($env{$key}) eq 'ARRAY') {
                             $value = &HTML::Entities::encode($value,'<>&"');                  foreach my $value (@{$env{$key}}) {
                             $output .= '<input type="hidden" name="'.$name.                      $value = &HTML::Entities::encode($value,'<>&"');
                                              '" value="'.$value.'" />'."\n";                      $output .= '<input type="hidden" name="'.$name.
                         }                                 '" value="'.$value.'" />'."\n";
                     } else {  
                         my $value = &HTML::Entities::encode($env{$key},'<>&"');  
                         $output .= '<input type="hidden" name="'.$name.  
                                              '" value="'.$value.'" />'."\n";  
                     }  
                 }                  }
               } else {
                   my $value = &HTML::Entities::encode($env{$key},'<>&"');
                   $output .= '<input type="hidden" name="'.$name.
                              '" value="'.$value.'" />'."\n";
             }              }
         }          }
     }      }
Line 2424  returns: XHTML list as String. Line 2437  returns: XHTML list as String.
 # \@items, {listattr => { class => 'abc', id => 'xyx' }, itemattr => {class => 'abc', id => 'xyx'}}  # \@items, {listattr => { class => 'abc', id => 'xyx' }, itemattr => {class => 'abc', id => 'xyx'}}
 sub list_from_array {  sub list_from_array {
     my ($items, $args) = @_;      my ($items, $args) = @_;
       return unless (ref($items) eq 'ARRAY');
     return unless scalar @$items;      return unless scalar @$items;
     my ($ul, $li) = inittags( qw(ul li) );      my ($ul, $li) = inittags( qw(ul li) );
     my $listitems = join '', map { $li->($_, $args->{itemattr}) } @$items;      my $listitems = join '', map { $li->($_, $args->{itemattr}) } @$items;
Line 2475  sub generate_menu { Line 2489  sub generate_menu {
             # create the markup for the current $link and push it into @links.              # create the markup for the current $link and push it into @links.
             # each entry consists of an image and a text optionally followed               # each entry consists of an image and a text optionally followed 
             # by a help link.              # by a help link.
               my $src;
               if ($$link{icon} ne '') {
                   $src = '/res/adm/pages/'.$$link{icon};
               }
             push(@links,$li->(              push(@links,$li->(
                         $a->(                          $a->(
                             $img->("", {                              $img->("", {
                                 class => "LC_noBorder LC_middle",                                  class => "LC_noBorder LC_middle",
                                 src   => "/res/adm/pages/$$link{icon}",                                  src   => $src,
                                 alt   => mt(defined($$link{alttext}) ?                                  alt   => mt(defined($$link{alttext}) ?
                                 $$link{alttext} : $$link{linktext})                                  $$link{alttext} : $$link{linktext})
                             }), {                              }), {
Line 2632  returns: XHTML list as string. Line 2650  returns: XHTML list as string.
   
 sub funclist_from_array {  sub funclist_from_array {
     my ($items, $args) = @_;      my ($items, $args) = @_;
       return unless(ref($items) eq 'ARRAY');
     $args->{legend} ||= mt('Functions');      $args->{legend} ||= mt('Functions');
     return list_from_array( [$args->{legend}, @$items],       return list_from_array( [$args->{legend}, @$items], 
                { listattr => {class => 'LC_funclist'} });                 { listattr => {class => 'LC_funclist'} });

Removed from v.1.282  
changed lines
  Added in v.1.285.2.2


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