From 7a4f28fc726c0f56a2f78f44f346eb541e4d2edd Mon Sep 17 00:00:00 2001 From: boudet jean pascal <68547382+atm-jpb@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:56:13 +0100 Subject: [PATCH] =?UTF-8?q?NEW=20adds=20a=20hook=20in=20the=20ticket=20ema?= =?UTF-8?q?il/message=20form=20generated=20by=20`FormTicket=E2=80=A6=20(#3?= =?UTF-8?q?7580)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add hook * fix pre-commit --------- Co-authored-by: jpb --- htdocs/core/class/html.formticket.class.php | 82 +++++++++++---------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index 8b2f7f60686..61f8e3cec88 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -1706,54 +1706,60 @@ class FormTicket print ''; // Recipients / adressed-to - print ''.$langs->trans('MailRecipients'); - print ' '.$form->textwithpicto('', $langs->trans("TicketMessageRecipientsHelp"), 1, 'help'); - print ''; - if ($res) { - // Retrieve email of all contacts (internal and external) - $contacts = $ticketstat->getInfosTicketInternalContact(1); - $contacts = array_merge($contacts, $ticketstat->getInfosTicketExternalContact(1)); + $parameters = array(); + $action = ''; + $reshook = $hookmanager->executeHooks('printFieldTicketEmailTo', $parameters, $this, $action); + if (empty($reshook)) { + print ''.$langs->trans('MailRecipients'); + print ' '.$form->textwithpicto('', $langs->trans("TicketMessageRecipientsHelp"), 1, 'help'); + print ''; + if ($res) { + // Retrieve email of all contacts (internal and external) + $contacts = $ticketstat->getInfosTicketInternalContact(1); + $contacts = array_merge($contacts, $ticketstat->getInfosTicketExternalContact(1)); - $sendto = array(); + $sendto = array(); - // Build array to display recipient list - if (is_array($contacts) && count($contacts) > 0) { - foreach ($contacts as $key => $info_sendto) { - if ($info_sendto['email'] != '') { - $sendto[] = dol_escape_htmltag(trim($info_sendto['firstname']." ".$info_sendto['lastname'])." <".$info_sendto['email'].">").' ('.dol_escape_htmltag($info_sendto['libelle']).")"; + // Build array to display recipient list + if (is_array($contacts) && count($contacts) > 0) { + foreach ($contacts as $key => $info_sendto) { + if ($info_sendto['email'] != '') { + $sendto[] = dol_escape_htmltag(trim($info_sendto['firstname']." ".$info_sendto['lastname'])." <".$info_sendto['email'].">").' ('.dol_escape_htmltag($info_sendto['libelle']).")"; + } } } - } - if (!empty($ticketstat->origin_replyto) && !in_array($ticketstat->origin_replyto, $sendto)) { - $sendto[] = dol_escape_htmltag((string) $ticketstat->origin_replyto).' ('.$langs->trans("TicketEmailOriginIssuer").")"; - } elseif ($ticketstat->origin_email && !in_array($ticketstat->origin_email, $sendto)) { - $sendto[] = dol_escape_htmltag((string) $ticketstat->origin_email).' ('.$langs->trans("TicketEmailOriginIssuer").")"; - } + if (!empty($ticketstat->origin_replyto) && !in_array($ticketstat->origin_replyto, $sendto)) { + $sendto[] = dol_escape_htmltag((string) $ticketstat->origin_replyto).' ('.$langs->trans("TicketEmailOriginIssuer").")"; + } elseif ($ticketstat->origin_email && !in_array($ticketstat->origin_email, $sendto)) { + $sendto[] = dol_escape_htmltag((string) $ticketstat->origin_email).' ('.$langs->trans("TicketEmailOriginIssuer").")"; + } - if ($ticketstat->fk_soc > 0) { - $ticketstat->socid = $ticketstat->fk_soc; - $ticketstat->fetch_thirdparty(); + if ($ticketstat->fk_soc > 0) { + $ticketstat->socid = $ticketstat->fk_soc; + $ticketstat->fetch_thirdparty(); - if (!empty($ticketstat->thirdparty->email) && !in_array($ticketstat->thirdparty->email, $sendto)) { - $sendto[] = $ticketstat->thirdparty->email.' ('.$langs->trans('Customer').')'; + if (!empty($ticketstat->thirdparty->email) && !in_array($ticketstat->thirdparty->email, $sendto)) { + $sendto[] = $ticketstat->thirdparty->email.' ('.$langs->trans('Customer').')'; + } + } + + if (getDolGlobalInt('TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS')) { + $sendto[] = getDolGlobalString('TICKET_NOTIFICATION_EMAIL_TO').' (generic email)'; + } + + // Print recipient list + if (is_array($sendto) && count($sendto) > 0) { + print img_picto('', 'email', 'class="pictofixedwidth"'); + print implode(', ', $sendto); + } else { + print '
'.$langs->trans('WarningNoEMailsAdded').' '.$langs->trans('TicketGoIntoContactTab').'
'; } } - - if (getDolGlobalInt('TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS')) { - $sendto[] = getDolGlobalString('TICKET_NOTIFICATION_EMAIL_TO').' (generic email)'; - } - - // Print recipient list - if (is_array($sendto) && count($sendto) > 0) { - print img_picto('', 'email', 'class="pictofixedwidth"'); - print implode(', ', $sendto); - } else { - print '
'.$langs->trans('WarningNoEMailsAdded').' '.$langs->trans('TicketGoIntoContactTab').'
'; - } + print ''; + } else { + print $hookmanager->resPrint; } - print ''; - // Send to CC $sendtocc = getDolGlobalString('TICKET_SEND_INTERNAL_CC'); if ($sendtocc) {