/[webpac2]/Webpacus/lib/Webpacus/Controller/Output.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /Webpacus/lib/Webpacus/Controller/Output.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 321 by dpavlin, Sun Dec 25 23:31:37 2005 UTC revision 331 by dpavlin, Tue Dec 27 23:24:36 2005 UTC
# Line 8  use base qw/WebPAC::Common/; Line 8  use base qw/WebPAC::Common/;
8  use Template;  use Template;
9  use List::Util qw/first/;  use List::Util qw/first/;
10  use Data::Dumper;  use Data::Dumper;
11  use URI::Escape qw/uri_escape_utf8/;  use Encode;
12    
13  =head1 NAME  =head1 NAME
14    
# Line 198  filter to return links to search, usage Line 198  filter to return links to search, usage
198                                                  $s = $item->{'search'}->[0];                                                  $s = $item->{'search'}->[0];
199                                          }                                          }
200                                          #$s =~ s/([^\w.-])/sprintf("%%%02X",ord($1))/eg;                                          #$s =~ s/([^\w.-])/sprintf("%%%02X",ord($1))/eg;
201                                          $s = uri_escape_utf8( $s );                                          $s = __quotemeta( $s );
202    
203                                          my $d = $item->{'display'}->[$i] || die "can't find value $i for type display in field $display";                                          my $d = $item->{'display'}->[$i] || die "can't find value $i for type display in field $display";
204    
# Line 311  sub to_file { Line 311  sub to_file {
311  }  }
312    
313    
314    =head2 __quotemeta
315    
316    Helper to quote JavaScript-friendly characters
317    
318    =cut
319    
320    sub __quotemeta {
321            local $_ = shift;
322            $_ = decode('iso-8859-2', $_);
323    
324            s<([\x{0080}-\x{fffd}]+)>{sprintf '\u%0*v4X', '\u', $1}ge if ( Encode::is_utf8($_) );
325            {
326                    use bytes;  
327                    s<((?:[^ \x21-\x7E]|(?:\\(?!u)))+)>{sprintf '\x%0*v2X', '\x', $1}ge;
328            }
329    
330            s/\\x09/\\t/g;
331            s/\\x0A/\\n/g;
332            s/\\x0D/\\r/g;
333            s/"/\\"/g;
334            s/\\x5C/\\\\/g;
335    
336            return $_;
337    }
338    
339  =head1 AUTHOR  =head1 AUTHOR
340    
341  Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >>  Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >>

Legend:
Removed from v.321  
changed lines
  Added in v.331

  ViewVC Help
Powered by ViewVC 1.1.26