X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FScrubber.pm;h=8c9a1ccd7ceee9671e96c94d4fa20fcfc82634bd;hb=bc24973c778ce77f1d3726eaad3ce1bc387cd480;hp=80e08e57f5d44fb1e69770064a163a6e2654b9f8;hpb=4c14cd317e92cb44aed69f09e99438f694ae32e5;p=koha.git diff --git a/C4/Scrubber.pm b/C4/Scrubber.pm index 80e08e57f5..8c9a1ccd7c 100644 --- a/C4/Scrubber.pm +++ b/C4/Scrubber.pm @@ -1,18 +1,23 @@ 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 -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY 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, see . use strict; use warnings; @@ -22,43 +27,35 @@ use HTML::Scrubber; use C4::Context; use C4::Debug; -use vars qw($VERSION @ISA); -use vars qw(%scrubbertypes $scrubbertype); -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; }