Browse Source

Enhancement Bug 4444: Centralize Code Handling Perl Dependencies

Porting about.pl over to use C4::Installer::PerlModules

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
3.4.x
Chris Nighswonger 14 years ago
committed by Chris Cormack
parent
commit
4c072a153d
  1. 148
      about.pl
  2. 33
      koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl

148
about.pl

@ -17,14 +17,17 @@
use strict;
use warnings;
use C4::Output; # contains gettemplate
use C4::Auth;
use C4::Context;
use CGI;
use LWP::Simple;
use XML::Simple;
use Config;
use C4::Output; # contains gettemplate
use C4::Auth;
use C4::Context;
use C4::Installer;
my $query = new CGI;
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
@ -60,118 +63,45 @@ $template->param(
apacheVersion => $apacheVersion,
zebraVersion => $zebraVersion,
);
my @component_names =
qw/
Algorithm::CheckDigits
Biblio::EndnoteStyle
CGI
CGI::Carp
CGI::Session
CGI::Session::Serialize::yaml
Class::Factory::Util
Class::Accessor
Compress::Zlib
DBD::mysql
DBD::SQLite2
DBI
Data::Dumper
Data::ICal
Date::Calc
Date::ICal
Date::Manip
Digest::MD5
Digest::SHA
Email::Date
File::Temp
GD
GD::Barcode::UPCE
Getopt::Long
Getopt::Std
Graphics::Magick
HTML::Template::Pro
HTTP::Cookies
HTTP::OAI
HTTP::Request::Common
HTML::Scrubber
IPC::Cmd
JSON
LWP::Simple
LWP::UserAgent
Lingua::Stem
Lingua::Stem::Snowball
List::Util
List::MoreUtils
Locale::Currency::Format
Locale::Language
MARC::Crosswalk::DublinCore
MARC::Charset
MARC::File::XML
MARC::Record
MIME::Base64
MIME::Lite
MIME::QuotedPrint
Mail::Sendmail
Net::LDAP
Net::LDAP::Filter
Net::Z3950::ZOOM
Number::Format
PDF::API2
PDF::API2::Page
PDF::API2::Util
PDF::API2::Simple
PDF::Table
PDF::Reuse
PDF::Reuse::Barcode
POE
POSIX
Schedule::At
SMS::Send
Term::ANSIColor
Test
Test::Harness
Test::More
Text::CSV
Text::CSV_XS
Text::CSV::Encoded
Text::Iconv
Text::Wrap
Time::HiRes
Time::localtime
Unicode::Normalize
XML::Dumper
XML::LibXML
XML::LibXSLT
XML::SAX::ParserFactory
XML::SAX::Writer
XML::Simple
XML::RSS
YAML::Syck
/;
my @components = ();
my $counter=0;
foreach my $component ( sort @component_names ) {
my $version;
if ( eval "require $component" ) {
$version = $component->VERSION;
if ( $version eq '' ) {
$version = 'unknown';
}
my $perl_modules = C4::Installer::PerlModules->new;
$perl_modules->version_info;
my @pm_types = qw(missing_pm upgrade_pm current_pm);
foreach my $pm_type(@pm_types) {
my $modules = $perl_modules->get_attr($pm_type);
foreach (@$modules) {
my ($module, $stats) = each %$_;
push(
@components,
{
name => $module,
version => $stats->{'cur_ver'},
missing => ($pm_type eq 'missing_pm' ? 1 : 0),
upgrade => ($pm_type eq 'upgrade_pm' ? 1 : 0),
current => ($pm_type eq 'current_pm' ? 1 : 0),
require => $stats->{'required'},
}
);
}
else {
$version = 'module is missing';
}
@components = sort {$a->{'name'} cmp $b->{'name'}} @components;
my $counter=0;
my $row = [];
my $table = [];
foreach (@components) {
push (@$row, $_);
unless (++$counter % 4) {
push (@$table, {row => $row});
$row = [];
}
push(
@components,
{
name => $component,
version => $version,
newrow => (++$counter % 4) ? 0 : 1,
}
);
}
$template->param( components => \@components );
$template->param( table => $table );
output_html_with_http_headers $query, $cookie, $template->output;

33
koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl

@ -50,15 +50,36 @@
</table>
</div>
<div id="perl">
<table>
<table style="cursor:pointer">
<caption>Perl modules</caption>
<!-- TMPL_LOOP name="table" -->
<tr>
<!-- TMPL_LOOP name="components" -->
<th scope="row"><!-- TMPL_VAR NAME="name" --></th>
<td><!-- TMPL_VAR NAME="version" --></td>
<!-- TMPL_IF name="newrow" --></tr><!-- TMPL_UNLESS NAME="__last__" --><tr><!-- /TMPL_UNLESS --><!-- /TMPL_IF -->
<!-- TMPL_LOOP name="row" -->
<!-- TMPL_IF NAME="current" -->
<!-- TMPL_IF NAME="require" -->
<th scope="row" style="font-weight:bold;" title="Module current">
<!-- TMPL_ELSE -->
<th scope="row" style="font-weight:normal" title="Module current">
<!-- /TMPL_IF -->
<!-- TMPL_ELSIF NAME="upgrade" -->
<!-- TMPL_IF NAME="require" -->
<th scope="row" style="background-color:#FFCB2F;font-weight:bold;" title="Module upgrade needed">
<!-- TMPL_ELSE -->
<th scope="row" style="background-color:#FFCB2F;font-weight:normal" title="Module upgrade needed">
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="require" -->
<th scope="row" style="background-color:#FF8A8A;font-weight:bold;" title="Required module missing">
<!-- TMPL_ELSE -->
<th scope="row" style="background-color:#FF8A8A;font-weight:normal" title="Optional module missing">
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="name" -->
</th>
<!-- TMPL_IF NAME="version" --><td><!-- TMPL_VAR NAME="version" --><!-- TMPL_ELSE --><td style="font-weight:bold">Not Installed<!-- /TMPL_IF --></td>
<!-- /TMPL_LOOP -->
</tr>
<!-- /TMPL_LOOP -->
</tr>
</table>
</div>
<div id="team">

Loading…
Cancel
Save