[Koha-patches] [PATCH 4/4] bug 3204: tweaks to AWS request signing
Galen Charlton
gmcharlt at gmail.com
Thu Aug 13 15:27:04 CEST 2009
* Add AWSPrivateKey system preference to the
Enhanced Content tab in the syspref editor
* Now warns to log if attempting to use
the Amazon API without setting AWSPrivateKey
---
C4/External/Amazon.pm | 10 ++++++++--
admin/systempreferences.pl | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/C4/External/Amazon.pm b/C4/External/Amazon.pm
index bb72af7..f36b8f7 100644
--- a/C4/External/Amazon.pm
+++ b/C4/External/Amazon.pm
@@ -148,8 +148,14 @@ sub get_amazon_details {
push @params, qq{$key=}.uri_escape($value, "^A-Za-z0-9\-_.~" );
}
- my $url =qq{http://webservices.amazon}. get_amazon_tld().
- "/onca/xml?".join("&",sort @params).qq{&Signature=}.uri_escape(SignRequest(@params),"^A-Za-z0-9\-_.~" );
+ my $url;
+ if (C4::Context->preference('AWSPrivateKey')) {
+ $url = qq{http://webservices.amazon} . get_amazon_tld() .
+ "/onca/xml?" . join("&",sort @params) . qq{&Signature=} . uri_escape(SignRequest(@params),"^A-Za-z0-9\-_.~" );
+ } else {
+ $url = qq{http://webservices.amazon} . get_amazon_tld() . "/onca/xml?" .join("&",sort @params);
+ warn "MUST set AWSPrivateKey syspref after 2009-08-15 in order to access Amazon web services";
+ }
my $content = get($url);
warn "could not retrieve $url" unless $content;
diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 250374e..bb73d42 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -231,6 +231,7 @@ $tabsysprefs{OPACAmazonEnabled} = "EnhancedContent";
$tabsysprefs{AmazonCoverImages} = "EnhancedContent";
$tabsysprefs{OPACAmazonCoverImages} = "EnhancedContent";
$tabsysprefs{AWSAccessKeyID} = "EnhancedContent";
+$tabsysprefs{AWSPrivateKey} = "EnhancedContent";
$tabsysprefs{AmazonLocale} = "EnhancedContent";
$tabsysprefs{AmazonAssocTag} = "EnhancedContent";
$tabsysprefs{AmazonSimilarItems} = "EnhancedContent";
--
1.5.6.5
More information about the Koha-patches
mailing list