Bug 12758: Add new module call in Koha::XSLT::Base
Reviving a report back from 2014. The workaround is now moved to a separate helper module from another patch. Test plan: Test OPACXSLTDetailsDisplay with an https reference. You may try: https://library.rijksmuseum.nl/opac-tmpl/bootstrap/en/xslt/zztest.xsl If you flush and restart, the opac detail pages will contain the text 'This is my MARC record.'. NOTE: If you point to an xslt file over https that contains includes or imports, you will still get the error: Failed to load external entity. To address that, we need to extend the _resolve_includes sub. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
2d2e93e66e
commit
9ec1fb4fd9
|
|
@ -39,6 +39,9 @@ Koha::XSLT::Base - Facilitate use of XSLT transformations
|
|||
via the err attribute.
|
||||
Reloading XSLT files can be done with the refresh method.
|
||||
|
||||
The module refers to a (temporary) helper module Koha::XSLT::HTTPS that
|
||||
resolves issues in libxml2/libxslt for https references.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
|
@ -117,6 +120,7 @@ Koha::XSLT::Base - Facilitate use of XSLT transformations
|
|||
use Modern::Perl;
|
||||
use XML::LibXML;
|
||||
use XML::LibXSLT;
|
||||
use Koha::XSLT::HTTPS;
|
||||
use Koha::XSLT::Security;
|
||||
|
||||
use base qw(Class::Accessor);
|
||||
|
|
@ -349,8 +353,11 @@ sub _load {
|
|||
}
|
||||
|
||||
sub _load_xml_args {
|
||||
my $self = shift;
|
||||
return $_[1]? { 'string' => $_[1]//'' }: { 'location' => $_[0]//'' };
|
||||
my ( $self, $filename, $code ) = @_;
|
||||
return Koha::XSLT::HTTPS->load($filename) if $filename && $filename =~ /^https/i;
|
||||
# Workaround for current problems with https location in libxml2/libxslt
|
||||
# Returns response like { string => SOME_CODE }
|
||||
return $code ? { string => $code } : { location => $filename };
|
||||
}
|
||||
|
||||
# _set_error
|
||||
|
|
|
|||
Loading…
Reference in New Issue