Bug 11058: fix compilation warning in C4::Record
[koha.git] / about.pl
index 7189a22..6b44ea8 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -55,11 +55,28 @@ if ($^O ne 'VMS') {
 }
 my $perlVersion   = $];
 my $mysqlVersion  = `mysql -V`;
-my $apacheVersion = `httpd -v`;
-$apacheVersion = `httpd2 -v` unless $apacheVersion;
+my $apacheVersion = `httpd -v 2> /dev/null`;
+$apacheVersion = `httpd2 -v 2> /dev/null` unless $apacheVersion;
 $apacheVersion = (`/usr/sbin/apache2 -V`)[0] unless $apacheVersion;
 my $zebraVersion = `zebraidx -V`;
 
+# Additional system information for warnings
+my $prefAutoCreateAuthorities = C4::Context->preference('AutoCreateAuthorities');
+my $prefBiblioAddsAuthorities = C4::Context->preference('BiblioAddsAuthorities');
+my $warnPrefBiblioAddsAuthorities = ( $prefAutoCreateAuthorities && ( !$prefBiblioAddsAuthorities) );
+
+my $prefEasyAnalyticalRecords  = C4::Context->preference('EasyAnalyticalRecords');
+my $prefUseControlNumber  = C4::Context->preference('UseControlNumber');
+my $warnPrefEasyAnalyticalRecords  = ( $prefEasyAnalyticalRecords  && $prefUseControlNumber );
+my $warnPrefAnonymousPatron = (
+    C4::Context->preference('OPACPrivacy')
+        and not C4::Context->preference('AnonymousPatron')
+);
+
+my $errZebraConnection = C4::Context->Zconn("biblioserver",0)->errcode();
+
+my $warnIsRootUser   = (! $loggedinuser);
+
 $template->param(
     kohaVersion   => $kohaVersion,
     osVersion     => $osVersion,
@@ -69,6 +86,13 @@ $template->param(
     mysqlVersion  => $mysqlVersion,
     apacheVersion => $apacheVersion,
     zebraVersion  => $zebraVersion,
+    prefBiblioAddsAuthorities => $prefBiblioAddsAuthorities,
+    prefAutoCreateAuthorities => $prefAutoCreateAuthorities,
+    warnPrefBiblioAddsAuthorities => $warnPrefBiblioAddsAuthorities,
+    warnPrefEasyAnalyticalRecords  => $warnPrefEasyAnalyticalRecords,
+    warnPrefAnonymousPatron => $warnPrefAnonymousPatron,
+    errZebraConnection => $errZebraConnection,
+    warnIsRootUser => $warnIsRootUser,
 );
 
 my @components = ();
@@ -108,6 +132,13 @@ foreach (@components) {
         $row = [];
     }
 }
+# Processing the last line (if there are any modules left)
+if (scalar(@$row) > 0) {
+    # Extending $row to the table size
+    $$row[3] = '';
+    # Pushing the last line
+    push (@$table, {row => $row});
+}
 ## ## $table
 
 $template->param( table => $table );
@@ -117,37 +148,52 @@ $template->param( table => $table );
 ## Koha time line code
 
 #get file location
-my $dir = C4::Context->config('intranetdir');
-open( my $file, "<", "$dir" . "/docs/history.txt" );
-my $i = 0;
+my $docdir;
+if ( defined C4::Context->config('docdir') ) {
+    $docdir = C4::Context->config('docdir');
+} else {
+    # if no <docdir> is defined in koha-conf.xml, use the default location
+    # this is a work-around to stop breakage on upgraded Kohas, bug 8911
+    $docdir = C4::Context->config('intranetdir') . '/docs';
+}
+
+if ( open( my $file, "<", "$docdir" . "/history.txt" ) ) {
 
-my @rows2 = ();
-my $row2  = [];
+    my $i = 0;
 
-my @lines = <$file>;
-close($file);
+    my @rows2 = ();
+    my $row2  = [];
 
-shift @lines; #remove header row
+    my @lines = <$file>;
+    close($file);
 
-foreach (@lines) {
-    my ( $date, $desc, $tag ) = split(/\t/);
-    push(
-        @rows2,
-        {
-            date => $date,
-            desc => $desc,
+    shift @lines; #remove header row
+
+    foreach (@lines) {
+        my ( $date, $desc, $tag ) = split(/\t/);
+        if(!$desc && $date=~ /(?<=\d{4})\s+/) {
+            ($date, $desc)= ($`, $');
         }
-    );
-}
+        push(
+            @rows2,
+            {
+                date => $date,
+                desc => $desc,
+            }
+        );
+    }
 
-my $table2 = [];
-#foreach my $row2 (@rows2) {
-foreach  (@rows2) {
-    push (@$row2, $_);
-    push( @$table2, { row2 => $row2 } );
-    $row2 = [];
-}
+    my $table2 = [];
+    #foreach my $row2 (@rows2) {
+    foreach  (@rows2) {
+        push (@$row2, $_);
+        push( @$table2, { row2 => $row2 } );
+        $row2 = [];
+    }
 
-$template->param( table2 => $table2 );
+    $template->param( table2 => $table2 );
+} else {
+    $template->param( timeline_read_error => 1 );
+}
 
 output_html_with_http_headers $query, $cookie, $template->output;