Bug 11058: fix compilation warning in C4::Record
[koha.git] / about.pl
index 596637d..6b44ea8 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -33,6 +33,8 @@ use C4::Auth;
 use C4::Context;
 use C4::Installer;
 
+#use Smart::Comments '####';
+
 my $query = new CGI;
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
@@ -53,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,
@@ -67,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 = ();
@@ -106,7 +132,68 @@ 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 );
 
+
+## ------------------------------------------
+## Koha time line code
+
+#get file location
+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 $i = 0;
+
+    my @rows2 = ();
+    my $row2  = [];
+
+    my @lines = <$file>;
+    close($file);
+
+    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 = [];
+    }
+
+    $template->param( table2 => $table2 );
+} else {
+    $template->param( timeline_read_error => 1 );
+}
+
 output_html_with_http_headers $query, $cookie, $template->output;