diff --git a/htdocs/public/ticket/create_ticket.php b/htdocs/public/ticket/create_ticket.php
index 75e5dcdb868..79334a5b5f5 100644
--- a/htdocs/public/ticket/create_ticket.php
+++ b/htdocs/public/ticket/create_ticket.php
@@ -233,24 +233,24 @@ if (empty($reshook)) {
if (!$error) {
$object->db->begin();
- $object->type_code = GETPOST("type_code", 'aZ09');
- $object->category_code = GETPOST("category_code", 'aZ09');
- $object->severity_code = GETPOST("severity_code", 'aZ09');
- $object->ip = getUserRemoteIP();
+ $object->type_code = GETPOST("type_code", 'aZ09');
+ $object->category_code = GETPOST("category_code", 'aZ09');
+ $object->severity_code = GETPOST("severity_code", 'aZ09');
+ $object->ip = getUserRemoteIP();
- $sql = "SELECT COUNT(ref) as nb_tickets";
- $sql .= " FROM ".MAIN_DB_PREFIX."ticket";
- $sql .= " WHERE ip = '".$db->escape($object->ip)."'";
- $resql = $db->query($sql);
- if ($resql) {
- $num = $db->num_rows($resql);
- $i = 0;
- while ($i < $num) {
- $i++;
- $obj = $db->fetch_object($resql);
- $nb_post_ip = $obj->nb_tickets;
+ $sql = "SELECT COUNT(ref) as nb_tickets";
+ $sql .= " FROM ".MAIN_DB_PREFIX."ticket";
+ $sql .= " WHERE ip = '".$db->escape($object->ip)."'";
+ $resql = $db->query($sql);
+ if ($resql) {
+ $num = $db->num_rows($resql);
+ $i = 0;
+ while ($i < $num) {
+ $i++;
+ $obj = $db->fetch_object($resql);
+ $nb_post_ip = $obj->nb_tickets;
+ }
}
- }
$object->track_id = generate_random_id(16);
@@ -320,122 +320,81 @@ if (empty($reshook)) {
$object->context['disableticketemail'] = 1; // Disable emails sent by ticket trigger when creation is done from this page, emails are already sent later
- if ($nb_post_ip >= getDolGlobalInt("MAIN_SECURITY_MAX_POST_ON_PUBLIC_PAGES_BY_IP_ADDRESS", 1000)) {
- $error++;
- $errors = array($langs->trans("AlreadyTooMuchPostOnThisIPAdress"));
- array_push($object->errors, array($langs->trans("AlreadyTooMuchPostOnThisIPAdress")));
- $action = 'create_ticket';
- }
-
- if (!$error) {
- $id = $object->create($user);
- if ($id <= 0) {
+ if ($nb_post_ip >= getDolGlobalInt("MAIN_SECURITY_MAX_POST_ON_PUBLIC_PAGES_BY_IP_ADDRESS", 1000)) {
$error++;
- $errors = ($object->error ? array($object->error) : $object->errors);
- array_push($object->errors, $object->error ? array($object->error) : $object->errors);
- $action = 'create_ticket';
- }
- }
-
- if (!$error && $id > 0) {
- if ($usertoassign > 0) {
- $object->add_contact($usertoassign, "SUPPORTCLI", 'external', 0);
- }
-
- if (!$error) {
- $object->db->commit();
- $action = "infos_success";
- } else {
- $object->db->rollback();
- setEventMessages($object->error, $object->errors, 'errors');
+ $errors = array($langs->trans("AlreadyTooMuchPostOnThisIPAdress"));
+ array_push($object->errors, array($langs->trans("AlreadyTooMuchPostOnThisIPAdress")));
$action = 'create_ticket';
}
if (!$error) {
- $res = $object->fetch($id);
- if ($res) {
- // Create form object
- include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
- include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
- $formmail = new FormMail($db);
+ $id = $object->create($user);
+ if ($id <= 0) {
+ $error++;
+ $errors = ($object->error ? array($object->error) : $object->errors);
+ array_push($object->errors, $object->error ? array($object->error) : $object->errors);
+ $action = 'create_ticket';
+ }
+ }
- // Init to avoid errors
- $filepath = array();
- $filename = array();
- $mimetype = array();
+ if (!$error && $id > 0) {
+ if ($usertoassign > 0) {
+ $object->add_contact($usertoassign, "SUPPORTCLI", 'external', 0);
+ }
- $attachedfiles = $formmail->get_attached_files();
- $filepath = $attachedfiles['paths'];
- $filename = $attachedfiles['names'];
- $mimetype = $attachedfiles['mimes'];
+ if (!$error) {
+ $object->db->commit();
+ $action = "infos_success";
+ } else {
+ $object->db->rollback();
+ setEventMessages($object->error, $object->errors, 'errors');
+ $action = 'create_ticket';
+ }
- // Send email to customer
+ if (!$error) {
+ $res = $object->fetch($id);
+ if ($res) {
+ // Create form object
+ include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
+ include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
+ $formmail = new FormMail($db);
- $subject = '['.$conf->global->MAIN_INFO_SOCIETE_NOM.'] '.$langs->transnoentities('TicketNewEmailSubject', $object->ref, $object->track_id);
- $message = ($conf->global->TICKET_MESSAGE_MAIL_NEW ? $conf->global->TICKET_MESSAGE_MAIL_NEW : $langs->transnoentities('TicketNewEmailBody')).'
';
- $message .= $langs->transnoentities('TicketNewEmailBodyInfosTicket').'
';
+ // Init to avoid errors
+ $filepath = array();
+ $filename = array();
+ $mimetype = array();
- $url_public_ticket = ($conf->global->TICKET_URL_PUBLIC_INTERFACE ? $conf->global->TICKET_URL_PUBLIC_INTERFACE.'/view.php' : dol_buildpath('/public/ticket/view.php', 2)).'?track_id='.$object->track_id;
- $infos_new_ticket = $langs->transnoentities('TicketNewEmailBodyInfosTrackId', ''.$object->track_id.'').'
';
- $infos_new_ticket .= $langs->transnoentities('TicketNewEmailBodyInfosTrackUrl').'
';
+ $attachedfiles = $formmail->get_attached_files();
+ $filepath = $attachedfiles['paths'];
+ $filename = $attachedfiles['names'];
+ $mimetype = $attachedfiles['mimes'];
- $message .= $infos_new_ticket;
- $message .= getDolGlobalString('TICKET_MESSAGE_MAIL_SIGNATURE', $langs->transnoentities('TicketMessageMailSignatureText', $mysoc->name));
+ // Send email to customer
- $sendto = GETPOST('email', 'alpha');
+ $subject = '['.$conf->global->MAIN_INFO_SOCIETE_NOM.'] '.$langs->transnoentities('TicketNewEmailSubject', $object->ref, $object->track_id);
+ $message = ($conf->global->TICKET_MESSAGE_MAIL_NEW ? $conf->global->TICKET_MESSAGE_MAIL_NEW : $langs->transnoentities('TicketNewEmailBody')).'
';
+ $message .= $langs->transnoentities('TicketNewEmailBodyInfosTicket').'
';
- $from = $conf->global->MAIN_INFO_SOCIETE_NOM.' <'.getDolGlobalString('TICKET_NOTIFICATION_EMAIL_FROM').'>';
- $replyto = $from;
- $sendtocc = '';
- $deliveryreceipt = 0;
+ $url_public_ticket = ($conf->global->TICKET_URL_PUBLIC_INTERFACE ? $conf->global->TICKET_URL_PUBLIC_INTERFACE.'/view.php' : dol_buildpath('/public/ticket/view.php', 2)).'?track_id='.$object->track_id;
+ $infos_new_ticket = $langs->transnoentities('TicketNewEmailBodyInfosTrackId', ''.$object->track_id.'').'
';
+ $infos_new_ticket .= $langs->transnoentities('TicketNewEmailBodyInfosTrackUrl').'
';
- if (!empty($conf->global->TICKET_DISABLE_MAIL_AUTOCOPY_TO)) {
- $old_MAIN_MAIL_AUTOCOPY_TO = $conf->global->MAIN_MAIL_AUTOCOPY_TO;
- $conf->global->MAIN_MAIL_AUTOCOPY_TO = '';
- }
- include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
- $mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, '', $deliveryreceipt, -1, '', '', 'tic'.$object->id, '', 'ticket');
- if ($mailfile->error || $mailfile->errors) {
- setEventMessages($mailfile->error, $mailfile->errors, 'errors');
- } else {
- $result = $mailfile->sendfile();
- }
- if (!empty($conf->global->TICKET_DISABLE_MAIL_AUTOCOPY_TO)) {
- $conf->global->MAIN_MAIL_AUTOCOPY_TO = $old_MAIN_MAIL_AUTOCOPY_TO;
- }
+ $message .= $infos_new_ticket;
+ $message .= getDolGlobalString('TICKET_MESSAGE_MAIL_SIGNATURE', $langs->transnoentities('TicketMessageMailSignatureText', $mysoc->name));
- // Send email to TICKET_NOTIFICATION_EMAIL_TO
- $sendto = $conf->global->TICKET_NOTIFICATION_EMAIL_TO;
- if ($sendto) {
- $subject = '['.$conf->global->MAIN_INFO_SOCIETE_NOM.'] '.$langs->transnoentities('TicketNewEmailSubjectAdmin', $object->ref, $object->track_id);
- $message_admin = $langs->transnoentities('TicketNewEmailBodyAdmin', $object->track_id).'
';
- $message_admin .= '
'.$langs->trans('Message').' :
'.$object->message.'
'.$langs->trans('SeeThisTicketIntomanagementInterface').'
'; - - $from = $conf->global->MAIN_INFO_SOCIETE_NOM.' <'.$conf->global->TICKET_NOTIFICATION_EMAIL_FROM.'>'; + $from = $conf->global->MAIN_INFO_SOCIETE_NOM.' <'.getDolGlobalString('TICKET_NOTIFICATION_EMAIL_FROM').'>'; $replyto = $from; + $sendtocc = ''; + $deliveryreceipt = 0; if (!empty($conf->global->TICKET_DISABLE_MAIL_AUTOCOPY_TO)) { $old_MAIN_MAIL_AUTOCOPY_TO = $conf->global->MAIN_MAIL_AUTOCOPY_TO; $conf->global->MAIN_MAIL_AUTOCOPY_TO = ''; } include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - $mailfile = new CMailFile($subject, $sendto, $from, $message_admin, $filepath, $mimetype, $filename, $sendtocc, '', $deliveryreceipt, -1, '', '', 'tic'.$object->id, '', 'ticket'); + $mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, '', $deliveryreceipt, -1, '', '', 'tic'.$object->id, '', 'ticket'); if ($mailfile->error || $mailfile->errors) { setEventMessages($mailfile->error, $mailfile->errors, 'errors'); } else { @@ -444,32 +403,74 @@ if (empty($reshook)) { if (!empty($conf->global->TICKET_DISABLE_MAIL_AUTOCOPY_TO)) { $conf->global->MAIN_MAIL_AUTOCOPY_TO = $old_MAIN_MAIL_AUTOCOPY_TO; } + + // Send email to TICKET_NOTIFICATION_EMAIL_TO + $sendto = $conf->global->TICKET_NOTIFICATION_EMAIL_TO; + if ($sendto) { + $subject = '['.$conf->global->MAIN_INFO_SOCIETE_NOM.'] '.$langs->transnoentities('TicketNewEmailSubjectAdmin', $object->ref, $object->track_id); + $message_admin = $langs->transnoentities('TicketNewEmailBodyAdmin', $object->track_id).''.$langs->trans('Message').' :
'.$object->message.'