Bug 28317: Use the default CGI::Session serializer
[koha-ffzg.git] / about.pl
index bade1ea..a814acc 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -33,7 +33,8 @@ use XML::Simple;
 use Config;
 use Search::Elasticsearch;
 use Try::Tiny;
-use YAML qw/LoadFile/;
+use YAML::XS;
+use Encode;
 
 use C4::Output;
 use C4::Auth;
@@ -200,6 +201,18 @@ my $warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist = ( not $anonymous_pat
 
 my $warnPrefKohaAdminEmailAddress = not Email::Valid->address(C4::Context->preference('KohaAdminEmailAddress'));
 
+my $c = Koha::Items->filter_by_visible_in_opac->count;
+my @warnings = C4::Context->dbh->selectrow_array('SHOW WARNINGS');
+my $warnPrefOpacHiddenItems = $warnings[2];
+
+my $invalid_yesno = Koha::Config::SysPrefs->search(
+    {
+        type  => 'YesNo',
+        value => { -or => { 'is' => undef, -not_in => [ "1", "0" ] } }
+    }
+);
+$template->param( invalid_yesno => $invalid_yesno );
+
 my $errZebraConnection = C4::Context->Zconn("biblioserver",0)->errcode();
 
 my $warnIsRootUser   = (! $loggedinuser);
@@ -208,8 +221,6 @@ my $warnNoActiveCurrency = (! defined Koha::Acquisition::Currencies->get_active)
 
 my @xml_config_warnings;
 
-my $context = C4::Context->new;
-
 if (    C4::Context->config('zebra_bib_index_mode')
     and C4::Context->config('zebra_bib_index_mode') eq 'grs1' )
 {
@@ -222,9 +233,10 @@ if (    C4::Context->config('zebra_auth_index_mode')
     push @xml_config_warnings, { error => 'zebra_auth_index_mode_is_grs1' };
 }
 
+my $authorityserver = C4::Context->zebraconfig('authorityserver');
 if( (   C4::Context->config('zebra_auth_index_mode')
     and C4::Context->config('zebra_auth_index_mode') eq 'dom' )
-    && ( $context->{'server'}->{'authorityserver'}->{'config'} !~ /zebra-authorities-dom.cfg/ ) )
+    && ( $authorityserver->{config} !~ /zebra-authorities-dom.cfg/ ) )
 {
     push @xml_config_warnings, {
         error => 'zebra_auth_index_mode_mismatch_warn'
@@ -341,6 +353,7 @@ if ( C4::Context->preference('SearchEngine') eq 'Elasticsearch' ) {
         #       fetch the list of available indexes (e.g. plugins, etc)
         $es_status->{nodes} = $es_conf->{nodes};
         my $es = Search::Elasticsearch->new({ nodes => $es_conf->{nodes} });
+        my $es_status->{version} = $es->info->{version}->{number};
 
         foreach my $index ( @indexes ) {
             my $count;
@@ -424,7 +437,7 @@ my @bad_yaml_prefs;
 foreach my $syspref (@yaml_prefs) {
     my $yaml = C4::Context->preference( $syspref );
     if ( $yaml ) {
-        eval { YAML::Load( "$yaml\n\n" ); };
+        eval { YAML::XS::Load( Encode::encode_utf8("$yaml\n\n") ); };
         if ($@) {
             push @bad_yaml_prefs, $syspref;
         }
@@ -483,21 +496,13 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs;
 {
     my $dbh   = C4::Context->dbh;
     my ($bad_relationships_count) = $dbh->selectall_arrayref(q{
-        SELECT COUNT(*)
-        FROM (
-            SELECT relationship FROM borrower_relationships WHERE relationship='_bad_data'
-            UNION ALL
-            SELECT relationship FROM borrowers WHERE relationship='_bad_data') a
+        SELECT COUNT(*) FROM borrower_relationships WHERE relationship='_bad_data'
     });
 
     $bad_relationships_count = $bad_relationships_count->[0]->[0];
 
     my $existing_relationships = $dbh->selectall_arrayref(q{
-          SELECT DISTINCT(relationship)
-          FROM (
-              SELECT relationship FROM borrower_relationships WHERE relationship IS NOT NULL
-              UNION ALL
-              SELECT relationship FROM borrowers WHERE relationship IS NOT NULL) a
+          SELECT DISTINCT(relationship) FROM borrower_relationships WHERE relationship IS NOT NULL
     });
 
     my %valid_relationships = map { $_ => 1 } split( /,|\|/, C4::Context->preference('borrowerRelationship') );
@@ -587,6 +592,7 @@ $template->param(
     warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist     => $warnPrefAnonymousPatronOPACPrivacy_PatronDoesNotExist,
     warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist => $warnPrefAnonymousPatronAnonSuggestions_PatronDoesNotExist,
     warnPrefKohaAdminEmailAddress => $warnPrefKohaAdminEmailAddress,
+    warnPrefOpacHiddenItems => $warnPrefOpacHiddenItems,
     errZebraConnection => $errZebraConnection,
     warnIsRootUser => $warnIsRootUser,
     warnNoActiveCurrency => $warnNoActiveCurrency,
@@ -661,7 +667,7 @@ if ( defined C4::Context->config('docdir') ) {
 ## Release teams
 my $teams =
   -e "$docdir" . "/teams.yaml"
-  ? LoadFile( "$docdir" . "/teams.yaml" )
+  ? YAML::XS::LoadFile( "$docdir" . "/teams.yaml" )
   : {};
 my $dev_team = (sort {$b <=> $a} (keys %{$teams->{team}}))[0];
 my $short_version = substr($versions{'kohaVersion'},0,5);
@@ -673,7 +679,7 @@ $template->param( development_version => $development_version );
 ## Contributors
 my $contributors =
   -e "$docdir" . "/contributors.yaml"
-  ? LoadFile( "$docdir" . "/contributors.yaml" )
+  ? YAML::XS::LoadFile( "$docdir" . "/contributors.yaml" )
   : {};
 for my $version ( sort { $a <=> $b } keys %{$teams->{team}} ) {
     for my $role ( keys %{ $teams->{team}->{$version} } ) {