version 1.282, 2010/08/08 02:00:38
|
version 1.286, 2011/01/13 17:44:30
|
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, '<>&"'); |
|
} |
|
|
|
sub direct_parm_link { |
|
my ($linktext,$symb,$filter,$part,$target)=@_; |
|
$symb=&entity_encode($symb); |
|
$filter=&entity_encode($filter); |
|
$part=&entity_encode($part); |
|
if (($symb) && (&Apache::lonnet::allowed('opa')) && ($target ne 'tex')) { |
|
return "<a href='/adm/parmset?symb=$symb&filter=$filter&part=$part'>$linktext</a>"; |
|
} else { |
|
return $linktext; |
|
} |
|
} |
############################################## |
############################################## |
############################################## |
############################################## |
|
|
Line 1598 returns: nothing
|
Line 1620 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 1638 returns: nothing
|
Line 1660 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 2122 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 2446 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 2498 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 2659 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'} }); |