Online help for Transfers To Do - Circ Reports
[koha.git] / about.pl
1 #!/usr/bin/perl
2  
3 # This file is part of Koha.
4 #
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.
9 #
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.
13 #
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
17
18 use strict;
19 require Exporter;
20
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;
27
28 my $query = new CGI;
29 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
30     {
31         template_name   => "about.tmpl",
32         query           => $query,
33         type            => "intranet",
34         authnotrequired => 0,
35         flagsrequired   => { catalogue => 1 },
36         debug           => 1,
37     }
38 );
39
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 $apacheVersion = (`/usr/sbin/apache2 -V`)[0] unless $apacheVersion;
47 my $zebraVersion = `zebraidx -V`;
48
49 $template->param(
50     kohaVersion   => $kohaVersion,
51     osVersion     => $osVersion,
52     perlVersion   => $perlVersion,
53     mysqlVersion  => $mysqlVersion,
54     apacheVersion => $apacheVersion,
55     zebraVersion  => $zebraVersion,
56 );
57 my @component_names =
58     qw/
59 Biblio::EndnoteStyle
60 CGI
61 CGI::Carp
62 CGI::Session
63 Class::Factory::Util
64 Class::Accessor
65 Compress::Zlib
66 DBD::mysql
67 DBI
68 Data::Dumper
69 Date::Calc
70 Date::Manip
71 Digest::MD5
72 File::Temp
73 GD::Barcode::UPCE
74 Getopt::Long
75 Getopt::Std
76 HTML::Template::Pro
77 HTTP::Cookies
78 HTTP::Request::Common
79 LWP::Simple
80 LWP::UserAgent
81 Lingua::Stem
82 List::Util
83 Locale::Language
84 MARC::Crosswalk::DublinCore
85 MARC::Charset
86 MARC::File::XML
87 MARC::Record
88 MIME::Base64
89 MIME::QuotedPrint
90 Mail::Sendmail
91 Net::Z3950::ZOOM
92 PDF::API2
93 PDF::API2::Page
94 PDF::API2::Util
95 PDF::Reuse
96 PDF::Reuse::Barcode
97 POSIX
98 Schedule::At
99 Term::ANSIColor
100 Test
101 Test::Harness
102 Test::More
103 Text::CSV
104 Text::CSV_XS
105 Text::Wrap
106 Time::HiRes
107 Time::localtime
108 Unicode::Normalize
109 XML::Dumper
110 XML::LibXML
111 XML::LibXSLT
112 XML::SAX::ParserFactory
113 XML::Simple
114 XML::RSS
115 YAML::Syck
116       /;
117
118 my @components = ();
119
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';
127         }
128     }
129     else {
130         $version = 'module is missing';
131     }
132     $counter++;
133     $counter=0 if $counter >3;
134     push(
135         @components,
136         {
137             name    => $component,
138             version => $version,
139             counter => $counter,
140         }
141     );
142 }
143
144 $template->param( components => \@components );
145
146 output_html_with_http_headers $query, $cookie, $template->output;