Porting about.pl over to use C4::Installer::PerlModules --- about.pl | 148 +++++-------------- koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl | 33 ++++- 2 files changed, 66 insertions(+), 115 deletions(-)
diff --git a/about.pl b/about.pl index 04a9675..10793c7 100755 --- a/about.pl +++ b/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::PerlModules 1.000000; + 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; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl index 7317065..04ec4c0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tmpl +++ b/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"> -- 1.7.0.4 _______________________________________________ Koha-patches mailing list Koha-patches@lists.koha.org http://lists.koha.org/mailman/listinfo/koha-patches