Bug 8015: (follow-up) trap exceptions thrown by SetUTF8Flag()
[koha.git] / C4 / Scrubber.pm
index c150558..519ee7f 100644 (file)
@@ -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