[freeside-commits] branch FREESIDE_4_BRANCH updated. 3d4cedda1dabe29c2c24888a30e62472cfea8b35

Ivan ivan at 420.am
Tue Oct 17 14:44:05 PDT 2017


The branch, FREESIDE_4_BRANCH has been updated
       via  3d4cedda1dabe29c2c24888a30e62472cfea8b35 (commit)
      from  c07b79440c6f6763c7c76c8d107c7f32d80e302e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3d4cedda1dabe29c2c24888a30e62472cfea8b35
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue Oct 17 14:44:00 2017 -0700

    fix MIME::Entity usage for perl 5.18+, RT#77890

diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm
index a2d1b3e..4d9d57b 100644
--- a/FS/FS/Misc.pm
+++ b/FS/FS/Misc.pm
@@ -157,7 +157,10 @@ sub send_email {
       unshift @mimeparts, { 
         'Type'        => ( $options{'content-type'} || 'text/plain' ),
         'Charset'     => 'UTF-8',
-        'Data'        => $options{'body'},
+        'Data'        => ( $options{'content-type'} =~ /^text\//
+                             ? Encode::encode_utf8( $options{'body'} )
+                             : $options{'body'}
+                         ),
         'Encoding'    => ( $options{'content-type'} ? '-SUGGEST' : '7bit' ),
         'Disposition' => 'inline',
       };
@@ -166,7 +169,10 @@ sub send_email {
     
       @mimeargs = (
         'Type'     => ( $options{'content-type'} || 'text/plain' ),
-        'Data'     => $options{'body'},
+        'Data'     => ( $options{'content-type'} =~ /^text\//
+                          ? Encode::encode_utf8( $options{'body'} )
+                          : $options{'body'}
+                      ),
         'Encoding' => ( $options{'content-type'} ? '-SUGGEST' : '7bit' ),
         'Charset'  => 'UTF-8',
       );
@@ -377,7 +383,7 @@ sub generate_email {
     'Encoding'    => 'quoted-printable',
     'Charset'     => 'UTF-8',
     #'Encoding'    => '7bit',
-    'Data'        => $data,
+    'Data'        => Encode::encode_utf8($data),
     'Disposition' => 'inline',
   );
 
@@ -398,7 +404,7 @@ sub generate_email {
                        '    </title>',
                        '  </head>',
                        '  <body bgcolor="#ffffff">',
-                       @html_data,
+                       ( map Encode::encode_utf8($_), @html_data ),
                        '  </body>',
                        '</html>',
                      ],
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index 2c094c2..f679d8e 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -2115,6 +2115,7 @@ Returns an argument list to be passed to L<FS::Misc::send_email>.
 =cut
 
 use MIME::Entity;
+use Encode;
 
 sub generate_email {
 
@@ -2191,7 +2192,7 @@ sub generate_email {
         if $DEBUG;
 
       # 'print_text' argument is no longer used
-      @text = $self->print_text(\%args);
+      @text = map Encode::encode_utf8($_), $self->print_text(\%args);
 
     } else {
 
@@ -2286,7 +2287,7 @@ sub generate_email {
                          '    </title>',
                          '  </head>',
                          '  <body bgcolor="#e8e8e8">',
-                         $html,
+                         Encode::encode_utf8($html),
                          '  </body>',
                          '</html>',
                        ],
diff --git a/FS/FS/TicketSystem/RT_Internal.pm b/FS/FS/TicketSystem/RT_Internal.pm
index 99e7044..3da68d9 100644
--- a/FS/FS/TicketSystem/RT_Internal.pm
+++ b/FS/FS/TicketSystem/RT_Internal.pm
@@ -5,6 +5,7 @@ use vars qw( @ISA $DEBUG $me );
 use Data::Dumper;
 use Date::Format qw( time2str );
 use MIME::Entity;
+use Encode;
 use FS::UID qw(dbh);
 use FS::CGI qw(popurl);
 use FS::TicketSystem::RT_Libs;
@@ -374,7 +375,7 @@ sub create_ticket {
              : ( $param{'cc'} ? [ $param{'cc'} ] : [] );
 
   my $mimeobj = MIME::Entity->build(
-    'Data' => $param{'message'},
+    'Data' => Encode::encode_utf8( $param{'message'} ),
     'Type' => ( $param{'mime_type'} || 'text/plain' ),
   );
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Misc.pm                     |   14 ++++++++++----
 FS/FS/Template_Mixin.pm           |    5 +++--
 FS/FS/TicketSystem/RT_Internal.pm |    3 ++-
 3 files changed, 15 insertions(+), 7 deletions(-)




More information about the freeside-commits mailing list