--- loncom/interface/lonhtmlcommon.pm 2010/08/30 02:55:17 1.283
+++ loncom/interface/lonhtmlcommon.pm 2011/05/15 23:57:32 1.285.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.283 2010/08/30 02:55:17 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.285.2.1 2011/05/15 23:57:32 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -62,6 +62,11 @@ use Apache::lonlocal;
use Apache::lonnet;
use LONCAPA;
+sub java_not_enabled {
+ return "\n".''.
+ &mt('The required Java applet could not be started. Please make sure to have Java installed and active in your browser.').
+ "\n";
+}
sub coursepreflink {
my ($text,$category)=@_;
@@ -1598,7 +1603,7 @@ returns: nothing
sub add_breadcrumb_tool {
my ($category, @html) = @_;
return unless @html;
- if (!defined(%tools)) {
+ if (!keys(%tools)) {
%tools = ( navigation => [], tools => [], advtools => []);
}
@@ -1606,7 +1611,9 @@ returns: nothing
@html = grep {defined $_ && $_ ne ''} @html;
for (@html) {
s/align="(right|left)"//;
- s/// if $category ne 'advtools';
+ if (($category ne 'advtools') && ($category ne 'tools')) {
+ s///;
+ }
}
push @{$tools{$category}}, @html;
@@ -1638,7 +1645,7 @@ returns: nothing
#TODO might split this in separate functions for each category
sub render_tools {
my ($breadcrumbs) = @_;
- return unless defined %tools;
+ return unless (keys(%tools));
my $navigation = list_from_array($tools{navigation},
{ listattr => { class=>"LC_breadcrumb_tools_navigation" } });
@@ -2100,30 +2107,30 @@ sub echo_form_input {
if ($key =~ /^form\.(.+)$/) {
my $name = $1;
my $match = 0;
- if ((!@{$excluded}) || (!grep/^$name$/,@{$excluded})) {
- if (defined($regexps)) {
- if (@{$regexps} > 0) {
- foreach my $regexp (@{$regexps}) {
- if ($name =~ /\Q$regexp\E/) {
- $match = 1;
- last;
- }
+ if (ref($excluded) eq 'ARRAY') {
+ next if (grep(/^\Q$name\E$/,@{$excluded}));
+ }
+ if (ref($regexps) eq 'ARRAY') {
+ if (@{$regexps} > 0) {
+ foreach my $regexp (@{$regexps}) {
+ if ($name =~ /$regexp/) {
+ $match = 1;
+ last;
}
}
}
- if (!$match) {
- if (ref($env{$key})) {
- foreach my $value (@{$env{$key}}) {
- $value = &HTML::Entities::encode($value,'<>&"');
- $output .= ''."\n";
- }
- } else {
- my $value = &HTML::Entities::encode($env{$key},'<>&"');
- $output .= ''."\n";
- }
+ }
+ next if ($match);
+ if (ref($env{$key}) eq 'ARRAY') {
+ foreach my $value (@{$env{$key}}) {
+ $value = &HTML::Entities::encode($value,'<>&"');
+ $output .= ''."\n";
}
+ } else {
+ my $value = &HTML::Entities::encode($env{$key},'<>&"');
+ $output .= ''."\n";
}
}
}
@@ -2424,6 +2431,7 @@ returns: XHTML list as String.
# \@items, {listattr => { class => 'abc', id => 'xyx' }, itemattr => {class => 'abc', id => 'xyx'}}
sub list_from_array {
my ($items, $args) = @_;
+ return unless (ref($items) eq 'ARRAY');
return unless scalar @$items;
my ($ul, $li) = inittags( qw(ul li) );
my $listitems = join '', map { $li->($_, $args->{itemattr}) } @$items;
@@ -2636,6 +2644,7 @@ returns: XHTML list as string.
sub funclist_from_array {
my ($items, $args) = @_;
+ return unless(ref($items) eq 'ARRAY');
$args->{legend} ||= mt('Functions');
return list_from_array( [$args->{legend}, @$items],
{ listattr => {class => 'LC_funclist'} });