|
@@ -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 '<tr class="oddeven hideifdefault"><td>';
|
|
|
+ print '<tr class="oddeven hideifdefault">';
|
|
|
if (!$conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE_TICKET == 'mail') {
|
|
|
+ print '<td>';
|
|
|
print $langs->trans("MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike");
|
|
|
print '</td><td>';
|
|
|
- print $langs->trans("SeeLocalSendMailSetup");
|
|
|
+ print '<span class="opacitymedium">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
+ print '</td>';
|
|
|
} else {
|
|
|
+ print '<td>';
|
|
|
$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 '</td><td>';
|
|
|
// SuperAdministrator access only
|
|
|
if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
|
|
|
- print '<input class="flat" id="MAIN_MAIL_SMTP_SERVER_TICKET" name="MAIN_MAIL_SMTP_SERVER_TICKET" size="18" value="'.$mainserver.'">';
|
|
|
+ print '<input class="flat minwidth300" id="MAIN_MAIL_SMTP_SERVER_TICKET" name="MAIN_MAIL_SMTP_SERVER_TICKET" size="18" value="'.$mainserver.'">';
|
|
|
print '<input type="hidden" id="MAIN_MAIL_SMTP_SERVER_TICKET_sav" name="MAIN_MAIL_SMTP_SERVER_TICKET_sav" value="'.$mainserver.'">';
|
|
|
- print '<span id="smtp_server_mess">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
+ print '<span id="smtp_server_mess" class="opacitymedium">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
} else {
|
|
|
$text = !empty($mainserver) ? $mainserver : $smtpserver;
|
|
|
$htmltext = $langs->trans("ContactSuperAdminForChange");
|
|
|
print $form->textwithpicto($text, $htmltext, 1, 'superadmin');
|
|
|
print '<input type="hidden" id="MAIN_MAIL_SMTP_SERVER_TICKET" name="MAIN_MAIL_SMTP_SERVER_TICKET" value="'.$mainserver.'">';
|
|
|
}
|
|
|
+ print '</td>';
|
|
|
}
|
|
|
- print '</td></tr>';
|
|
|
+ print '</tr>';
|
|
|
|
|
|
// 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 '</td><td>';
|
|
|
- print $langs->trans("SeeLocalSendMailSetup");
|
|
|
+ print '<span class="opacitymedium">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
} 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 '<input class="flat" id="MAIN_MAIL_SMTP_PORT_TICKET" name="MAIN_MAIL_SMTP_PORT_TICKET" size="3" value="'.$mainport.'">';
|
|
|
print '<input type="hidden" id="MAIN_MAIL_SMTP_PORT_TICKET_sav" name="MAIN_MAIL_SMTP_PORT_TICKET_sav" value="'.$mainport.'">';
|
|
|
- print '<span id="smtp_port_mess">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
+ print '<span id="smtp_port_mess" class="opacitymedium">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
|
|
} else {
|
|
|
$text = (!empty($mainport) ? $mainport : $smtpport);
|
|
|
$htmltext = $langs->trans("ContactSuperAdminForChange");
|
|
@@ -375,26 +384,12 @@ if ($action == 'edit') {
|
|
|
}
|
|
|
print '</td></tr>';
|
|
|
|
|
|
- // 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 : '');
|
|
|
- print '<tr class="drag drop oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_ID").'</td><td>';
|
|
|
- // SuperAdministrator access only
|
|
|
- if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
|
|
|
- print '<input class="flat" name="MAIN_MAIL_SMTPS_ID_TICKET" size="32" value="'.$mainstmpid.'">';
|
|
|
- } else {
|
|
|
- $htmltext = $langs->trans("ContactSuperAdminForChange");
|
|
|
- print $form->textwithpicto($conf->global->MAIN_MAIL_SMTPS_ID_TICKET, $htmltext, 1, 'superadmin');
|
|
|
- print '<input type="hidden" name="MAIN_MAIL_SMTPS_ID_TICKET" value="'.$mainstmpid.'">';
|
|
|
- }
|
|
|
- print '</td></tr>';
|
|
|
- }
|
|
|
-
|
|
|
- // OAUTH
|
|
|
+ // 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 '<tr class="oddeven smtp_auth_method hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").'</td><td>';
|
|
|
- if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
|
|
|
- print '<input type="radio" id="radio_pw" name="MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET" value="LOGIN"'.(getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET') == 'LOGIN' ? ' checked' : '').'> ';
|
|
|
+ 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 '<input type="radio" id="radio_pw" name="MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET" value="LOGIN"'.(getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET', 'LOGIN') == 'LOGIN' ? ' checked' : '').'> ';
|
|
|
print '<label for="radio_pw" >'.$langs->trans("UsePassword").'</label>';
|
|
|
print ' ';
|
|
|
print '<input type="radio" id="radio_oauth" name="MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET" value="XOAUTH2"'.(getDolGlobalString('MAIN_MAIL_SMTPS_AUTH_TYPE_TICKET') == 'XOAUTH2' ? ' checked' : '').'> ';
|
|
@@ -408,6 +403,20 @@ if ($action == 'edit') {
|
|
|
print '</td></tr>';
|
|
|
}
|
|
|
|
|
|
+ // 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 : '');
|
|
|
+ print '<tr class="drag drop oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_ID").'</td><td>';
|
|
|
+ // SuperAdministrator access only
|
|
|
+ if (!isModEnabled('multicompany') || ($user->admin && !$user->entity)) {
|
|
|
+ print '<input class="flat" name="MAIN_MAIL_SMTPS_ID_TICKET" size="32" value="'.$mainstmpid.'">';
|
|
|
+ } else {
|
|
|
+ $htmltext = $langs->trans("ContactSuperAdminForChange");
|
|
|
+ print $form->textwithpicto($conf->global->MAIN_MAIL_SMTPS_ID_TICKET, $htmltext, 1, 'superadmin');
|
|
|
+ print '<input type="hidden" name="MAIN_MAIL_SMTPS_ID_TICKET" value="'.$mainstmpid.'">';
|
|
|
+ }
|
|
|
+ print '</td></tr>';
|
|
|
+ }
|
|
|
|
|
|
// 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')))) {
|
|
@@ -514,11 +523,6 @@ if ($action == 'edit') {
|
|
|
print '<tr class="oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTP_PORT", ini_get('smtp_port') ?ini_get('smtp_port') : $langs->transnoentities("Undefined")).'</td><td>'.(!empty($conf->global->MAIN_MAIL_SMTP_PORT_TICKET) ? $conf->global->MAIN_MAIL_SMTP_PORT_TICKET : '').'</td></tr>';
|
|
|
}
|
|
|
|
|
|
- // SMTPS ID
|
|
|
- if (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer'))) {
|
|
|
- print '<tr class="oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_ID").'</td><td>'.$conf->global->MAIN_MAIL_SMTPS_ID_TICKET.'</td></tr>';
|
|
|
- }
|
|
|
-
|
|
|
// 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 '<tr class="oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_AUTH_TYPE").'</td><td>'.$text.'</td></tr>';
|
|
|
}
|
|
|
|
|
|
+ // SMTPS ID
|
|
|
+ if (isset($conf->global->MAIN_MAIL_SENDMODE_TICKET) && in_array($conf->global->MAIN_MAIL_SENDMODE_TICKET, array('smtps', 'swiftmailer'))) {
|
|
|
+ print '<tr class="oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_ID").'</td><td>'.$conf->global->MAIN_MAIL_SMTPS_ID_TICKET.'</td></tr>';
|
|
|
+ }
|
|
|
+
|
|
|
// 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 '<tr class="oddeven hideifdefault"><td>'.$langs->trans("MAIN_MAIL_SMTPS_PW").'</td><td>'.preg_replace('/./', '*', $conf->global->MAIN_MAIL_SMTPS_PW_TICKET).'</td></tr>';
|
|
@@ -621,6 +630,7 @@ if ($action == 'edit') {
|
|
|
|
|
|
// Run the test to connect
|
|
|
if ($action == 'testconnect') {
|
|
|
+ print '<div id="formmailaftertstconnect" name="formmailaftertstconnect"></div>';
|
|
|
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();
|
|
|
}
|
|
|
|