Diff for /rat/lonpage.pm between versions 1.43 and 1.53

version 1.43, 2002/07/01 15:02:19 version 1.53, 2003/09/22 03:02:06
Line 33 Line 33
 # 10/02,10/10,10/14,10/16,10/18,10/19,10/31,11/6,11/14,11/16,  # 10/02,10/10,10/14,10/16,10/18,10/19,10/31,11/6,11/14,11/16,
 # YEAR=2001  # YEAR=2001
 # 08/13/01,08/30,10/1 Gerd Kortemeyer  # 08/13/01,08/30,10/1 Gerd Kortemeyer
 # 12/16 Scott Harrison  
 # YEAR=2002  # YEAR=2002
 # 03/19 Gerd Kortemeyer  # 03/19 Gerd Kortemeyer
 #  #
Line 46  use Apache::Constants qw(:common :http); Line 45  use Apache::Constants qw(:common :http);
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonxml();  use Apache::lonxml();
   use Apache::lonmenu;
 use HTML::TokeParser;  use HTML::TokeParser;
 use GDBM_File;  use GDBM_File;
 use Apache::lonsequence;  use Apache::lonsequence;
Line 145  sub handler { Line 145  sub handler {
   
   if ($r->header_only) {    if ($r->header_only) {
        if ($ENV{'browser.mathml'}) {         if ($ENV{'browser.mathml'}) {
            $r->content_type('text/xml');             &Apache::loncommon::content_type($r,'text/xml');
        } else {         } else {
            $r->content_type('text/html');              &Apache::loncommon::content_type($r,'text/html'); 
        }         }
        $r->send_http_header;         $r->send_http_header;
        return OK;         return OK;
Line 162  sub handler { Line 162  sub handler {
   if (($ENV{'request.course.fn'}) && (!$ENV{'form.forceselect'})) {    if (($ENV{'request.course.fn'}) && (!$ENV{'form.forceselect'})) {
       my $fn=$ENV{'request.course.fn'};        my $fn=$ENV{'request.course.fn'};
       if (-e "$fn.db") {        if (-e "$fn.db") {
           if (tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER,0640)) {            if (tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640)) {
 # ------------------------------------------------------------------- Hash tied  # ------------------------------------------------------------------- Hash tied
               my $firstres=$hash{'map_start_'.$requrl};                my $firstres=$hash{'map_start_'.$requrl};
               my $lastres=$hash{'map_finish_'.$requrl};                my $lastres=$hash{'map_finish_'.$requrl};
Line 171  sub handler { Line 171  sub handler {
   
                   @rows=();                    @rows=();
   
                   &tracetable(0,$firstres,'&'.$lastres.'&');                    &tracetable(0,$firstres,'&');
                   if ($hash{'src_'.$lastres}) {  
                      my $brepriv=  
                         &Apache::lonnet::allowed('bre',$hash{'src_'.$lastres});  
                      if (($brepriv eq '2') || ($brepriv eq 'F')) {  
                         $rows[$#rows+1]=''.$lastres;  
      }  
   }  
   
 # ------------------------------------------------------------ Add to symb list  # ------------------------------------------------------------ Add to symb list
   
Line 246  sub handler { Line 239  sub handler {
                                }                                 }
       }        }
                               my $output=Apache::lonnet::ssi($src,%posthash);                                my $output=Apache::lonnet::ssi($src,%posthash);
         $output=~
       s/\/\/ BEGIN LON\-CAPA Internal.+\/\/ END LON\-CAPA Internal\s//gs;
                                 if ($target eq 'tex') {
     $output =~ s/^([^&]+)\\begin{document}//;
     $output =~ s/\\end{document}//;
     $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;
         }
                               my $parser=HTML::TokeParser->new(\$output);                                my $parser=HTML::TokeParser->new(\$output);
                               my $token;                                my $token;
                               my $thisdir=$src;                                my $thisdir=$src;
Line 329  sub handler { Line 331  sub handler {
                      }                        } 
                   }                    }
                   unless ($contents) {                    unless ($contents) {
                       $r->content_type('text/html');                        &Apache::loncommon::content_type($r,'text/html');
                       $r->send_http_header;                        $r->send_http_header;
                       $r->print('<html><body>Empty page.</body></html>');                        $r->print('<html><body>'.&mt('Empty page').'.</body></html>');
                   } else {                    } else {
 # ------------------------------------------------------------------ Build page  # ------------------------------------------------------------------ Build page
   
 # ---------------------------------------------------------------- Send headers  # ---------------------------------------------------------------- Send headers
       unless ($target eq 'tex') {        unless ($target eq 'tex') {
   if ($isxml) {    if ($isxml) {
       $r->content_type('text/xml');        &Apache::loncommon::content_type($r,'text/xml');
       $r->send_http_header;        $r->send_http_header;
       $r->print($xmlheader);        $r->print($xmlheader);
   } else {    } else {
       $r->content_type('text/html');        &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;        $r->send_http_header;
       $r->print('<html>');        $r->print('<html>');
   }    }
 # ------------------------------------------------------------------------ Head  # ------------------------------------------------------------------------ Head
   $r->print("\n<head>\n".$allmeta);    $r->print("\n<head>\n".$allmeta);
   $allscript=~  
       s/\/\/ BEGIN LON\-CAPA Internal.+\/\/ END LON\-CAPA Internal\s//gs;  
   if ($allscript) {    if ($allscript) {
       $r->print("\n<script language='JavaScript'>\n".        $r->print("\n<script language='JavaScript'>\n".
  $allscript."\n</script>\n");   $allscript."\n</script>\n");
   }    }
   $r->print(&Apache::lonxml::registerurl(1,undef));    $r->print(&Apache::lonmenu::registerurl(1,undef));
   $r->print("\n</head>\n");    $r->print("\n</head>\n");
 # ------------------------------------------------------------------ Start body  # ------------------------------------------------------------------ Start body
   if ($isxml) {    if ($isxml) {
       $r->print($xmlbody);        $r->print($xmlbody);
   } else {    } else {
       $r->print('<body bgcolor="#FFFFFF" onLoad="'.&Apache::lonxml::loadevents.'" onUnload="'.&Apache::lonxml::unloadevents.'">');        $r->print(
                  '<body bgcolor="#FFFFFF" onLoad="'.&Apache::lonmenu::loadevents.
                  '" onUnload="'.&Apache::lonmenu::unloadevents.'">'.
                                 &Apache::lonmenu::menubuttons(undef,$target,1)
    );
   }    }
 # ------------------------------------------------------------------ Start form  # ------------------------------------------------------------------ Start form
   if ($nforms) {    if ($nforms) {
Line 368  sub handler { Line 372  sub handler {
  $requrl.'">');   $requrl.'">');
   }    }
       } else {        } else {
   $r->print('\documentclass[letterpaper]{article}    $r->print('\documentclass{article}
                                  \newcommand{\keephidden}[1]{}                                              \newcommand{\keephidden}[1]{}           
                                  \usepackage[dvips]{graphicx}                                   \usepackage[dvips]{graphicx}
                                  \usepackage{epsfig}                                   \usepackage{epsfig}
Line 410  sub handler { Line 414  sub handler {
  &Apache::lonnet::declutter($hash{'src_'.$rid});   &Apache::lonnet::declutter($hash{'src_'.$rid});
                                  $metainfo.=                                   $metainfo.=
                   '<a href="/adm/grades?symb='.&Apache::lonnet::escape($symb).                    '<a href="/adm/grades?symb='.&Apache::lonnet::escape($symb).
                   '&command=submission" target="LONcatInfo">'.  #                 '&command=submission" target="LONcatInfo">'.
                     '&command=submission">'.
                           '<img src="/adm/lonMisc/subm_button.gif" border=0>'.                            '<img src="/adm/lonMisc/subm_button.gif" border=0>'.
   '</img></a>'.    '</img></a>'.
                   '<a href="/adm/grades?symb='.&Apache::lonnet::escape($symb).                    '<a href="/adm/grades?symb='.&Apache::lonnet::escape($symb).
                   '&command=gradingmenu" target="LONcatInfo">'.  #                  '&command=gradingmenu" target="LONcatInfo">'.
                     '&command=gradingmenu">'.
                           '<img src="/adm/lonMisc/pgrd_button.gif" border=0>'.                            '<img src="/adm/lonMisc/pgrd_button.gif" border=0>'.
   '</img></a>'.    '</img></a>'.
                   '<a href="/adm/parmset?symb='.&Apache::lonnet::escape($symb).                    '<a href="/adm/parmset?symb='.&Apache::lonnet::escape($symb).
                           '" target="LONcatInfo">'.  #                          '" target="LONcatInfo">'.
                             '" >'.
                           '<img src="/adm/lonMisc/pprm_button.gif" border=0>'.                            '<img src="/adm/lonMisc/pprm_button.gif" border=0>'.
       '</img></a>';        '</img></a>';
                               }                                }
Line 486  sub handler { Line 493  sub handler {
       unless ($target eq 'tex') {        unless ($target eq 'tex') {
   $r->print("\n</table>");    $r->print("\n</table>");
       } else {        } else {
   $r->print('\end{longtable}');    $r->print('\end{longtable}\strut');
       }        }
 # ---------------------------------------------------------------- Submit, etc.  # ---------------------------------------------------------------- Submit, etc.
                       if ($nforms) {                        if ($nforms) {

Removed from v.1.43  
changed lines
  Added in v.1.53


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>