mach        2003/12/10 14:47:32

  Modified:    lib/Apache/AxKit Tag: axkit-pipeline-2 ConfigReader.pm
  Log:
  adding AxAdd check, commenting out very old
  AxProcessors code which isn't documented.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.18.2.1  +63 -32    xml-axkit/lib/Apache/AxKit/ConfigReader.pm
  
  Index: ConfigReader.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/ConfigReader.pm,v
  retrieving revision 1.18
  retrieving revision 1.18.2.1
  diff -u -r1.18 -r1.18.2.1
  --- ConfigReader.pm   4 Aug 2003 23:05:17 -0000       1.18
  +++ ConfigReader.pm   10 Dec 2003 22:47:32 -0000      1.18.2.1
  @@ -2,6 +2,7 @@
   
   package Apache::AxKit::ConfigReader;
   
  +use Data::Dumper;
   use strict;
   
   # use vars qw/$COUNT/;
  @@ -340,42 +341,72 @@
       return $can_gzip;
   }
   
  -sub _extract_dir_config_processors {
  -    my $self = shift;
  -    my ($style, $media) = @_;
  +#sub _extract_dir_config_processors {
  +#    my $self = shift;
  +#    my ($style, $media) = @_;
  +#
  +#    my @list;
  +#    
  +#    my $processors = $self->{apache}->dir_config('AxProcessors');
  +#    my $found_non_global_style = 0;
  +#    if( $processors ) {
  +#      foreach my $processor (split(/\s*,\s*/, $processors) ) {
  +#        my ($pmedia, $pstyle, @processor) = split(/\s+/, $processor);
  +#        next unless ($pmedia eq $media and ($pstyle eq $style or $pstyle eq 
'#global'));
  +#        $found_non_global_style++ if $pstyle ne '#global';
  +#        push (@list, [ 'NORMAL', @processor ] );
  +#      }
  +#    }
  +#    
  +#    my @processors = $self->{apache}->dir_config->get('AxProcessor');
  +#    foreach my $processor (@processors) {
  +#        my ($pmedia, $pstyle, @processor) = split(/\s+/, $processor);
  +#        next unless ($pmedia eq $media and ($pstyle eq $style or $pstyle eq 
'#global'));
  +#        $found_non_global_style++ if $pstyle ne '#global';
  +#        push (@list, [ 'NORMAL', @processor ] );
  +#    }
  +#
  +#    return @list if $style eq '#default';
  +#
  +#    if ($found_non_global_style) {
  +#        return @list;
  +#    }
  +#    else {
  +#        return $self->_extract_dir_config_processors('#default', $media);
  +#    }
  +#}
   
  -    my @list;
  -    
  -    my $processors = $self->{apache}->dir_config('AxProcessors');
  -    my $found_non_global_style = 0;
  -    if( $processors ) {
  -      foreach my $processor (split(/\s*,\s*/, $processors) ) {
  -        my ($pmedia, $pstyle, @processor) = split(/\s+/, $processor);
  -        next unless ($pmedia eq $media and ($pstyle eq $style or $pstyle eq 
'#global'));
  -        $found_non_global_style++ if $pstyle ne '#global';
  -        push (@list, [ 'NORMAL', @processor ] );
  -      }
  -    }
  -    
  -    my @processors = $self->{apache}->dir_config->get('AxProcessor');
  -    foreach my $processor (@processors) {
  -        my ($pmedia, $pstyle, @processor) = split(/\s+/, $processor);
  -        next unless ($pmedia eq $media and ($pstyle eq $style or $pstyle eq 
'#global'));
  -        $found_non_global_style++ if $pstyle ne '#global';
  -        push (@list, [ 'NORMAL', @processor ] );
  -    }
  +sub IfAxAddFooProcessors{
  +     my $self = shift;
  +     my ($media, $style) = @_;
  +    $style ||= '#default';
  +
  +    # Add global styles
  +    my $list = [];
   
  -    return @list if $style eq '#default';
  +    if( exists($self->{cfg}{Processors}{$media}{'#global'})) {
  +             push @$list, @{ $self->{cfg}{Processors}{$media}{'#global'} || 
[]};
  +    }
   
  -    if ($found_non_global_style) {
  -        return @list;
  +    # Add styles matching this style
  +    if (exists($self->{cfg}{Processors}{$media}{$style})) {
  +        push @$list, @{ $self->{cfg}{Processors}{$media}{$style} || [] };
       }
       else {
  -        return $self->_extract_dir_config_processors('#default', $media);
  -    }
  +        # if the style didn't exist, push the #default styles
  +        push @$list, @{ $self->{cfg}{Processors}{$media}{'#default'} || [] };
  +    }        
  +             
  +     foreach my $directive ( @$list ) {
  +             my $type = lc($directive->[0]);
  +             
  +             next if $type eq 'normal';
  +             next if $type eq 'uri';
  +             return 1;
  +     }
  +     return 0;       
   }
   
  -
   sub GetMatchingProcessors {
       my $self = shift;
       my ($media, $style, $doctype, $dtd, $root, $styles, $provider) = @_;
  @@ -387,7 +418,7 @@
       my $list = [];
   
       if( exists($self->{cfg}{Processors}{$media}{'#global'})) {
  -     push @$list, @{ $self->{cfg}{Processors}{$media}{'#global'} || []};
  +             push @$list, @{ $self->{cfg}{Processors}{$media}{'#global'} || 
[]};
       }
   
       # Add styles matching this style
  @@ -399,7 +430,7 @@
           push @$list, @{ $self->{cfg}{Processors}{$media}{'#default'} || [] };
       }
   
  -    push @$list, $self->_extract_dir_config_processors($style, $media);   
  + #   push @$list, $self->_extract_dir_config_processors($style, $media);   
       
       my @results;
       
  
  
  

Reply via email to