From 9ab593440b6d2b1f9c417631a4cf5cabcf1a0032 Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Tue, 10 Sep 2013 16:19:58 -0400 Subject: [PATCH] Bug 10872 - C4::Items GetHiddenItems fix and optimization There should be a: "require YAML;" or "use YAML qw/Load/;" as the GetHiddenItems routine has a reference to YAML::Load. This was discovered while adding a GetHiddenItems() call into opac/opac-MARCdetail.pl. I believe this problem dates back to bug 6488 or bug 5984. I also added an optimization to GetHiddenItems to prevent processing if there is nothing in the system preference. Test by searching for a biblio which has some or all of its items hidden. Signed-off-by: Mason James Signed-off-by: Jonathan Druart Maybe return () unless $yaml =~ /\S/; or return () if $yaml =~ /^\s*$/; would have been easier to read. Signed-off-by: Galen Charlton --- C4/Items.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Items.pm b/C4/Items.pm index 4a98712bfd..17157243a2 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -30,6 +30,7 @@ use MARC::Record; use C4::ClassSource; use C4::Log; use List::MoreUtils qw/any/; +use YAML qw/Load/; use Data::Dumper; # used as part of logging item record changes, not just for # debugging; so please don't remove this @@ -1629,6 +1630,7 @@ sub GetHiddenItemnumbers { my @resultitems; my $yaml = C4::Context->preference('OpacHiddenItems'); + return () if (! $yaml =~ /\S/ ); $yaml = "$yaml\n\n"; # YAML is anal on ending \n. Surplus does not hurt my $hidingrules; eval { -- 2.39.5