Finalized XML version for intranet
[koha.git] / about.pl
1 #!/usr/bin/perl
2 use HTML::Template;
3 use strict;
4 require Exporter;
5 use C4::Database;
6 use C4::Output;  # contains gettemplate
7 use C4::Interface::CGI::Output;
8 use C4::Auth;
9 use C4::Context;
10 use CGI;
11 use LWP::Simple;
12 use XML::Simple;
13
14 my $query = new CGI;
15 my ($template, $loggedinuser, $cookie)
16     = get_template_and_user({template_name => "about.tmpl",
17                              query => $query,
18                              type => "intranet",
19                              authnotrequired => 0,
20                              flagsrequired => {parameters => 1},
21                              debug => 1,
22                              });
23
24 my $kohaVersion = C4::Context->config("kohaversion");
25 my $osVersion = `uname -a`;
26 my $perlVersion = $];
27 my $mysqlVersion = `mysql -V`;
28 my $apacheVersion =  `httpd -v`;
29 $apacheVersion =  `httpd2 -v` unless $apacheVersion;
30 my $zebraVersion = `zebraidx -V`;
31 # $apacheVersion =  (`/usr/sbin/apache2 -V`)[0];
32
33 $template->param(
34                                         kohaVersion => $kohaVersion,
35                                         osVersion          => $osVersion,
36                                         perlVersion        => $perlVersion,
37                                         mysqlVersion       => $mysqlVersion,
38                                         apacheVersion      => $apacheVersion,
39                                         zebraVersion       => $zebraVersion,
40                 );
41
42 my @component_names =
43     qw/MARC::File::XML   MARC::Charset     Class::Accessor
44        LWP::Simple       XML::Simple       Net::Z3950
45        Event             Net::LDAP         PDF::API2
46        Mail::Sendmail    MARC::Record      Digest::MD5
47        HTML::Template    DBD::mysql        Date::Manip
48        DBI               Smart::Comments   Net::Z3950::ZOOM
49        Date::Calc
50       /;
51
52 my @components = ();
53
54 foreach my $component (sort @component_names) {
55     my $version;
56     if (eval "require $component") {
57         $version = $component->VERSION;
58         if ($version eq '' ) {
59             $version = 'unknown';
60         }
61     }
62     else {
63         $version = 'module is missing';
64     }
65
66     push (
67         @components,
68         {
69             name    => $component,
70             version => $version,
71         }
72     );
73 }
74
75 $template->param(
76     components => \@components
77 );
78
79 output_html_with_http_headers $query, $cookie, $template->output;