--- loncom/interface/loncommon.pm 2006/04/14 20:16:02 1.337
+++ loncom/interface/loncommon.pm 2006/04/18 20:55:14 1.341
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.337 2006/04/14 20:16:02 albertel Exp $
+# $Id: loncommon.pm,v 1.341 2006/04/18 20:55:14 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2753,7 +2753,10 @@ Inputs:
=item * $notopbar, if true, keep the 'what is this' info but remove the
navigational links
-=item * $bgcolor, used to override the bg coor on a webpage to a specific value
+=item * $bgcolor, used to override the bgcolor on a webpage to a specific value
+
+=item * $notitle, if true keep the nav controls, but remove the title bar
+
=back
@@ -2766,22 +2769,25 @@ other decorations will be returned.
sub bodytag {
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,
- $notopbar,$bgcolor,$hidetitle)=@_;
+ $notopbar,$bgcolor,$notitle)=@_;
+
$title=&mt($title);
+
$function = &get_users_function() if (!$function);
- my $img=&designparm($function.'.img',$domain);
- my $pgbg= $bgcolor || &designparm($function.'.pgbg',$domain);
- my $tabbg=&designparm($function.'.tabbg',$domain);
- my $font=&designparm($function.'.font',$domain);
- my $link=&designparm($function.'.link',$domain);
- my $alink=&designparm($function.'.alink',$domain);
- my $vlink=&designparm($function.'.vlink',$domain);
- my $sidebg=&designparm($function.'.sidebg',$domain);
-# Accessibility font enhance
- my $addstyle='';
- if ($env{'browser.fontenhance'} eq 'on') {
- $addstyle=' font-size: x-large;';
- }
+ my $img = &designparm($function.'.img',$domain);
+ my $tabbg = &designparm($function.'.tabbg',$domain);
+ my $font = &designparm($function.'.font',$domain);
+ my $sidebg = &designparm($function.'.sidebg',$domain);
+ my $pgbg = $bgcolor || &designparm($function.'.pgbg',$domain);
+
+ my %design = ( 'style' => 'margin-top: 0px',
+ 'bgcolor' => $pgbg,
+ 'text' => $font,
+ 'alink' => &designparm($function.'.alink',$domain),
+ 'vlink' => &designparm($function.'.vlink',$domain),
+ 'link' => &designparm($function.'.link',$domain),);
+ @$addentries{keys(%design)} = @design{keys(%design)};
+
# role and realm
my ($role,$realm)
=&Apache::lonnet::plaintext((split(/\./,$env{'request.role'}))[0]);
@@ -2810,8 +2816,7 @@ form, .inline { display: inline; }
.center { text-align: center; }
.filename {font-family: monospace;}
-
+
END
$bodytag .= &Apache::lontexconvert::init_math_support();
@@ -2826,7 +2831,7 @@ END
# Accessibility
$bodytag.=&Apache::lonmenu::menubuttons($forcereg,$forcereg);
- if (!$hidetitle) {
+ if (!$notitle) {
$bodytag.='LON-CAPA: '.$title.'
';
}
return $bodytag;
@@ -2879,7 +2884,7 @@ ENDROLE
$forcereg=1;
}
my $titletable;
- if (!$hidetitle) {
+ if (!$notitle) {
$titletable =
''.
@@ -2924,7 +2929,7 @@ ENDROLE
# Explicit link to get inline menu
my $menu='
'.&mt('Switch to Inline Menu Mode').'';
#
- if ($hidetitle) {
+ if ($notitle) {
return $bodytag;
}
return(<{'onload'} = &Apache::lonmenu::loadevents().
- $attr_ref->{'onload'};
- $attr_ref->{'onunload'} = &Apache::lonmenu::unloadevents().
- $attr_ref->{'onunload'};
+ my ($on_load,$on_unload);
+ foreach my $key (keys(%{$attr_ref})) {
+ if (lc($key) eq 'onload') {
+ $on_load.=$attr_ref->{$key}.';';
+ delete($attr_ref->{$key});
+
+ } elsif (lc($key) eq 'onunload') {
+ $on_unload.=$attr_ref->{$key}.';';
+ delete($attr_ref->{$key});
+ }
+ }
+ $attr_ref->{'onload'} =
+ &Apache::lonmenu::loadevents(). $on_load;
+ $attr_ref->{'onunload'}=
+ &Apache::lonmenu::unloadevents().$on_unload;
+ }
+
+# Accessibility font enhance
+ if ($env{'browser.fontenhance'} eq 'on') {
+ my $style;
+ foreach my $key (keys(%{$attr_ref})) {
+ if (lc($key) eq 'style') {
+ $style.=$attr_ref->{$key}.';';
+ delete($attr_ref->{$key});
+ }
+ }
+ $attr_ref->{'style'}=$style.'; font-size: x-large;';
+ }
+
+ if ($env{'browser.blackwhite'} eq 'on') {
+ delete($attr_ref->{'font'});
+ delete($attr_ref->{'link'});
+ delete($attr_ref->{'alink'});
+ delete($attr_ref->{'vlink'});
+ delete($attr_ref->{'bgcolor'});
+ delete($attr_ref->{'background'});
}
+
my $attr_string;
foreach my $attr (keys(%$attr_ref)) {
$attr_string .= " $attr=\"".$attr_ref->{$attr}.'" ';
@@ -3038,7 +3076,7 @@ sub headtag {
my $result =
''.
- &Apache::lonxml::fontsettings().
+ &font_settings().
&Apache::lonhtmlcommon::htmlareaheaders();
if ($args->{'force_register'}) {
@@ -3066,6 +3104,65 @@ ADDMETA
=over 4
+=item * &font_settings()
+
+Returns neccessary to set the proper encoding
+
+Inputs: none
+
+=back
+
+=cut
+
+sub font_settings {
+ my $headerstring='';
+ if (($env{'browser.os'} eq 'mac') && (!$env{'browser.mathml'})) {
+ $headerstring.=
+ '';
+ } elsif (!$env{'browser.mathml'} && $env{'browser.unicode'}) {
+ $headerstring.=
+ '';
+ }
+ return $headerstring;
+}
+
+=pod
+
+=over 4
+
+=item * &xml_begin()
+
+Returns the needed doctype and
+
+Inputs: none
+
+=back
+
+=cut
+
+sub xml_begin {
+ my $output='';
+
+ @Apache::lonxml::htmlareafields=();
+ if ($env{'browser.mathml'}) {
+ $output=''
+ #.''."\n"
+# .'] >'
+ .''
+ .'';
+ } else {
+ $output='';
+ }
+ return $output;
+}
+
+=pod
+
+=over 4
+
=item * &endheadtag()
Returns a uniform for LON-CAPA web pages.
@@ -3131,6 +3228,10 @@ Inputs: $title - optional title for the
is not auto translated like the $title is
frameset -> if true will start with a