diff --git a/htdocs/admin/mails_emailing.php b/htdocs/admin/mails_emailing.php
index d2eabd95e2b..b9cb57e0d80 100644
--- a/htdocs/admin/mails_emailing.php
+++ b/htdocs/admin/mails_emailing.php
@@ -34,10 +34,6 @@ $langs->loadLangs(array('companies', 'products', 'admin', 'mails', 'other', 'err
$action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'aZ09');
-if (!$user->admin) {
- accessforbidden();
-}
-
$usersignature = $user->signature;
// For action = test or send, we ensure that content is not html, even for signature, because this we want a test with NO html.
if ($action == 'test' || $action == 'send') {
@@ -61,6 +57,10 @@ $substitutionarrayfortest = array(
);
complete_substitutions_array($substitutionarrayfortest, $langs);
+// Security check
+if (!$user->admin) {
+ accessforbidden();
+}
/*
@@ -394,6 +394,25 @@ if ($action == 'edit') {
}
print '';
+ // AUTH method
+ if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')))) {
+ print '
| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | ';
+ if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
+ // Note: Default value for MAIN_MAIL_SMTPS_AUTH_TYPE if not defined is 'LOGIN' (but login/pass may be empty and they won't be provided in such a case)
+ print ' ';
+ print '';
+ print ' ';
+ print ' ';
+ print '';
+ } else {
+ $value = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_EMAILING', 'LOGIN');
+ $htmltext = $langs->trans("ContactSuperAdminForChange");
+ print $form->textwithpicto($langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE"), $htmltext, 1, 'superadmin');
+ print '';
+ }
+ print ' |
';
+ }
+
// ID
if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')))) {
$mainstmpid = (!empty($conf->global->MAIN_MAIL_SMTPS_ID_EMAILING) ? $conf->global->MAIN_MAIL_SMTPS_ID_EMAILING : '');
@@ -409,24 +428,6 @@ if ($action == 'edit') {
print '';
}
- // OAUTH
- if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')))) {
- print '| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | ';
- if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
- print ' ';
- print '';
- print ' ';
- print ' ';
- print '';
- } else {
- $value = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_EMAILING', 'LOGIN');
- $htmltext = $langs->trans("ContactSuperAdminForChange");
- print $form->textwithpicto($langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE"), $htmltext, 1, 'superadmin');
- print '';
- }
- print ' |
';
- }
-
// PW
if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')))) {
$mainsmtppw = (!empty($conf->global->MAIN_MAIL_SMTPS_PW_EMAILING) ? $conf->global->MAIN_MAIL_SMTPS_PW_EMAILING : '');
@@ -442,7 +443,7 @@ if ($action == 'edit') {
print '';
}
- // OAUTH service provider
+ // OAUTH service provider
if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')))) {
print '| '.$langs->trans("MAIN_MAIL_SMTPS_OAUTH_SERVICE").' | ';
@@ -546,11 +547,6 @@ if ($action == 'edit') {
print ' |
| '.$langs->trans("MAIN_MAIL_SMTP_PORT", ini_get('smtp_port') ?ini_get('smtp_port') : $langs->transnoentities("Undefined")).' | '.(!empty($conf->global->MAIN_MAIL_SMTP_PORT_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_PORT_EMAILING : '').' |
';
}
- // SMTPS ID
- if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer'))) {
- print '| '.$langs->trans("MAIN_MAIL_SMTPS_ID").' | '.getDolGlobalString('MAIN_MAIL_SMTPS_ID_EMAILING').' |
';
- }
-
// AUTH method
if (in_array(getDolGlobalString('MAIN_MAIL_SENDMODE_EMAILING'), array('smtps', 'swiftmailer'))) {
$authtype = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_EMAILING', 'LOGIN');
@@ -558,6 +554,11 @@ if ($action == 'edit') {
print '| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | '.$text.' |
';
}
+ // SMTPS ID
+ if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer'))) {
+ print '| '.$langs->trans("MAIN_MAIL_SMTPS_ID").' | '.getDolGlobalString('MAIN_MAIL_SMTPS_ID_EMAILING').' |
';
+ }
+
// SMTPS PW
if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array('smtps', 'swiftmailer')) && getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_EMAILING') != "XOAUTH2") {
print '| '.$langs->trans("MAIN_MAIL_SMTPS_PW").' | '.preg_replace('/./', '*', getDolGlobalString('MAIN_MAIL_SMTPS_PW_EMAILING')).' |
';
@@ -707,8 +708,8 @@ if ($action == 'edit') {
$formmail->withfrom = 1;
$formmail->witherrorsto = 1;
$formmail->withto = (GETPOSTISSET('sendto') ? GETPOST('sendto', 'restricthtml') : ($user->email ? $user->email : 1));
- $formmail->withtocc = (GETPOSTISSET(['sendtocc']) ? GETPOST('sendtocc', 'restricthtml') : 1); // ! empty to keep field if empty
- $formmail->withtoccc = (GETPOSTISSET(['sendtoccc']) ? GETPOST('sendtoccc', 'restricthtml') : 1); // ! empty to keep field if empty
+ $formmail->withtocc = (GETPOSTISSET('sendtocc') ? GETPOST('sendtocc', 'restricthtml') : 1); // ! empty to keep field if empty
+ $formmail->withtoccc = (GETPOSTISSET('sendtoccc') ? GETPOST('sendtoccc', 'restricthtml') : 1); // ! empty to keep field if empty
$formmail->withtopic = (GETPOSTISSET('subject') ? GETPOST('subject') : $langs->trans("Test"));
$formmail->withtopicreadonly = 0;
$formmail->withfile = 2;
diff --git a/htdocs/admin/mails_ticket.php b/htdocs/admin/mails_ticket.php
index c48146fc937..05d66516cde 100644
--- a/htdocs/admin/mails_ticket.php
+++ b/htdocs/admin/mails_ticket.php
@@ -32,23 +32,28 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$langs->loadLangs(array('companies', 'products', 'admin', 'mails', 'other', 'errors'));
$action = GETPOST('action', 'aZ09');
-$cancel = GETPOST('cancel', 'alpha');
+$cancel = GETPOST('cancel', 'aZ09');
$usersignature = $user->signature;
// For action = test or send, we ensure that content is not html, even for signature, because this we want a test with NO html.
if ($action == 'test' || $action == 'send') {
- $usersignature = dol_string_nohtmltag($usersignature);
+ $usersignature = dol_string_nohtmltag($usersignature, 2);
}
$substitutionarrayfortest = array(
-'__LOGIN__' => $user->login,
-'__ID__' => 'TESTIdRecord',
-'__EMAIL__' => 'TESTEMail',
-'__LASTNAME__' => 'TESTLastname',
-'__FIRSTNAME__' => 'TESTFirstname',
-'__USER_SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN)) ? $usersignature : ''),
-'__SENDEREMAIL_SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN)) ? $usersignature : ''), // Done into actions_sendmails
-//'__PERSONALIZED__' => 'TESTPersonalized' // Hiden because not used yet
+ '__DOL_MAIN_URL_ROOT__'=>DOL_MAIN_URL_ROOT,
+ '__ID__' => 'TESTIdRecord',
+ '__EMAIL__' => 'TESTEMail',
+ '__LOGIN__' => $user->login,
+ '__LASTNAME__' => 'TESTLastname',
+ '__FIRSTNAME__' => 'TESTFirstname',
+ '__ADDRESS__'=> 'RecipientAddress',
+ '__ZIP__'=> 'RecipientZip',
+ '__TOWN_'=> 'RecipientTown',
+ '__COUNTRY__'=> 'RecipientCountry',
+ '__USER_SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN)) ? $usersignature : ''),
+ '__SENDEREMAIL_SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN)) ? $usersignature : ''), // Done into actions_sendmails
+ //'__PERSONALIZED__' => 'TESTPersonalized' // Hiden because not used yet
);
complete_substitutions_array($substitutionarrayfortest, $langs);
@@ -94,10 +99,10 @@ $trackid = (($action == 'testhtml') ? "testhtml" : "test");
$sendcontext = 'ticket'; // Force to use dedicated context of setup for ticket
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
-if ($action == 'presend' && GETPOST('trackid') == 'test') {
+if ($action == 'presend' && GETPOST('trackid', 'alphanohtml') == 'test') {
$action = 'test';
}
-if ($action == 'presend' && GETPOST('trackid') == 'testhtml') {
+if ($action == 'presend' && GETPOST('trackid', 'alphanohtml') == 'testhtml') {
$action = 'testhtml';
}
@@ -317,12 +322,15 @@ if ($action == 'edit') {
// Host server
- print '| ';
+ print ' |
';
if (!$conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE_TICKET == 'mail') {
+ print '| ';
print $langs->trans("MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike");
print ' | ';
- print $langs->trans("SeeLocalSendMailSetup");
+ print ''.$langs->trans("SeeLocalSendMailSetup").'';
+ print ' | ';
} else {
+ print '';
$mainserver = (!empty($conf->global->MAIN_MAIL_SMTP_SERVER_TICKET) ? $conf->global->MAIN_MAIL_SMTP_SERVER_TICKET : '');
$smtpserver = ini_get('SMTP') ?ini_get('SMTP') : $langs->transnoentities("Undefined");
if ($linuxlike) {
@@ -333,17 +341,18 @@ if ($action == 'edit') {
print ' | ';
// SuperAdministrator access only
if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
- print '';
+ print '';
print '';
- print ''.$langs->trans("SeeLocalSendMailSetup").'';
+ print ''.$langs->trans("SeeLocalSendMailSetup").'';
} else {
$text = !empty($mainserver) ? $mainserver : $smtpserver;
$htmltext = $langs->trans("ContactSuperAdminForChange");
print $form->textwithpicto($text, $htmltext, 1, 'superadmin');
print '';
}
+ print ' | ';
}
- print '
';
+ print '';
// Port
@@ -351,7 +360,7 @@ if ($action == 'edit') {
if (!$conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE_TICKET == 'mail') {
print $langs->trans("MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike");
print '';
- print $langs->trans("SeeLocalSendMailSetup");
+ print ''.$langs->trans("SeeLocalSendMailSetup").'';
} else {
$mainport = (!empty($conf->global->MAIN_MAIL_SMTP_PORT_TICKET) ? $conf->global->MAIN_MAIL_SMTP_PORT_TICKET : '');
$smtpport = ini_get('smtp_port') ?ini_get('smtp_port') : $langs->transnoentities("Undefined");
@@ -365,7 +374,7 @@ if ($action == 'edit') {
if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
print '';
print '';
- print ''.$langs->trans("SeeLocalSendMailSetup").'';
+ print ''.$langs->trans("SeeLocalSendMailSetup").'';
} else {
$text = (!empty($mainport) ? $mainport : $smtpport);
$htmltext = $langs->trans("ContactSuperAdminForChange");
@@ -375,6 +384,25 @@ if ($action == 'edit') {
}
print ' | ';
+ // AUTH method
+ if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer')))) {
+ print '| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | ';
+ if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
+ // Note: Default value for MAIN_MAIL_SMTPS_AUTH_TYPE if not defined is 'LOGIN' (but login/pass may be empty and they won't be provided in such a case)
+ print ' ';
+ print '';
+ print ' ';
+ print ' ';
+ print '';
+ } else {
+ $value = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET', 'LOGIN');
+ $htmltext = $langs->trans("ContactSuperAdminForChange");
+ print $form->textwithpicto($langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE"), $htmltext, 1, 'superadmin');
+ print '';
+ }
+ print ' |
';
+ }
+
// ID
if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer')))) {
$mainstmpid = (!empty($conf->global->MAIN_MAIL_SMTPS_ID_TICKET) ? $conf->global->MAIN_MAIL_SMTPS_ID_TICKET : '');
@@ -390,25 +418,6 @@ if ($action == 'edit') {
print '';
}
- // OAUTH
- if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer')))) {
- print '| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | ';
- if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
- print ' ';
- print '';
- print ' ';
- print ' ';
- print '';
- } else {
- $value = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET', 'LOGIN');
- $htmltext = $langs->trans("ContactSuperAdminForChange");
- print $form->textwithpicto($langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE"), $htmltext, 1, 'superadmin');
- print '';
- }
- print ' |
';
- }
-
-
// PW
if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer')))) {
$mainsmtppw = (!empty($conf->global->MAIN_MAIL_SMTPS_PW_TICKET) ? $conf->global->MAIN_MAIL_SMTPS_PW_TICKET : '');
@@ -514,11 +523,6 @@ if ($action == 'edit') {
print '| '.$langs->trans("MAIN_MAIL_SMTP_PORT", ini_get('smtp_port') ?ini_get('smtp_port') : $langs->transnoentities("Undefined")).' | '.(!empty($conf->global->MAIN_MAIL_SMTP_PORT_TICKET) ? $conf->global->MAIN_MAIL_SMTP_PORT_TICKET : '').' |
';
}
- // SMTPS ID
- if (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer'))) {
- print '| '.$langs->trans("MAIN_MAIL_SMTPS_ID").' | '.$conf->global->MAIN_MAIL_SMTPS_ID_TICKET.' |
';
- }
-
// AUTH method
if (in_array(getDolGlobalString('MAIN_MAIL_SENDMODE_TICKET'), array('smtps', 'swiftmailer'))) {
$authtype = getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET', 'LOGIN');
@@ -526,6 +530,11 @@ if ($action == 'edit') {
print '| '.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").' | '.$text.' |
';
}
+ // SMTPS ID
+ if (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer'))) {
+ print '| '.$langs->trans("MAIN_MAIL_SMTPS_ID").' | '.$conf->global->MAIN_MAIL_SMTPS_ID_TICKET.' |
';
+ }
+
// SMTPS PW
if (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer')) && getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET') != "XOAUTH2") {
print '| '.$langs->trans("MAIN_MAIL_SMTPS_PW").' | '.preg_replace('/./', '*', $conf->global->MAIN_MAIL_SMTPS_PW_TICKET).' |
';
@@ -621,6 +630,7 @@ if ($action == 'edit') {
// Run the test to connect
if ($action == 'testconnect') {
+ print '';
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
@@ -651,8 +661,8 @@ if ($action == 'edit') {
// Cree l'objet formulaire mail
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
- $formmail->fromname = (GETPOSTISSET('fromname') ? GETPOST('fromname') : $conf->global->MAIN_MAIL_EMAIL_FROM);
- $formmail->frommail = (GETPOSTISSET('frommail') ? GETPOST('frommail') : $conf->global->MAIN_MAIL_EMAIL_FROM);
+ $formmail->fromname = (GETPOSTISSET('fromname') ? GETPOST('fromname', 'restricthtml') : $conf->global->MAIN_MAIL_EMAIL_FROM);
+ $formmail->frommail = (GETPOSTISSET('frommail') ? GETPOST('frommail', 'restricthtml') : $conf->global->MAIN_MAIL_EMAIL_FROM);
$formmail->trackid = (($action == 'testhtml') ? "testhtml" : "test");
$formmail->withfromreadonly = 0;
$formmail->withsubstit = 0;
@@ -679,7 +689,7 @@ if ($action == 'edit') {
$formmail->param["returnurl"] = $_SERVER["PHP_SELF"];
// Init list of files
- if (GETPOST("mode") == 'init') {
+ if (GETPOST("mode", "aZ09") == 'init') {
$formmail->clear_attached_files();
}