From 0a265a42c5b336cae342da188eb21e12f4a9e58e Mon Sep 17 00:00:00 2001 From: Blou <philippe.blouin@inlibro.com> Date: Thu, 3 Mar 2016 10:06:39 -0500 Subject: [PATCH] Bug 11317 - Rename config to 'accessdir' and fix qa Also translate date with datetime format preference and move to Tools. Test preparation : * Add the "accessdir" preference to your "koha-conf.xml" file. This * preference should be in the "config" section. For this test cas, we * will use the "/tmp/files-access" directory : <config> ... <accessdir>/tmp/files-access</accessdir> ... </config> * Create the log directory on your server. Make sure this directory * is readable by your web server : $ mkdir /tmp/files-access * Add a test file in the log directory : $ cd /tmp/files-access $ echo "Hello world!" > test.txt Test : * Go in the "tools/Additional tools" section in the intranet and select "Report/log * files" * The "test.txt" should appear in the files list. * Click on the "test.txt" file, a download dialog should appear. * Download the file and verify its content. It should contain the * text "Hello world!". Signed-off-by: Nick Clemens <nick@bywatersolutions.com> --- debian/templates/koha-conf-site.xml.in | 3 ++ etc/koha-conf.xml | 3 ++ .../prog/en/modules/reports/report_files.tt | 21 ++++++----- .../prog/en/modules/reports/reports-home.tt | 1 - .../prog/en/modules/tools/tools-home.tt | 3 ++ reports/report_files.pl | 42 +++++++++++++--------- 6 files changed, 44 insertions(+), 29 deletions(-) diff --git a/debian/templates/koha-conf-site.xml.in b/debian/templates/koha-conf-site.xml.in index 25ac182..88e02d4 100644 --- a/debian/templates/koha-conf-site.xml.in +++ b/debian/templates/koha-conf-site.xml.in @@ -290,6 +290,9 @@ __END_SRU_PUBLICSERVER__ Use a comma-separated list of levels to include. --> <!-- <zebra_loglevels>none,fatal,warn</zebra_loglevels> --> + <!-- Accessible directory from the staff client, uncomment the following line and define a valid path to let the intranet user access it--> + <!-- <accessdir></accessdir> --> + <!-- true type font mapping accoding to type from $font_types in C4/Creators/Lib.pm --> <ttf> <font type="TR" >/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf</font> diff --git a/etc/koha-conf.xml b/etc/koha-conf.xml index c361846..e27c32e 100644 --- a/etc/koha-conf.xml +++ b/etc/koha-conf.xml @@ -120,6 +120,9 @@ __PAZPAR2_TOGGLE_XML_POST__ <!-- Secret passphrase used by Mojolicious for signed cookies --> <api_secret_passphrase>CHANGEME</api_secret_passphrase> + <!-- Accessible directory from the staff client, uncomment the following line and define a valid path to let the intranet user access it--> + <!-- <accessdir></accessdir> --> + <!-- true type font mapping accoding to type from $font_types in C4/Creators/Lib.pm --> <ttf> <font type="TR" >__FONT_DIR__/DejaVuSerif.ttf</font> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/report_files.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/report_files.tt index 3ee409e..06de9d1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/report_files.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/report_files.tt @@ -2,12 +2,11 @@ <title>Report/log files</title> [% INCLUDE 'doc-head-close.inc' %] <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" /> -<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script> +[% INCLUDE 'datatables.inc' %] [% INCLUDE 'datatables-strings.inc' %] -<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script> <script type="text/JavaScript" language="JavaScript"> - //<![CDATA[ - $(document).ready(function() { + //<![CDATA[ + $(document).ready(function() { $("#files").dataTable($.extend(true, {}, dataTablesDefaults, { "sDom": 't', "aoColumnDefs": [ @@ -15,8 +14,8 @@ ], "bPaginate": false })); - }); - //]]> + }); + //]]> </script> </head> <body> @@ -27,13 +26,13 @@ <div id="doc3" class="yui-t2"> <div id="bd"> - <div id="yui-main"> - <div class="yui-b"> + <div id="yui-main"> + <div class="yui-b"> - <h1>Report/log files</h1> + <h1>Report/log files</h1> -[% IF ( error_no_publiclogdir ) %] - <div class="dialog alert"><strong>Error : </strong>Report/log files could not be found because the "publiclogdir" option was not set in "koha-conf.xml". Contact your system administrator to add this option.</div> +[% IF ( error_no_dir ) %] + <div class="dialog alert"><strong>Error : </strong>Report/log files could not be found because the "accessdir" option was not set in "koha-conf.xml". Contact your system administrator to add this option.</div> [% ELSE %] [% IF ( files_loop ) %] <table id="files"> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tt index d74e25f..fde9ad3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/reports-home.tt @@ -66,7 +66,6 @@ <li><a href="http://schema.koha-community.org/" target="blank">Koha database schema</a></li> <li><a href="http://wiki.koha-community.org/wiki/SQL_Reports_Library" target="blank">Koha reports library</a></li> <!--<li><a href="/cgi-bin/koha/reports/stats.screen.pl">Till reconciliation</a></li> --> - <li><a href="/cgi-bin/koha/reports/report_files.pl">Report/log files</a></li> </ul></div> </div> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt index 514900a..d9ed604 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt @@ -109,6 +109,9 @@ <dd>Manage EDIfact transmissions</dd> [% END %] + <dt><a href="/cgi-bin/koha/reports/report_files.pl">Report/log files </a></dt> + <dd>Report/log files</dd> + </dl> </div> <div class="yui-u"> diff --git a/reports/report_files.pl b/reports/report_files.pl index 3976ecb..dc319e5 100755 --- a/reports/report_files.pl +++ b/reports/report_files.pl @@ -3,14 +3,14 @@ # Frédérick Capovilla, 2011 - Libéo # # Show a list of all the files in the directory specified by the option -# "publiclogdir" in koha-conf.xml so they can be downloaded by users with the +# "accessdir" in koha-conf.xml so they can be downloaded by users with the # "reports" permission. # # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later +# Foundation; either version 3 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY @@ -33,32 +33,39 @@ use Digest::MD5 qw(md5_hex); my $input = new CGI; my $file_id = $input->param("id"); -my $directory = C4::Context->config('publiclogdir'); +my $directory = C4::Context->config('accessdir'); my ($template, $borrowernumber, $cookie) - = get_template_and_user({template_name => "reports/report_files.tt", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {reports => '*'}, - }); + = get_template_and_user({template_name => "reports/report_files.tt", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {reports => '*'}, + }); unless($directory) { - $template->param(error_no_publiclogdir => 1); + $template->param(error_no_dir => 1); } else { #Get the files list my @files_list; - opendir(DIR, $directory); + opendir(DIR, $directory); foreach my $filename (readdir(DIR)) { - my $id = md5_hex($filename); + my $id = md5_hex($filename); my $full_path = "$directory/$filename"; next if ($filename =~ /^\./ or -d $full_path); my $st = stat($full_path); + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime($st->mtime); + my $dt=DateTime->new(year => $year + 1900, + month => $mon + 1, + day => $mday, + hour => $hour, + minute => $min, + ); push(@files_list, {name => $filename, - date => scalar localtime($st->mtime), + date =>Koha::DateUtils::output_pref($dt), size => $st->size, id => $id}); } @@ -75,14 +82,15 @@ else { -Content_length => -s "$directory/$filename", -attachment => "$filename"); - open FILE, "<:utf8", "$directory/$filename"; - binmode FILE; + my $fh; + open $fh, "<:encoding(UTF-8)", "$directory/$filename"; + binmode $fh; my $buf; - while(read(FILE, $buf, 65536)) { + while(read($fh, $buf, 65536)) { print $buf; } - close FILE; + close $fh; exit(1); } -- 2.1.4