--- loncom/interface/lonhelp.pm 2005/03/22 16:49:02 1.17 +++ loncom/interface/lonhelp.pm 2006/03/15 21:55:58 1.20 @@ -37,26 +37,26 @@ use Apache::lonacc(); use Apache::lontexconvert(); use Apache::lonnavmaps; # for advancedUser use Apache::lonlocal; +use Apache::lonnet; use tth(); use GDBM_File(); # This sub takes the name of a label in, and converts it to something # that is a valid anchor name. -sub processLabelName -{ + +sub processLabelName { my ($name) = @_; $name =~ tr/a-zA-Z0-9/_/cs; return $name; } -# Serve out the Tex -sub serveTex -{ - my ($tex, $r) = @_; +# Serve out the text +sub servetext { + my ($r,$text) = @_; my $html=&Apache::lonxml::xmlbegin(); + my $htmlend=&Apache::lonxml::xmlend(); my $bugs=&Apache::loncommon::help_open_bug('Documentation'); my $header=&mt('LON-CAPA Help'); - my $footer=&mt('About LON-CAPA help and More Help'); $r->print(< @@ -68,29 +68,30 @@ $html HEADER - $r->print($tex); + $r->print($text); - if (Apache::lonnavmaps::advancedUser()) { -$r->print(<print(< -
-
$footer
+
+$search:
+$about - +$htmlend FOOTER -} else { - $r->print(<print(< - -FOOTER -} +$htmlend +ENDBODY } # Render takes a tex fragment, transforms it for TtH, and returns the # HTML equivalent -sub render -{ +sub render { my ($tex, $docroot, $serverroot) = @_; tie (my %fragmentLabels, 'GDBM_File', $docroot . '/adm/help/fragmentLabels.gdbm', 0, 0); @@ -108,7 +109,7 @@ sub render }; '\\begin{html}' . '\\end{html}' |gxe; @@ -141,8 +142,7 @@ sub render return $tex; } -sub handler -{ +sub handler { my $r = shift; my $docroot = $r->dir_config('lonDocRoot'); @@ -150,7 +150,7 @@ sub handler my $filenames = &Apache::lonnet::unescape(substr ($ENV{'REQUEST_URI'} , rindex($ENV{'REQUEST_URI'}, '/') + 1, -4)); - + # Security check on the file; the whole filename must consist # of nothing but alphanums, ' ,, or ., or the file # will be "not found", no matter what. @@ -180,10 +180,10 @@ sub handler $tex .= join('', <$file>); } - if ($ENV{'browser.mathml'}) { + if ($env{'browser.mathml'}) { &Apache::loncommon::content_type($r,'text/xml'); &tth::ttminit(); - if ($ENV{'browser.unicode'}) { + if ($env{'browser.unicode'}) { &tth::ttmoptions('-L -u1'); } else { &tth::ttmoptions('-L -u0'); @@ -191,7 +191,7 @@ sub handler } else { &Apache::loncommon::content_type($r,"text/html"); &tth::tthinit(); - if ($ENV{'browser.unicode'}) { + if ($env{'browser.unicode'}) { &tth::tthoptions('-L -u1'); } else { &tth::tthoptions('-L -u0'); @@ -199,9 +199,8 @@ sub handler } $r->send_http_header; - $tex = render($tex, $docroot, $serverroot); - serveTex($tex, $r); - + my $text = &render($tex, $docroot, $serverroot); + &servetext($r,$text); return OK; }