--- rat/lonpage.pm 2008/11/20 13:11:43 1.88 +++ rat/lonpage.pm 2009/10/06 11:01:35 1.91.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Page Handler # -# $Id: lonpage.pm,v 1.88 2008/11/20 13:11:43 jms Exp $ +# $Id: lonpage.pm,v 1.91.2.1 2009/10/06 11:01:35 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -27,105 +27,7 @@ # ### -=head1 NAME - -Apache::lonpage - Page Handler - -=head1 SYNOPSIS - -Invoked by /etc/httpd/conf/srm.conf: - - - SetHandler perl-script - PerlHandler Apache::lonpage - - -=head1 INTRODUCTION - -This module renders a .page resource. - -This is part of the LearningOnline Network with CAPA project -described at http://www.lon-capa.org. - -=head1 HANDLER SUBROUTINE - -This routine is called by Apache and mod_perl. - -=over 4 - -=item * - -set document type for header only - -=item * - -tie db file - -=item * - -render page - -=item * - -add to symb list - -=item * - -page parms - -=item * - -Get SSI output, post parameters -=item * - -SSI cell rendering - -=item * - -Deal with Applet codebases - -=item * - -Build page - -=item * - -send headers - -=item * - -start body - -=item * - -start form - -=item * - -start table - -=item * - -submit element, etc, render page, untie hash - -=back - -=head1 OTHER SUBROUTINES - -=over 4 - -=item * - -euclid() : Euclid's method for determining the greatest common denominator. - -=item * - -tracetable() : Build page table. - -=back - -=cut package Apache::lonpage; @@ -372,7 +274,7 @@ sub handler { if ($target eq 'tex') { $output =~ s/^([^&]+)\\begin{document}//; $output =~ s/\\end{document}//; - $output = '\parbox{\minipagewidth}{ '.$output.' }'; +# $output = '\parbox{\minipagewidth}{ '.$output.' }'; #some additional cleanup necessary for LateX (due to limitations of table environment $output =~ s/(\\vskip\s*\d+mm)\s*(\\\\)+/$1/g; } @@ -440,7 +342,7 @@ sub handler { } $thisdir=~s/\/[^\/]*$//; foreach (@rlinks) { - unless (($_=~/^http:\/\//i) || + unless (($_=~/^https?\:\/\//i) || ($_=~/^\//) || ($_=~/^javascript:/i) || ($_=~/^mailto:/i) || @@ -495,17 +397,21 @@ sub handler { .'">'); } } elsif ($target eq 'tex') { - $r->print('\documentclass{article} - \newcommand{\keephidden}[1]{} - \usepackage[dvips]{graphicx} - \usepackage{epsfig} - \usepackage{calc} - \usepackage{longtable} - \begin{document}'); + # I think this is not needed as the header + # will be put in for each of the page parts + # by the londefdef.pm now that we are opening up + # the parts of a page. + #$r->print('\documentclass{article} + # \newcommand{\keephidden}[1]{} + # \usepackage[dvips]{graphicx} + # \usepackage{epsfig} + # \usepackage{calc} + # \usepackage{longtable} + # \begin{document}'); } # ----------------------------------------------------------------- Start table if ($target eq 'tex') { - $r->print('\begin{longtable}INSERTTHEHEADOFLONGTABLE\endfirsthead\endhead '); +# # $r->print('\begin{longtable}INSERTTHEHEADOFLONGTABLE\endfirsthead\endhead '); if ($number_of_columns le $lcm) {$number_of_columns=$lcm;}; } else { $r->print(''); @@ -692,6 +598,104 @@ sub get_buttons { __END__ +=head1 NAME + +Apache::lonpage - Page Handler + +=head1 SYNOPSIS + +Invoked by /etc/httpd/conf/srm.conf: + + + SetHandler perl-script + PerlHandler Apache::lonpage + + +=head1 INTRODUCTION + +This module renders a .page resource. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 HANDLER SUBROUTINE + +This routine is called by Apache and mod_perl. + +=over 4 + +=item * + +set document type for header only + +=item * + +tie db file + +=item * + +render page + +=item * + +add to symb list + +=item * + +page parms + +=item * + +Get SSI output, post parameters +=item * + +SSI cell rendering + +=item * + +Deal with Applet codebases + +=item * + +Build page + +=item * + +send headers + +=item * + +start body + +=item * + +start form + +=item * + +start table + +=item * + +submit element, etc, render page, untie hash + +=back + +=head1 OTHER SUBROUTINES + +=over 4 + +=item * + +euclid() : Euclid's method for determining the greatest common denominator. + +=item * + +tracetable() : Build page table. + +=back + +=cut