Bugzilla – Attachment 2114 Details for
Bug 4444
Centralize Code Handling Perl Dependencies
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[3/5] Ports about.pl to new modules
0003-3-5-Enhancement-Bug-4444-Centralize-Code-Handling-Pe.patch (text/plain), 6.52 KB, created by
Chris Cormack
on 2010-05-16 01:30:00 UTC
(
hide
)
Description:
[3/5] Ports about.pl to new modules
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2010-05-16 01:30:00 UTC
Size:
6.52 KB
patch
obsolete
>From 952b9e4f08a7a8b0f8f0d17b902a7c9650373f9c Mon Sep 17 00:00:00 2001 >From: Chris Nighswonger <cnighswonger@foundations.edu> >Date: Mon, 3 May 2010 19:27:29 -0400 >Subject: [PATCH 3/5] [3/5] Enhancement Bug 4444: Centralize Code Handling Perl Dependencies >Content-Type: text/plain; charset="utf-8" > >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..be5e0ab 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; >+ > 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 9b0b969..d494cf2 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 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 4444
:
2111
|
2112
|
2113
| 2114 |
2115
|
2116