Revision 824735fc
Von Moritz Bunkus vor fast 3 Jahren hinzugefügt
SL/Common.pm | ||
---|---|---|
25 | 25 |
|
26 | 26 |
use SL::DBUtils; |
27 | 27 |
use SL::DB; |
28 |
use SL::HTML::Util; |
|
28 | 29 |
|
29 | 30 |
sub unique_id { |
30 | 31 |
my ($a, $b) = gettimeofday(); |
... | ... | |
423 | 424 |
. $main::locale->text('To (email)') . ": $form->{email}\n" |
424 | 425 |
. "${cc}${bcc}" |
425 | 426 |
. $main::locale->text('Subject') . ": $form->{subject}\n\n" |
426 |
. $main::locale->text('Message') . ": $form->{message}";
|
|
427 |
. $main::locale->text('Message') . ": " . SL::HTML::Util->strip($form->{message});
|
|
427 | 428 |
|
428 | 429 |
$intnotes =~ s|\r||g; |
429 | 430 |
|
SL/Controller/Order.pm | ||
---|---|---|
4 | 4 |
use parent qw(SL::Controller::Base); |
5 | 5 |
|
6 | 6 |
use SL::Helper::Flash qw(flash_later); |
7 |
use SL::HTML::Util; |
|
7 | 8 |
use SL::Presenter::Tag qw(select_tag hidden_tag div_tag); |
8 | 9 |
use SL::Locale::String qw(t8); |
9 | 10 |
use SL::SessionFile::Random; |
... | ... | |
522 | 523 |
$intnotes .= t8('Cc') . ": " . $::form->{cc} . "\n" if $::form->{cc}; |
523 | 524 |
$intnotes .= t8('Bcc') . ": " . $::form->{bcc} . "\n" if $::form->{bcc}; |
524 | 525 |
$intnotes .= t8('Subject') . ": " . $::form->{subject} . "\n\n"; |
525 |
$intnotes .= t8('Message') . ": " . $::form->{message};
|
|
526 |
$intnotes .= t8('Message') . ": " . SL::HTML::Util->strip($::form->{message});
|
|
526 | 527 |
|
527 | 528 |
$self->order->update_attributes(intnotes => $intnotes); |
528 | 529 |
|
SL/Form.pm | ||
---|---|---|
952 | 952 |
$mail->{to} = $self->{EMAIL_RECIPIENT} ? $self->{EMAIL_RECIPIENT} : $self->{email}; |
953 | 953 |
$mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|; |
954 | 954 |
$mail->{fileid} = time() . '.' . $$ . '.'; |
955 |
$mail->{content_type} = "text/html"; |
|
955 | 956 |
my $full_signature = $self->create_email_signature(); |
956 |
$full_signature =~ s/\r//g; |
|
957 | 957 |
|
958 | 958 |
$mail->{attachments} = []; |
959 | 959 |
my @attfiles; |
960 | 960 |
# if we send html or plain text inline |
961 | 961 |
if (($self->{format} eq 'html') && ($self->{sendmode} eq 'inline')) { |
962 |
$mail->{content_type} = "text/html"; |
|
963 | 962 |
$mail->{message} =~ s/\r//g; |
964 | 963 |
$mail->{message} =~ s{\n}{<br>\n}g; |
965 |
$full_signature =~ s{\n}{<br>\n}g; |
|
966 | 964 |
$mail->{message} .= $full_signature; |
967 | 965 |
|
968 | 966 |
open(IN, "<", $self->{tmpfile}) |
... | ... | |
1234 | 1232 |
|
1235 | 1233 |
return undef unless $body; |
1236 | 1234 |
|
1235 |
$body .= GenericTranslations->get(translation_type => "salutation_punctuation_mark", language_id => $self->{language_id}); |
|
1236 |
$body = '<p>' . $::locale->quote_special_chars('HTML', $body) . '</p>'; |
|
1237 |
|
|
1237 | 1238 |
my $translation_type = $params{translation_type} // "preset_text_$self->{formname}"; |
1238 | 1239 |
my $main_body = GenericTranslations->get(translation_type => $translation_type, language_id => $self->{language_id}); |
1239 | 1240 |
$main_body = GenericTranslations->get(translation_type => $params{fallback_translation_type}, language_id => $self->{language_id}) if !$main_body && $params{fallback_translation_type}; |
1240 |
$body .= GenericTranslations->get(translation_type => "salutation_punctuation_mark", language_id => $self->{language_id}) . "\n\n"; |
|
1241 | 1241 |
$body .= $main_body; |
1242 | 1242 |
|
1243 | 1243 |
$body = $main::locale->unquote_special_chars('HTML', $body); |
... | ... | |
3440 | 3440 |
} |
3441 | 3441 |
|
3442 | 3442 |
sub create_email_signature { |
3443 |
|
|
3444 | 3443 |
my $client_signature = $::instance_conf->get_signature; |
3445 | 3444 |
my $user_signature = $::myconfig{signature}; |
3446 | 3445 |
|
3447 |
my $signature = ''; |
|
3448 |
if ( $client_signature or $user_signature ) { |
|
3449 |
$signature = "\n\n-- \n"; |
|
3450 |
$signature .= $user_signature . "\n" if $user_signature; |
|
3451 |
$signature .= $client_signature . "\n" if $client_signature; |
|
3452 |
}; |
|
3453 |
return $signature; |
|
3454 |
|
|
3455 |
}; |
|
3446 |
return join '', grep { $_ } ($user_signature, $client_signature); |
|
3447 |
} |
|
3456 | 3448 |
|
3457 | 3449 |
sub calculate_tax { |
3458 | 3450 |
# this function calculates the net amount and tax for the lines in ar, ap and |
js/kivi.SalesPurchase.js | ||
---|---|---|
241 | 241 |
if (!kivi.SalesPurchase.check_required_email_fields()) |
242 | 242 |
return false; |
243 | 243 |
|
244 |
// ckeditor gets de-initialized when removing the children from |
|
245 |
// the DOM. Therefore we have to manually preserve its content |
|
246 |
// over the children's relocation. |
|
247 |
|
|
248 |
var message = $('#email_form_message').val(); |
|
249 |
|
|
244 | 250 |
$('#send_email_dialog').children().remove().appendTo('#email_inputs'); |
245 | 251 |
$('#send_email_dialog').dialog('close'); |
246 | 252 |
|
253 |
$('#email_form_message').val(message); |
|
254 |
|
|
247 | 255 |
kivi.submit_form_with_action('#form', $('#form').data('send-email-action')); |
248 | 256 |
|
249 | 257 |
return true; |
... | ... | |
255 | 263 |
|
256 | 264 |
$('#print_options').children().remove().appendTo('#email_form_print_options'); |
257 | 265 |
|
266 |
kivi.reinit_widgets(); |
|
267 |
|
|
258 | 268 |
var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject'; |
259 | 269 |
$('#email_form_' + to_focus).focus(); |
260 | 270 |
}; |
templates/webpages/common/_send_email_dialog.html | ||
---|---|---|
68 | 68 |
<th align="right" nowrap>[% LxERP.t8("Message") %] |
69 | 69 |
<sup> [% L.link("generictranslations.pl?action=edit_email_strings", "1)", title=LxERP.t8('Tired of copying always nice phrases for this message? Click here to use the new preset message option!'), target="_blank") %]</sup> |
70 | 70 |
</th> |
71 |
<td>[% L.textarea_tag("email_form.message", email_form.message, rows="15" cols="80" wrap="soft") %]</td>
|
|
71 |
<td>[% L.textarea_tag("email_form.message", email_form.message, rows="15", cols="80", class="texteditor") %]</td>
|
|
72 | 72 |
</tr> |
73 | 73 |
|
74 | 74 |
[% IF INSTANCE_CONF.get_doc_storage %] |
Auch abrufbar als: Unified diff
E-Mails als HTML verschicken: Versand in Einkaufs-/Verkaufsbelegen