fixing permissions on mainpage
[koha.git] / about.pl
index ce45771..ffe16ce 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -1,13 +1,31 @@
 #!/usr/bin/perl
-use HTML::Template;
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+
 use strict;
 require Exporter;
-use C4::Database;
+
 use C4::Output;  # contains gettemplate
 use C4::Interface::CGI::Output;
 use C4::Auth;
 use C4::Context;
 use CGI;
+use LWP::Simple;
+use XML::Simple;
 
 my $query = new CGI;
 my ($template, $loggedinuser, $cookie)
@@ -20,16 +38,58 @@ my ($template, $loggedinuser, $cookie)
                             });
 
 my $kohaVersion = C4::Context->config("kohaversion");
-my $osVersion = `/bin/uname -a`;
-my $perlVersion = `/usr/bin/perl -v`;
-my $mysqlVersion = "unknown";
-my $apacheVersion =  "unknown";
+my $osVersion = `uname -a`;
+my $perlVersion = $];
+my $mysqlVersion = `mysql -V`;
+my $apacheVersion =  `httpd -v`;
+$apacheVersion =  `httpd2 -v` unless $apacheVersion;
+my $zebraVersion = `zebraidx -V`;
+# $apacheVersion =  (`/usr/sbin/apache2 -V`)[0];
 
 $template->param(
-                        osVersion          => $osVersion,
-                        perlVersion        => $perlVersion,
-                        mysqlVersion       => $mysqlVersion,
-                        apacheVersion      => $apacheVersion,
+                                       kohaVersion => $kohaVersion,
+                                       osVersion          => $osVersion,
+                                       perlVersion        => $perlVersion,
+                                       mysqlVersion       => $mysqlVersion,
+                                       apacheVersion      => $apacheVersion,
+                                        zebraVersion       => $zebraVersion,
                );
 
+my @component_names =
+    qw/MARC::File::XML   MARC::Charset     Class::Accessor
+       LWP::Simple       XML::Simple       Net::Z3950
+       Event             Net::LDAP         PDF::API2
+       Mail::Sendmail    MARC::Record      Digest::MD5
+       HTML::Template    DBD::mysql        Date::Manip
+       DBI               Smart::Comments   Net::Z3950::ZOOM
+       Date::Calc
+      /;
+
+my @components = ();
+
+foreach my $component (sort @component_names) {
+    my $version;
+    if (eval "require $component") {
+        $version = $component->VERSION;
+        if ($version eq '' ) {
+            $version = 'unknown';
+        }
+    }
+    else {
+        $version = 'module is missing';
+    }
+
+    push (
+        @components,
+        {
+            name    => $component,
+            version => $version,
+        }
+    );
+}
+
+$template->param(
+    components => \@components
+);
+
 output_html_with_http_headers $query, $cookie, $template->output;