--- loncom/interface/loncommon.pm 2006/03/29 19:39:55 1.324 +++ loncom/interface/loncommon.pm 2006/04/10 19:54:54 1.329 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.324 2006/03/29 19:39:55 raeburn Exp $ +# $Id: loncommon.pm,v 1.329 2006/04/10 19:54:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -58,7 +58,6 @@ use strict; use Apache::lonnet; use GDBM_File; use POSIX qw(strftime mktime); -use Apache::Constants qw(:common :http :methods); use Apache::lonmenu(); use Apache::lonlocal; use HTML::Entities; @@ -2737,7 +2736,9 @@ Inputs: =item * $forcereg, if page should register as content page (relevant for text interface only) -=item * $customtitle, overrides the $title in some way ???? +=item * $customtitle, alternate text to use instead of $title + in the title box that appears, this text + is not auto translated like the $title is =item * $notopbar, if true, keep the 'what is this' info but remove the navigational links @@ -2767,7 +2768,6 @@ sub bodytag { my $vlink=&designparm($function.'.vlink',$domain); my $sidebg=&designparm($function.'.sidebg',$domain); # Accessibility font enhance - unless ($addentries) { $addentries=''; } my $addstyle=''; if ($env{'browser.fontenhance'} eq 'on') { $addstyle=' font-size: x-large;'; @@ -2786,6 +2786,26 @@ sub bodytag { # Port for miniserver my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'}; if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; } + my $extra_body_attr; + if ($forcereg) { + if (ref($addentries)) { + $addentries->{'onload'} = &Apache::lonmenu::loadevents(). + $addentries->{'onload'}; + $addentries->{'onunload'} = &Apache::lonmenu::unloadevents(). + $addentries->{'onunload'}; + } else { + $extra_body_attr.=' onload="'.&Apache::lonmenu::loadevents(). + '" onunload="'.&Apache::lonmenu::unloadevents().'"'; + } + } + if (!ref($addentries)) { + $extra_body_attr .= $addentries; + } else { + foreach my $attr (keys(%$addentries)) { + $extra_body_attr .= " $attr=\"".$addentries->{$attr}.'" '; + } + } + # construct main body tag my $bodytag = < @@ -2798,7 +2818,7 @@ form, .inline { display: inline; } .filename {font-family: monospace;} +style="margin-top: 0px;$addstyle" $extra_body_attr> END &Apache::lontexconvert::jsMath_reset(); if ($env{'environment.texengine'} eq 'jsMath' || @@ -3051,8 +3071,8 @@ Inputs: $title - optional title for the =cut sub head { - my ($title,$head_extra) = @_; - return &headtag($title,$head_extra).&endheadtag(); + my ($title,$head_extra,$args) = @_; + return &headtag($title,$head_extra,$args).&endheadtag(); } =pod @@ -3082,6 +3102,9 @@ Inputs: $title - optional title for the a html attribute force_register -> if is true will turn on the &bodytag() $forcereg arg + body_title -> alternate text to use instead of $title + in the title box that appears, this text + is not auto translated like the $title is =back @@ -3104,7 +3127,7 @@ sub start_page { &bodytag($title, $args->{'function'}, $args->{'add_entries'}, $args->{'only_body'}, $args->{'domain'}, - $args->{'force_register'}, undef, + $args->{'force_register'}, $args->{'body_title'}, $args->{'no_nav_bar'}, $args->{'bgcolor'}); if ($args->{'js_ready'}) { $result = &js_ready($result); @@ -3197,7 +3220,7 @@ sub simple_error_page { &Apache::loncommon::end_page(); if (ref($r)) { $r->print($page); - return OK; + return; } return $page; } @@ -3685,8 +3708,22 @@ sub get_posted_cgi { } } } +# +# Digested POSTed values +# +# Remember the way this was originally done (GET or POST) +# $env{'request.method'}=$ENV{'REQUEST_METHOD'}; - $r->method_number(M_GET); +# +# There may also be stuff in the query string +# Tell subsequent handlers that this was GET, not POST, so they can access query string. +# Also, unset POSTed content length to cover all tracks. +# + +# This does not work, because M_GET is not defined (if it's defined, it is just 0). +# Commenting out for now ... not sure if harm is done. +# $r->method_number(M_GET); + $r->method('GET'); $r->headers_in->unset('Content-length'); }