Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.639 and 1.640

version 1.639, 2005/06/17 16:48:13 version 1.640, 2005/06/17 16:53:07
Line 1379  sub extract_embedded_items { Line 1379  sub extract_embedded_items {
                       src => '',                        src => '',
                       movie => '',                        movie => '',
                      );                       );
     my $p = HTML::Parser->new      my $p = HTML::LCParser->new($filepath.'/'.$file);
     (      while ($t=$p->get_token()) {
         start_h =>   if ($t->[0] eq 'S') {
             [sub {      my ($tagname, $attr) = ($t->[1],$t->[2]);
                  my ($tagname, $attr) = @_;      push (@state, $tagname);
                  push (@state, $tagname);      if (lc($tagname) eq 'img') {
                  if (lc($tagname) eq 'img') {   &add_filetype($allfiles,$attr->{'src'},'src');
      &add_filetype($allfiles,$attr->{'src'},'src');      }
                  }      if (lc($tagname) eq 'object' ||
                  if (lc($tagname) eq 'object' ||   (lc($tagname) eq 'embed' && lc($state[-2]) ne 'object')) {
      (lc($tagname) eq 'embed' && lc($state[-2]) ne 'object')) {   foreach my $item (keys(%javafiles)) {
                      foreach my $item (keys(%javafiles)) {      $javafiles{$item} = '';
                          $javafiles{$item} = '';   }
                      }      }
                  }      if (lc($state[-2]) eq 'object' && lc($tagname) eq 'param') {
                  if (lc($state[-2]) eq 'object' && lc($tagname) eq 'param') {   my $name = lc($attr->{'name'});
      my $name = lc($attr->{'name'});   foreach my $item (keys(%javafiles)) {
      foreach my $item (keys(%javafiles)) {      if ($name eq $item) {
  if ($name eq $item) {   $javafiles{$item} = $attr->{'value'};
      $javafiles{$item} = $attr->{'value'};   last;
      last;      }
  }   }
      }   foreach my $item (keys(%mediafiles)) {
      foreach my $item (keys(%mediafiles)) {      if ($name eq $item) {
  if ($name eq $item) {   &add_filetype($allfiles, $attr->{'value'}, 'value');
      &add_filetype($allfiles, $attr->{'value'}, 'value');   last;
      last;      }
  }   }
      }      }
  }      if (lc($tagname) eq 'embed' || lc($tagname) eq 'applet') {
                  if (lc($tagname) eq 'embed' || lc($tagname) eq 'applet') {   foreach my $item (keys(%javafiles)) {
      foreach my $item (keys(%javafiles)) {      if ($attr->{$item}) {
                          if ($attr->{$item}) {   $javafiles{$item} = $attr->{$item};
                              $javafiles{$item} = $attr->{$item};   last;
                              last;      }
                          }   }
                      }   foreach my $item (keys(%mediafiles)) {
                      foreach my $item (keys(%mediafiles)) {      if ($attr->{$item}) {
                          if ($attr->{$item}) {   &add_filetype($allfiles,$attr->{$item},$item);
      &add_filetype($allfiles,$attr->{$item},$item);   last;
                              last;      }
                          }   }
                      }      }
                  }   } elsif ($t->[0] eq 'E') {
             }, "tagname, attr"],      my ($tagname) = ($t->[1]);
         end_h =>      if ($javafiles{'codebase'} ne '') {
                [sub {   $javafiles{'codebase'} .= '/';
                    my ($tagname) = @_;      }  
                    if ($javafiles{'codebase'} ne '') {      if (lc($tagname) eq 'applet' ||
                        $javafiles{'codebase'} .= '/';   lc($tagname) eq 'object' ||
                    }     (lc($tagname) eq 'embed' && lc($state[-2]) ne 'object')
                    if (lc($tagname) eq 'applet' ||   ) {
        lc($tagname) eq 'object' ||   foreach my $item (keys(%javafiles)) {
        (lc($tagname) eq 'embed' && lc($state[-2]) ne 'object')      if ($item ne 'codebase' && $javafiles{$item} ne '') {
        ) {   my $file=$javafiles{'codebase'}.$javafiles{$item};
        foreach my $item (keys(%javafiles)) {   &add_filetype($allfiles,$file,$item);
    if ($item ne 'codebase' &&       }
        $javafiles{$item} ne '') {   }
        my $file=$javafiles{'codebase'}.      } 
    $javafiles{$item};      pop @state;
        &add_filetype($allfiles,$file,$item);   }
    }      }
        }  
                    }   
                    pop @state;  
                 }, "tagname"],  
     );  
     $p->parse_file($filepath.'/'.$file);  
     $p->eof;  
     return 'ok';      return 'ok';
 }  }
   

Removed from v.1.639  
changed lines
  Added in v.1.640


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