From d568b5ea1ee2027af8be83d04cdc3c23b5417dbc Mon Sep 17 00:00:00 2001 From: Petro Vashchuk Date: Thu, 9 Dec 2021 15:47:07 +0200 Subject: [PATCH] Bug 29669: fix uninitialized value warnings when XSLTParse4Display is called Wrong key 'xsl_filename' is present in opac-tags.pl and shelves.pl (the only places where it is used in the code even) instead of 'xsl_syspref' that is actually used and this is the cause of those warnings. Also added honeypot to check if other calls in same way happens. Honeypot probably not needed, review when QA in the Community. To reproduce: 1) Prepare some test list with items or use existing one. 2) Go to the lists page (koha/virtualshelves/shelves.pl), notice multitude of new warnings in the "intranet-error.log" log file that mostly have to do with "Use of uninitialized value $xslsyspref". 3) Apply the patch. 4) Go back to same page and check it again, warns like that should not appear in the log file anymore. --- C4/XSLT.pm | 3 +++ opac/opac-tags.pl | 2 +- virtualshelves/shelves.pl | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index 125f887cb0..4a89997bcc 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -251,6 +251,9 @@ sub XSLTParse4Display { my $variables = $params->{xslt_variables}; my $items_rs = $params->{items_rs}; + die "Mandatory \$params->{xsl_syspref} does not provided, called with biblionumber $params->{biblionumber}" + if not defined $params->{xsl_syspref}; + my $xslfilename = get_xsl_filename( $xslsyspref); # grab the XML, run it through our stylesheet, push it out to the browser diff --git a/opac/opac-tags.pl b/opac/opac-tags.pl index 63169e812a..515f4ccd2e 100755 --- a/opac/opac-tags.pl +++ b/opac/opac-tags.pl @@ -292,7 +292,7 @@ if ($loggedinuser) { { biblionumber => $tag->{biblionumber}, record => $record, - xsl_filename => 'OPACXSLTResultsDisplay', + xsl_syspref => 'OPACXSLTResultsDisplay', fix_amps => 1, hidden_items => $hidden_items, xslt_variables => $variables diff --git a/virtualshelves/shelves.pl b/virtualshelves/shelves.pl index d1ce868e4b..2cc09766cb 100755 --- a/virtualshelves/shelves.pl +++ b/virtualshelves/shelves.pl @@ -268,7 +268,7 @@ if ( $op eq 'view' ) { { biblionumber => $biblionumber, record => $record, - xsl_filename => "XSLTListsDisplay", + xsl_syspref => 'XSLTListsDisplay', fix_amps => 1, } ); -- 2.31.1