SL/DB/Helper/ThumbnailCreator.pm wird nicht benutzt
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 15 Feb 2021 14:25:53 +0000 (15:25 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 15 Feb 2021 14:26:30 +0000 (15:26 +0100)
siehe SL/DB/Controller/ThumbnailCreator.pm

SL/DB/Helper/ThumbnailCreator.pm [deleted file]

diff --git a/SL/DB/Helper/ThumbnailCreator.pm b/SL/DB/Helper/ThumbnailCreator.pm
deleted file mode 100644 (file)
index 40d861a..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-package SL::DB::Helper::ThumbnailCreator;
-
-use strict;
-
-use parent qw(SL::Controller::Base);
-
-use SL::Locale::String qw(t8);
-use Carp;
-use GD;
-use Image::Info;
-use File::MimeInfo::Magic;
-use List::MoreUtils qw(apply);
-use List::Util qw(max);
-use Rose::DB::Object::Util;
-
-require Exporter;
-our @ISA      = qw(Exporter);
-our @EXPORT   = qw(file_create_thumbnail file_update_thumbnail file_probe_type file_update_type_and_dimensions);
-
-# TODO PDFs and others like odt,txt,...
-our %supported_mime_types = (
-  'image/gif'  => { extension => 'gif', convert_to_png => 1, },
-  'image/png'  => { extension => 'png' },
-  'image/jpeg' => { extension => 'jpg' },
-  'image/tiff' => { extension => 'tif'},
-);
-
-sub file_create_thumbnail {
-  my ($self) = @_;
-  croak "No picture set yet" if !$self->file_content;
-
-  my $image            = GD::Image->new($self->file_content);
-  my ($width, $height) = $image->getBounds;
-  my $max_dim          = 64;
-  my $curr_max         = max $width, $height, 1;
-  my $factor           = $curr_max <= $max_dim ? 1 : $curr_max / $max_dim;
-  my $new_width        = int($width  / $factor + 0.5);
-  my $new_height       = int($height / $factor + 0.5);
-  my $thumbnail        = GD::Image->new($new_width, $new_height);
-
-  $thumbnail->copyResized($image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
-
-  $self->thumbnail_img_content($thumbnail->png);
-  $self->thumbnail_img_content_type('image/png');
-  $self->thumbnail_img_width($new_width);
-  $self->thumbnail_img_height($new_height);
-  return 1;
-
-}
-
-sub file_update_thumbnail {
-  my ($self) = @_;
-
-  return 1 if !$self->file_content || !$self->file_content_type || !Rose::DB::Object::Util::get_column_value_modified($self, 'file_content');
-  $self->file_create_thumbnail;
-  return 1;
-}
-
-sub file_probe_type {
-  my ($self) = @_;
-
-  return (t8("No file uploaded yet")) if !$self->file_content;
-  my $mime_type = File::MimeInfo::Magic::magic($self->file_content);
-
-  my $info = Image::Info::image_info(\$self->{file_content});
-  if (!$info || $info->{error} || !$info->{file_media_type} || !$supported_mime_types{ $info->{file_media_type} }) {
-    $::lxdebug->warn("Image::Info error: " . $info->{error}) if $info && $info->{error};
-    return (t8('Unsupported image type (supported types: #1)', join(' ', sort keys %supported_mime_types)));
-  }
-
-  $self->file_content_type($info->{file_media_type});
-  $self->files_img_width($info->{width});
-  $self->files_img_height($info->{height});
-  $self->files_mtime(DateTime->now_local);
-
-  $self->file_create_thumbnail;
-
-  return ();
-}
-
-sub file_update_type_and_dimensions {
-  my ($self) = @_;
-
-  return () if !$self->file_content;
-  return () if $self->file_content_type && $self->files_img_width && $self->files_img_height && !Rose::DB::Object::Util::get_column_value_modified($self, 'file_content');
-
-  my @errors = $self->file_probe_type;
-  return @errors if @errors;
-
-  my $info = $supported_mime_types{ $self->file_content_type };
-  if ($info->{convert_to_png}) {
-    $self->file_content(GD::Image->new($self->file_content)->png);
-    $self->file_content_type('image/png');
-    $self->filename(apply { s/\.[^\.]+$//;  $_ .= '.png'; } $self->filename);
-  }
-  return ();
-}
-
-1;
-__END__
-
-=pod
-
-=encoding utf8
-
-=head1 NAME
-
-SL::DB::Helper::ThumbnailCreator - DatabaseClass Helper for Fileuploads
-
-=head1 SYNOPSIS
-
-use SL::DB::Helper::ThumbnailCreator;
-
-# synopsis...
-
-=head1 DESCRIPTION
-
-# longer description..
-
-=head1 AUTHOR
-
-Werner Hahn E<lt>wh@futureworldsearch.netE<gt>
-
-=cut