Diff for /rat/lonpage.pm between versions 1.12 and 1.15

version 1.12, 2000/10/16 09:46:23 version 1.15, 2000/10/31 19:31:42
Line 5 Line 5
 #  #
 # 05/29/00,05/30 Gerd Kortemeyer)  # 05/29/00,05/30 Gerd Kortemeyer)
 # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,  # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,
 # 10/02,10/10,10/14,10/16 Gerd Kortemeyer  # 10/02,10/10,10/14,10/16,10/18,10/19,10/31 Gerd Kortemeyer
   
 package Apache::lonpage;  package Apache::lonpage;
   
Line 168  sub handler { Line 168  sub handler {
                   my %ssilink=();                    my %ssilink=();
                   my %ssivlink=();                    my %ssivlink=();
                   my %ssialink=();                    my %ssialink=();
        
                     my %metalink=();
   
                   my %cellemb=();                    my %cellemb=();
   
                   my $allscript='';                    my $allscript='';
Line 177  sub handler { Line 180  sub handler {
                   my $xmlheader='';                    my $xmlheader='';
                   my $xmlbody='';                    my $xmlbody='';
   
                     my %httpref=();
   
 # --------------------------------------------- Get SSI output, post parameters  # --------------------------------------------- Get SSI output, post parameters
   
                   for ($i=0;$i<=$#rows;$i++) {                    for ($i=0;$i<=$#rows;$i++) {
Line 187  sub handler { Line 192  sub handler {
                       map {                        map {
                           my $src=$hash{'src_'.$_};                            my $src=$hash{'src_'.$_};
                           $src=~/\.(\w+)$/;                            $src=~/\.(\w+)$/;
                             $metalink{$_}=$src.'.meta';
                           $cellemb{$_}=Apache::lonnet::fileembstyle($1);                            $cellemb{$_}=Apache::lonnet::fileembstyle($1);
                           if ($cellemb{$_} eq 'ssi') {                            if ($cellemb{$_} eq 'ssi') {
 # --------------------------------------------------------- This is an SSI cell  # --------------------------------------------------------- This is an SSI cell
Line 209  sub handler { Line 215  sub handler {
                               my $bodydef=0;                                my $bodydef=0;
                               my $thisxml=0;                                my $thisxml=0;
                               my @rlinks=();                                my @rlinks=();
                                 my @alinks=();
                               if ($output=~/\?xml/) {                                if ($output=~/\?xml/) {
                                  $isxml=1;                                   $isxml=1;
                                  $thisxml=1;                                   $thisxml=1;
Line 226  sub handler { Line 233  sub handler {
   } elsif ($token->[1] eq 'img') {    } elsif ($token->[1] eq 'img') {
                                          $rlinks[$#rlinks+1]=                                           $rlinks[$#rlinks+1]=
      $token->[2]->{'src'};       $token->[2]->{'src'};
                                            $alinks[$#alinks+1]=
        $token->[2]->{'src'};
   } elsif ($token->[1] eq 'embed') {    } elsif ($token->[1] eq 'embed') {
                                          $rlinks[$#rlinks+1]=                                           $rlinks[$#rlinks+1]=
      $token->[2]->{'src'};       $token->[2]->{'src'};
                                            $alinks[$#alinks+1]=
        $token->[2]->{'src'};
     } elsif ($token->[1] eq 'applet') {
                                            $alinks[$#alinks+1]=
        $token->[2]->{'code'};
                                            $alinks[$#alinks+1]=
        $token->[2]->{'archive'};
     } elsif ($token->[1] eq 'param') {
         if ($token->[2]->{'name'} eq 'cabbase') {
                                            $alinks[$#alinks+1]=
        $token->[2]->{'value'};
                                         }   
   } elsif ($token->[1] eq 'base') {    } elsif ($token->[1] eq 'base') {
       $thisdir=$token->[2]->{'href'};        $thisdir=$token->[2]->{'href'};
   } elsif ($token->[1] eq 'body') {    } elsif ($token->[1] eq 'body') {
Line 268  sub handler { Line 289  sub handler {
                      $output=~s/(\"|\'|\=\s*)$_(\"|\'|\s|\>)/$1$newlocation$2/;                       $output=~s/(\"|\'|\=\s*)$_(\"|\'|\s|\>)/$1$newlocation$2/;
   }    }
       } @rlinks;        } @rlinks;
                                 map {
                                     $httpref{'httpref.'.
          &Apache::lonnet::hreflocation($thisdir,$_)}=
      $r->uri;
                                 } @alinks;
                      $output=~s/\<\s*applet/\<applet codebase=\"$thisdir\" /gi;                       $output=~s/\<\s*applet/\<applet codebase=\"$thisdir\" /gi;
       $ssibody{$_}=$output;        $ssibody{$_}=$output;
   
 # ---------------------------------------------------------------- End SSI cell  # ---------------------------------------------------------------- End SSI cell
                           }                            }
                       } @colcont;                        } @colcont;
Line 283  sub handler { Line 308  sub handler {
                   } else {                    } else {
 # ------------------------------------------------------------------ Build page  # ------------------------------------------------------------------ Build page
   
   # ------------------------------------------------------------- Mark references
                         &Apache::lonnet::appenv(%httpref);
 # ---------------------------------------------------------------- Send headers  # ---------------------------------------------------------------- Send headers
                       if ($isxml) {                        if ($isxml) {
   $r->content_type('text/xml');    $r->content_type('text/xml');
Line 319  sub handler { Line 346  sub handler {
                           my $avespan=$lcm/($#colcont+1);                            my $avespan=$lcm/($#colcont+1);
                           for ($j=0;$j<=$#colcont;$j++) {                            for ($j=0;$j<=$#colcont;$j++) {
                               my $rid=$colcont[$j];                                my $rid=$colcont[$j];
                                 my $metainfo='<a href="'.
                                       $metalink{$rid}.'" target="LONcatInfo">'.
                             '<img src="/adm/lonMisc/cat_button.gif" border=0>'.
     '</img></a><br></br>';
                               $r->print('<td colspan="'.$avespan.'"');                                $r->print('<td colspan="'.$avespan.'"');
                               if ($cellemb{$rid} eq 'ssi') {                                if ($cellemb{$rid} eq 'ssi') {
   if ($ssibgcolor{$rid}) {    if ($ssibgcolor{$rid}) {
                                      $r->print(' bgcolor="'.                                       $r->print(' bgcolor="'.
                                                $ssibgcolor{$rid}.'"');                                                 $ssibgcolor{$rid}.'"');
                                   }                                    }
                                   $r->print('><font');                                    $r->print('>'.$metainfo.'<font');
                                   if ($ssitext{$rid}) {                                    if ($ssitext{$rid}) {
      $r->print(' text="'.$ssitext{$rid}.'"');       $r->print(' text="'.$ssitext{$rid}.'"');
                                   }                                    }
Line 341  sub handler { Line 372  sub handler {
                                                           
                                   $r->print('>'.$ssibody{$rid}.'</font>');                                    $r->print('>'.$ssibody{$rid}.'</font>');
                               } elsif ($cellemb{$rid} eq 'img') {                                } elsif ($cellemb{$rid} eq 'img') {
                                   $r->print('><img src="'.                                    $r->print('>'.$metainfo.'<img src="'.
                                     $hash{'src_'.$rid}.'"></img>');                                      $hash{'src_'.$rid}.'"></img>');
       }        } elsif ($cellemb{$rid} eq 'emb') {
                                     $r->print('>'.$metainfo.'<embed src="'.
                                       $hash{'src_'.$rid}.'"></embed>');
                                 }
                               $r->print('</td>');                                $r->print('</td>');
                           }                            }
                           $r->print('</tr>');                            $r->print('</tr>');

Removed from v.1.12  
changed lines
  Added in v.1.15


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