X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FScrubber.pm;h=519ee7fc7b4cb122fa84babbcf313ed490399e46;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=c1505588d21f220519161ed9388db07ac05d6a78;hpb=1ebc373d18c82c331c125b073b0721638d6855cc;p=koha_fer diff --git a/C4/Scrubber.pm b/C4/Scrubber.pm index c1505588d2..519ee7fc7b 100644 --- a/C4/Scrubber.pm +++ b/C4/Scrubber.pm @@ -1,4 +1,9 @@ package C4::Scrubber; + +# Copyright Liblime 2008 +# Parts copyright sys-tech.net 2011 +# Copyright PTFS Europe 2011 +# # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the @@ -10,9 +15,9 @@ package C4::Scrubber; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; use warnings; @@ -22,43 +27,36 @@ use HTML::Scrubber; use C4::Context; use C4::Debug; -use vars qw($VERSION @ISA); -use vars qw(%scrubbertypes $scrubbertype); +our $VERSION = v3.07.00.049; -BEGIN { - $VERSION = 0.02; - # @ISA = qw(HTML::Scrubber); -} -INIT { - %scrubbertypes = ( - default => {}, # place holder, default settings are below as fallbacks in call to constructor - tag => {}, # uses defaults - comment => { - allow => [qw( br b i em big small strong )], - }, - staff => { - default => [ 1 =>{'*'=>1} ], - comment => 1, - }, - ); -} +my %scrubbertypes = ( + default => {}, # place holder, default settings are below as fallbacks in call to constructor + tag => {}, # uses defaults + comment => { allow => [qw( br b i em big small strong )], }, + staff => { + default => [ 1 => { '*' => 1 } ], + comment => 1, + }, +); sub new { - my $fakeself = shift; # not really OO, we return an HTML::Scrubber object. - my $type = (@_) ? shift : 'default'; - exists $scrubbertypes{$type} or croak "New called with unrecognized type '$type'"; - $debug and print STDERR "Building new Scrubber of type '$type'\n"; - my $settings = $scrubbertypes{$type}; - my $scrubber = HTML::Scrubber->new( - allow => exists $settings->{allow} ? $settings->{allow} : [], - rules => exists $settings->{rules} ? $settings->{rules} : [], - default => exists $settings->{default} ? $settings->{default} : [ 0 =>{'*'=>0} ], - comment => exists $settings->{comment} ? $settings->{comment} : 0, - process => 0, - ); - return $scrubber; + shift; # ignore our class we are wrapper + my $type = (@_) ? shift : 'default'; + if ( !exists $scrubbertypes{$type} ) { + croak "New called with unrecognized type '$type'"; + } + $debug and carp "Building new Scrubber of type '$type'"; + my $settings = $scrubbertypes{$type}; + my $scrubber = HTML::Scrubber->new( + allow => exists $settings->{allow} ? $settings->{allow} : [], + rules => exists $settings->{rules} ? $settings->{rules} : [], + default => exists $settings->{default} ? $settings->{default} : [ 0 => { '*' => 0 } ], + comment => exists $settings->{comment} ? $settings->{comment} : 0, + process => 0, + ); + return $scrubber; } @@ -73,11 +71,7 @@ More verbose debugging messages are sent in the presence of non-zero $ENV{"DEBUG The default is to scrub everything, leaving no markup at all. This is compatible with the expectations for Tags. -=head2 - -=head3 TO DO: Add real perldoc - -=head2 +=head2 TODO: Add real perldoc =cut