installer (part 1): started major changes
[koha.git] / about.pl
blobb1a7b881ebb3219da0811986f19c41b6977d21ff
1 #!/usr/bin/perl
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 2 of the License, or (at your option) any later
8 # version.
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License along with
15 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
16 # Suite 330, Boston, MA 02111-1307 USA
18 use strict;
19 require Exporter;
21 use C4::Output; # contains gettemplate
22 use C4::Auth;
23 use C4::Context;
24 use CGI;
25 use LWP::Simple;
26 use XML::Simple;
28 my $query = new CGI;
29 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
31 template_name => "about.tmpl",
32 query => $query,
33 type => "intranet",
34 authnotrequired => 0,
35 flagsrequired => { catalogue => 1 },
36 debug => 1,
40 my $kohaVersion = C4::Context::KOHAVERSION;
41 my $osVersion = `uname -a`;
42 my $perlVersion = $];
43 my $mysqlVersion = `mysql -V`;
44 my $apacheVersion = `httpd -v`;
45 $apacheVersion = `httpd2 -v` unless $apacheVersion;
46 my $zebraVersion = `zebraidx -V`;
48 # $apacheVersion = (`/usr/sbin/apache2 -V`)[0];
50 $template->param(
51 kohaVersion => $kohaVersion,
52 osVersion => $osVersion,
53 perlVersion => $perlVersion,
54 mysqlVersion => $mysqlVersion,
55 apacheVersion => $apacheVersion,
56 zebraVersion => $zebraVersion,
58 my @component_names =
59 qw/
60 Biblio::EndnoteStyle
61 CGI
62 CGI::Carp
63 CGI::Session
64 Class::Factory::Util
65 Class::Accessor
66 Compress::Zlib
67 DBD::mysql
68 DBI
69 Data::Dumper
70 Date::Calc
71 Date::Manip
72 Digest::MD5
73 File::Temp
74 GD::Barcode::UPCE
75 Getopt::Long
76 Getopt::Std
77 HTML::Template::Pro
78 HTTP::Cookies
79 HTTP::Request::Common
80 LWP::Simple
81 LWP::UserAgent
82 Lingua::Stem
83 List::Util
84 Locale::Language
85 MARC::Crosswalk::DublinCore
86 MARC::Charset
87 MARC::File::XML
88 MARC::Record
89 MIME::Base64
90 MIME::QuotedPrint
91 Mail::Sendmail
92 Net::Z3950::ZOOM
93 PDF::API2
94 PDF::API2::Page
95 PDF::API2::Util
96 PDF::Reuse
97 PDF::Reuse::Barcode
98 POSIX
99 Schedule::At
100 Term::ANSIColor
101 Test
102 Test::Harness
103 Test::More
104 Text::CSV
105 Text::CSV_XS
106 Text::Wrap
107 Time::HiRes
108 Time::localtime
109 Unicode::Normalize
110 XML::Dumper
111 XML::LibXML
112 XML::LibXSLT
113 XML::SAX::ParserFactory
114 XML::Simple
115 XML::RSS
118 my @components = ();
120 my $counter=0;
121 foreach my $component ( sort @component_names ) {
122 my $version;
123 if ( eval "require $component" ) {
124 $version = $component->VERSION;
125 if ( $version eq '' ) {
126 $version = 'unknown';
129 else {
130 $version = 'module is missing';
132 $counter++;
133 $counter=0 if $counter >3;
134 push(
135 @components,
137 name => $component,
138 version => $version,
139 counter => $counter,
144 $template->param( components => \@components );
146 output_html_with_http_headers $query, $cookie, $template->output;