X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=tools%2Fupload-cover-image.pl;h=009c890d0d3354155ad935b717a299c781932251;hb=cf0f2d9819e8b11053953b3513c33e51ce979623;hp=7552e2813ae8825db5273451d50f9e9826bda8ff;hpb=5900dfff9a455bbb60b33919faa9299843c42fd3;p=koha.git diff --git a/tools/upload-cover-image.pl b/tools/upload-cover-image.pl index 7552e2813a..009c890d0d 100755 --- a/tools/upload-cover-image.pl +++ b/tools/upload-cover-image.pl @@ -4,18 +4,18 @@ # # 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 -# version. +# 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 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 -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . # # # @@ -37,17 +37,17 @@ resized, maintaining aspect ratio. =cut -use strict; -use warnings; +use Modern::Perl; use File::Temp; -use CGI; +use CGI qw ( -utf8 ); use GD; use C4::Context; use C4::Auth; use C4::Output; use C4::Images; -use C4::UploadedFile; +use Koha::UploadedFiles; +use C4::Log; my $debug = 1; @@ -56,18 +56,18 @@ my $input = new CGI; my $fileID = $input->param('uploadedfileid'); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "tools/upload-images.tmpl", + template_name => "tools/upload-images.tt", query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { tools => 'upload_cover_images' }, + flagsrequired => { tools => 'upload_local_cover_images' }, debug => 0, } ); my $filetype = $input->param('filetype'); my $biblionumber = $input->param('biblionumber'); -my $uploadfilename = $input->param('uploadfile'); +#my $uploadfilename = $input->param('uploadfile'); # obsolete? my $replace = !C4::Context->preference("AllowMultipleCovers") || $input->param('replace'); my $op = $input->param('op'); @@ -82,10 +82,11 @@ $template->{VARS}->{'biblionumber'} = $biblionumber; my $total = 0; if ($fileID) { - my $uploaded_file = C4::UploadedFile->fetch( $sessionID, $fileID ); + my $upload = Koha::UploadedFiles->find( $fileID ); if ( $filetype eq 'image' ) { - my $fh = $uploaded_file->fh(); + my $fh = $upload->file_handle; my $srcimage = GD::Image->new($fh); + $fh->close if $fh; if ( defined $srcimage ) { my $dberror = PutImage( $biblionumber, $srcimage, $replace ); if ($dberror) { @@ -101,7 +102,7 @@ if ($fileID) { undef $srcimage; } else { - my $filename = $uploaded_file->filename(); + my $filename = $upload->full_path; my $dirname = File::Temp::tempdir( CLEANUP => 1 ); unless ( system( "unzip", $filename, '-d', $dirname ) == 0 ) { $error = 'UZIPFAIL'; @@ -143,10 +144,15 @@ if ($fileID) { $error = 'DELERR'; } else { - ( $biblionumber, $filename ) = split $delim, $line; + ( $biblionumber, $filename ) = split $delim, $line, 2; $biblionumber =~ s/[\"\r\n]//g; # remove offensive characters - $filename =~ s/[\"\r\n\s]//g; + $filename =~ s/[\"\r\n]//g; + $filename =~ s/^\s+//; + $filename =~ s/\s+$//; + if (C4::Context->preference("CataloguingLog")) { + logaction('CATALOGUING', 'MODIFY', $biblionumber, "biblio cover image: $filename"); + } my $srcimage = GD::Image->new("$dir/$filename"); if ( defined $srcimage ) { $total++;