Bug 17600: Standardize our EXPORT_OK
[srvgit] / C4 / External / BakerTaylor.pm
index d49aa8d..13b2b53 100644 (file)
@@ -1,74 +1,78 @@
 package C4::External::BakerTaylor;
+
 # Copyright (C) 2008 LibLime
 # <jmf at liblime dot com>
 #
 # 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.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 use XML::Simple;
-use LWP::Simple;
-# use LWP::UserAgent;
-use HTTP::Request::Common;
+use LWP::Simple qw( get );
+
 use C4::Context;
-use C4::Debug;
 
-use strict;
-use warnings;
+use Modern::Perl;
 
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-use vars qw($user $pass $agent $image_url $link_url);
+use vars qw(%EXPORT_TAGS $VERSION);
+our (@ISA, @EXPORT_OK);
 
 BEGIN {
-       require Exporter;
+    require Exporter;
+    @ISA = qw(Exporter);
     $VERSION = 3.07.00.049;
-       @ISA = qw(Exporter);
-       @EXPORT_OK = qw(&availability &content_cafe &image_url &link_url &http_jacket_link);
-       %EXPORT_TAGS = (all=>\@EXPORT_OK);
-}
-INIT {
-       &initialize;
+    @EXPORT_OK = qw(availability content_cafe_url image_url link_url http_jacket_link);
 }
 
-sub initialize {
+# These variables are plack safe: they are initialized each time
+my ( $user, $pass, $agent, $image_url, $link_url );
+
+sub _initialize {
        $user     = (@_ ? shift : C4::Context->preference('BakerTaylorUsername')    ) || ''; # LL17984
        $pass     = (@_ ? shift : C4::Context->preference('BakerTaylorPassword')    ) || ''; # CC82349
        $link_url = (@_ ? shift : C4::Context->preference('BakerTaylorBookstoreURL'));
-        $image_url = "http://contentcafe2.btol.com/ContentCafe/Jacket.aspx?UserID=$user&Password=$pass&Options=Y&Return=T&Type=S&Value=";
+        $image_url = "https://contentcafe2.btol.com/ContentCafe/Jacket.aspx?UserID=$user&Password=$pass&Options=Y&Return=T&Type=S&Value=";
        $agent = "Koha/$VERSION [en] (Linux)";
                        #"Mozilla/4.76 [en] (Win98; U)",        #  if for some reason you want to go stealth, you might prefer this
 }
 
 sub image_url {
+    _initialize();
        ($user and $pass) or return;
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
        return $image_url . $isbn;
 }
+
 sub link_url {
+    _initialize();
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
        $link_url or return;
        return $link_url . $isbn;
 }
+
 sub content_cafe_url {
+    _initialize();
        ($user and $pass) or return;
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
-       return "http://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=$user&Password=$pass&Options=Y&ItemKey=$isbn";
+    return "https://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=$user&Password=$pass&Options=Y&ItemKey=$isbn";
 }
+
 sub http_jacket_link {
+    _initialize();
        my $isbn = shift or return;
        $isbn =~ s/(p|-)//g;    # sanitize
        my $image = availability($isbn);
@@ -80,13 +84,12 @@ sub http_jacket_link {
 }
 
 sub availability {
+    _initialize();
        my $isbn = shift or return;
        ($user and $pass) or return;
        $isbn =~ s/(p|-)//g;    # sanitize
-       my $url = "http://contentcafe2.btol.com/ContentCafe/InventoryAvailability.asmx/CheckInventory?UserID=$user&Password=$pass&Value=$isbn";
-       $debug and warn __PACKAGE__ . " request:\n$url\n";
+    my $url = "https://contentcafe2.btol.com/ContentCafe/InventoryAvailability.asmx/CheckInventory?UserID=$user&Password=$pass&Value=$isbn";
        my $content = get($url);
-       $debug and print STDERR $content, "\n";
        warn "could not retrieve $url" unless $content;
        my $xmlsimple = XML::Simple->new();
        my $result = $xmlsimple->XMLin($content);