from option

This commit is contained in:
Fred Tempez 2023-02-23 16:02:06 +01:00
parent 73a799b722
commit 3be8f32909
14 changed files with 89 additions and 63 deletions

View File

@ -1098,7 +1098,7 @@ class common
* @param string $content Contenu * @param string $content Contenu
* @return bool * @return bool
*/ */
public function sendMail($to, $subject, $content, $replyTo = null) public function sendMail($to, $subject, $content, $replyTo = null, $from = '')
{ {
// Layout // Layout
ob_start(); ob_start();

View File

@ -956,6 +956,10 @@ if ($this->getData(['core', 'dataVersion']) < 12300) {
$this->removeDir('core/vendor/flatpickr'); $this->removeDir('core/vendor/flatpickr');
} }
// email reply
$this->deleteData(['config', 'smtp', 'sender']);
$this->setData(['config', 'smtp', 'from', 'no-reply@' . str_replace('www.', '', $_SERVER['HTTP_HOST'])]);
// Mise à jour // Mise à jour
$this->setData(['core', 'dataVersion', 12300]); $this->setData(['core', 'dataVersion', 12300]);
} }

View File

@ -461,7 +461,7 @@ class config extends common
'secure' => $this->getInput('smtpSecure', helper::FILTER_BOOLEAN), 'secure' => $this->getInput('smtpSecure', helper::FILTER_BOOLEAN),
'username' => $this->getInput('smtpUsername', helper::FILTER_STRING_SHORT, $this->getInput('smtpAuth', helper::FILTER_BOOLEAN)), 'username' => $this->getInput('smtpUsername', helper::FILTER_STRING_SHORT, $this->getInput('smtpAuth', helper::FILTER_BOOLEAN)),
'password' => helper::encrypt($this->getData(['config', 'smtp', 'username']), $this->getInput('smtpPassword', null, $this->getInput('smtpAuth', helper::FILTER_BOOLEAN))), 'password' => helper::encrypt($this->getData(['config', 'smtp', 'username']), $this->getInput('smtpPassword', null, $this->getInput('smtpAuth', helper::FILTER_BOOLEAN))),
'sender' => $this->getInput('smtpSender', helper::FILTER_MAIL) 'from' => $this->getInput('smtpFrom', helper::FILTER_MAIL, true),
], ],
'seo' => [ 'seo' => [
'robots' => $this->getInput('seoRobots', helper::FILTER_BOOLEAN), 'robots' => $this->getInput('seoRobots', helper::FILTER_BOOLEAN),

View File

@ -2,7 +2,8 @@
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4><?php echo helper::translate('Paramètres'); ?> <h4>
<?php echo helper::translate('Paramètres'); ?>
<!--<span id="specialeHelpButton" class="helpDisplayButton"> <!--<span id="specialeHelpButton" class="helpDisplayButton">
<a href="https://doc.zwiicms.fr/reseau" target="_blank" title="Cliquer pour consulter l'aide en ligne"> <a href="https://doc.zwiicms.fr/reseau" target="_blank" title="Cliquer pour consulter l'aide en ligne">
<?php //echo template::ico('help', ['margin' => 'left']); ?> <?php //echo template::ico('help', ['margin' => 'left']); ?>
@ -37,7 +38,8 @@
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4><?php echo helper::translate('SMTP'); ?> <h4>
<?php echo helper::translate('SMTP'); ?>
<!--<span id="specialeHelpButton" class="helpDisplayButton"> <!--<span id="specialeHelpButton" class="helpDisplayButton">
<a href="https://doc.zwiicms.fr/smtp" target="_blank" title="Cliquer pour consulter l'aide en ligne"> <a href="https://doc.zwiicms.fr/smtp" target="_blank" title="Cliquer pour consulter l'aide en ligne">
<?php //echo template::ico('help', ['margin' => 'left']); ?> <?php //echo template::ico('help', ['margin' => 'left']); ?>
@ -45,61 +47,69 @@
</span>--> </span>-->
</h4> </h4>
<div class="row"> <div class="row">
<div class="col12"> <div class="col6">
<?php echo template::checkbox('smtpEnable', true, 'Activer SMTP', [ <?php echo template::text('smtpFrom', [
'checked' => $this->getData(['config', 'smtp', 'enable']), 'label' => 'Expéditeur',
'help' => 'Paramètres à utiliser lorsque votre hébergeur ne propose pas la fonctionnalité d\'envoi de mail.' 'placeholder' => 'no-reply@host.fr',
'value' => is_null($this->getData(['config', 'smtp', 'from'])) ? 'no-reply@' . str_replace('www.', '', $_SERVER['HTTP_HOST']) : $this->getData(['config', 'smtp', 'from']),
]); ?> ]); ?>
</div> </div>
</div>
<div id="smtpParam">
<div class="row"> <div class="row">
<div class="col8"> <div class="col12">
<?php echo template::text('smtpHost', [ <?php echo template::checkbox('smtpEnable', true, 'SMTP personnalisé', [
'label' => 'Adresse SMTP', 'checked' => $this->getData(['config', 'smtp', 'enable']),
'placeholder' => 'smtp.fr', 'help' => 'Paramètres à utiliser lorsque votre hébergeur ne propose pas la fonctionnalité d\'envoi de mail.'
'value' => $this->getData(['config', 'smtp', 'host'])
]); ?>
</div>
<div class="col2">
<?php echo template::text('smtpPort', [
'label' => 'Port SMTP',
'placeholder' => '589',
'value' => $this->getData(['config', 'smtp', 'port'])
]); ?>
</div>
<div class="col2">
<?php echo template::select('smtpAuth', $module::$SMTPauth, [
'label' => 'Authentification',
'selected' => $this->getData(['config', 'smtp', 'auth'])
]); ?> ]); ?>
</div> </div>
</div> </div>
<div id="smtpAuthParam"> <div id="smtpParam">
<div class="row"> <div class="row">
<div class="col5"> <div class="col8">
<?php echo template::text('smtpUsername', [ <?php echo template::text('smtpHost', [
'label' => 'Nom utilisateur', 'label' => 'Adresse SMTP',
'value' => $this->getData(['config', 'smtp', 'username']) 'placeholder' => 'smtp.fr',
]); ?> 'value' => $this->getData(['config', 'smtp', 'host'])
</div>
<div class="col5">
<?php echo template::password('smtpPassword', [
'label' => 'Mot de passe',
'autocomplete' => 'off',
'value' => $this->getData(['config', 'smtp', 'username']) ? helper::decrypt($this->getData(['config', 'smtp', 'username']), $this->getData(['config', 'smtp', 'password'])) : ''
]); ?> ]); ?>
</div> </div>
<div class="col2"> <div class="col2">
<?php echo template::select('smtpSecure', $module::$SMTPEnc, [ <?php echo template::text('smtpPort', [
'label' => 'Sécurité', 'label' => 'Port SMTP',
'selected' => $this->getData(['config', 'smtp', 'secure']) 'placeholder' => '589',
'value' => $this->getData(['config', 'smtp', 'port'])
]); ?> ]); ?>
</div> </div>
<div class="col2">
<?php echo template::select('smtpAuth', $module::$SMTPauth, [
'label' => 'Authentification',
'selected' => $this->getData(['config', 'smtp', 'auth'])
]); ?>
</div>
</div>
<div id="smtpAuthParam">
<div class="row">
<div class="col5">
<?php echo template::text('smtpUsername', [
'label' => 'Nom utilisateur',
'value' => $this->getData(['config', 'smtp', 'username'])
]); ?>
</div>
<div class="col5">
<?php echo template::password('smtpPassword', [
'label' => 'Mot de passe',
'autocomplete' => 'off',
'value' => $this->getData(['config', 'smtp', 'username']) ? helper::decrypt($this->getData(['config', 'smtp', 'username']), $this->getData(['config', 'smtp', 'password'])) : ''
]); ?>
</div>
<div class="col2">
<?php echo template::select('smtpSecure', $module::$SMTPEnc, [
'label' => 'Sécurité',
'selected' => $this->getData(['config', 'smtp', 'secure'])
]); ?>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>

View File

@ -149,7 +149,8 @@ class install extends common
'Voici les détails de votre installation.<br><br>' . 'Voici les détails de votre installation.<br><br>' .
'<strong>URL du site :</strong> <a href="' . helper::baseUrl(false) . '" target="_blank">' . helper::baseUrl(false) . '</a><br>' . '<strong>URL du site :</strong> <a href="' . helper::baseUrl(false) . '" target="_blank">' . helper::baseUrl(false) . '</a><br>' .
'<strong>Identifiant du compte :</strong> ' . $this->getInput('installId') . '<br>', '<strong>Identifiant du compte :</strong> ' . $this->getInput('installId') . '<br>',
null null,
$this->getData(['config', 'smtp', 'from']),
); );
// Installation du site de test // Installation du site de test

View File

@ -18,7 +18,7 @@
"Action interdite": "Verbotene Aktion", "Action interdite": "Verbotene Aktion",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Obligatorische Aktivierung gemäß den französischen Gesetzen, es sei denn, Sie verwenden Ihr eigenes Einverständnissystem.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Obligatorische Aktivierung gemäß den französischen Gesetzen, es sei denn, Sie verwenden Ihr eigenes Einverständnissystem.",
"Activer": "Ermöglichen", "Activer": "Ermöglichen",
"Activer SMTP": "Aktiver SMTP", "SMTP personnalisé": "Benutzerdefiniertes SMTP",
"Activer la journalisation": "Journalisierung aktivieren", "Activer la journalisation": "Journalisierung aktivieren",
"Actualiser": "Aktualisieren", "Actualiser": "Aktualisieren",
"Administration": "Verwaltung", "Administration": "Verwaltung",
@ -501,5 +501,6 @@
"Éditeur de script %s": "Skripteditor %s", "Éditeur de script %s": "Skripteditor %s",
"Éditeur de script dans Body": "Skripteditor im Körper", "Éditeur de script dans Body": "Skripteditor im Körper",
"Éditeur de script dans Head": "Skripteditor im Kopf", "Éditeur de script dans Head": "Skripteditor im Kopf",
"Étiquettes des pages spéciales": "Spezielle Seiten Beschriftungen" "Étiquettes des pages spéciales": "Spezielle Seiten Beschriftungen",
"Expéditeur": "Absender"
} }

View File

@ -18,7 +18,7 @@
"Action interdite": "Απαγορευμένη ενέργεια", "Action interdite": "Απαγορευμένη ενέργεια",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Υποχρεωτική ενεργοποίηση σύμφωνα με τη γαλλική νομοθεσία, εκτός αν χρησιμοποιείτε το δικό σας σύστημα συγκατάθεσης.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Υποχρεωτική ενεργοποίηση σύμφωνα με τη γαλλική νομοθεσία, εκτός αν χρησιμοποιείτε το δικό σας σύστημα συγκατάθεσης.",
"Activer": "Ενεργοποίηση", "Activer": "Ενεργοποίηση",
"Activer SMTP": "Ενεργοποίηση SMTP", "SMTP personnalisé": "Προσαρμοσμένο SMTP",
"Activer la journalisation": "Ενεργοποίηση ημερήσιας καταγραφής συμβάντων", "Activer la journalisation": "Ενεργοποίηση ημερήσιας καταγραφής συμβάντων",
"Actualiser": "Ενημέρωση", "Actualiser": "Ενημέρωση",
"Administration": "Θέμα διαχείρισης", "Administration": "Θέμα διαχείρισης",
@ -501,5 +501,6 @@
"Éditeur de script %s": "Συντάκτης του script %s", "Éditeur de script %s": "Συντάκτης του script %s",
"Éditeur de script dans Body": "Επεξεργαστής script στο Body", "Éditeur de script dans Body": "Επεξεργαστής script στο Body",
"Éditeur de script dans Head": "Επεξεργαστής script στο Head", "Éditeur de script dans Head": "Επεξεργαστής script στο Head",
"Étiquettes des pages spéciales": "Ειδικές ετικέτες σελίδων" "Étiquettes des pages spéciales": "Ειδικές ετικέτες σελίδων",
"Expéditeur": "Αποστολέας"
} }

View File

@ -18,7 +18,7 @@
"Action interdite": "Prohibited action", "Action interdite": "Prohibited action",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Compulsory activation according to French laws unless you use your own consent system.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Compulsory activation according to French laws unless you use your own consent system.",
"Activer": "Enable", "Activer": "Enable",
"Activer SMTP": "Active SMTP", "SMTP personnalisé": "Active SMTP",
"Activer la journalisation": "Activate journalization", "Activer la journalisation": "Activate journalization",
"Actualiser": "Update", "Actualiser": "Update",
"Administration": "Administration", "Administration": "Administration",

View File

@ -18,7 +18,7 @@
"Action interdite": "Acción no permitida", "Action interdite": "Acción no permitida",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Activación obligatoria según las leyes francesas a menos que utilice su propio sistema de consentimiento.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Activación obligatoria según las leyes francesas a menos que utilice su propio sistema de consentimiento.",
"Activer": "Activar", "Activer": "Activar",
"Activer SMTP": "Habilitar SMTP", "SMTP personnalisé": "SMTP personalizado",
"Activer la journalisation": "Habilitar registro", "Activer la journalisation": "Habilitar registro",
"Actualiser": "Actualizar", "Actualiser": "Actualizar",
"Administration": "Administración", "Administration": "Administración",
@ -501,5 +501,6 @@
"Éditeur de script %s": "Editor de script %s", "Éditeur de script %s": "Editor de script %s",
"Éditeur de script dans Body": "Éditor del script en el Body", "Éditeur de script dans Body": "Éditor del script en el Body",
"Éditeur de script dans Head": "Éditor del script en el Head", "Éditeur de script dans Head": "Éditor del script en el Head",
"Étiquettes des pages spéciales": "Etiquetas de página especiales" "Étiquettes des pages spéciales": "Etiquetas de página especiales",
"Expéditeur": "Remitente"
} }

View File

@ -18,7 +18,7 @@
"Action interdite": "", "Action interdite": "",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "",
"Activer": "", "Activer": "",
"Activer SMTP": "", "SMTP personnalisé": "",
"Activer la journalisation": "", "Activer la journalisation": "",
"Actualiser": "", "Actualiser": "",
"Administration": "", "Administration": "",
@ -501,5 +501,6 @@
"Éditeur de script %s": "", "Éditeur de script %s": "",
"Éditeur de script dans Body": "", "Éditeur de script dans Body": "",
"Éditeur de script dans Head": "", "Éditeur de script dans Head": "",
"Étiquettes des pages spéciales": "" "Étiquettes des pages spéciales": "",
"Expéditeur": ""
} }

View File

@ -18,7 +18,7 @@
"Action interdite": "Azione vietata", "Action interdite": "Azione vietata",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Attivazione obbligatoria secondo le leggi francesi, a meno che non si utilizzi il proprio sistema di consenso.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Attivazione obbligatoria secondo le leggi francesi, a meno che non si utilizzi il proprio sistema di consenso.",
"Activer": "Attivare", "Activer": "Attivare",
"Activer SMTP": "Attivare SMTP", "SMTP personnalisé": "SMTP personalizzato",
"Activer la journalisation": "Abilita la registrazione", "Activer la journalisation": "Abilita la registrazione",
"Actualiser": "Aggiornamento", "Actualiser": "Aggiornamento",
"Administration": "Amministrazione", "Administration": "Amministrazione",
@ -501,5 +501,6 @@
"Éditeur de script %s": "Script Editor %s", "Éditeur de script %s": "Script Editor %s",
"Éditeur de script dans Body": "Editor di script in Body", "Éditeur de script dans Body": "Editor di script in Body",
"Éditeur de script dans Head": "Editor di script in Head.", "Éditeur de script dans Head": "Editor di script in Head.",
"Étiquettes des pages spéciales": "Etichette di pagina speciali" "Étiquettes des pages spéciales": "Etichette di pagina speciali",
"Expéditeur": "Mittente"
} }

View File

@ -18,7 +18,7 @@
"Action interdite": "ação não permitida", "Action interdite": "ação não permitida",
"Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Ativação obrigatória de acordo com as leis francesas, a menos que você use seu próprio sistema de consentimento.", "Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.": "Ativação obrigatória de acordo com as leis francesas, a menos que você use seu próprio sistema de consentimento.",
"Activer": "Permitir", "Activer": "Permitir",
"Activer SMTP": "Ativar SMTP", "SMTP personnalisé": "SMTP personalizzato",
"Activer la journalisation": "Ativar registro", "Activer la journalisation": "Ativar registro",
"Actualiser": "Actualizar", "Actualiser": "Actualizar",
"Administration": "Gestão", "Administration": "Gestão",
@ -501,5 +501,6 @@
"Éditeur de script %s": "Editor de script %s", "Éditeur de script %s": "Editor de script %s",
"Éditeur de script dans Body": "Éditor do script no Body", "Éditeur de script dans Body": "Éditor do script no Body",
"Éditeur de script dans Head": "Éditor do script no Head", "Éditeur de script dans Head": "Éditor do script no Head",
"Étiquettes des pages spéciales": "Tags de página especiais" "Étiquettes des pages spéciales": "Tags de página especiais",
"Expéditeur": "Remetente"
} }

View File

@ -108,7 +108,8 @@ class user extends common
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' . 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'<strong>Identifiant du compte :</strong> ' . $this->getInput('userAddId') . '<br>' . '<strong>Identifiant du compte :</strong> ' . $this->getInput('userAddId') . '<br>' .
'<small>Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.</small>', '<small>Nous ne conservons pas les mots de passe, en conséquence nous vous conseillons de conserver ce message tant que vous ne vous êtes pas connecté. Vous pourrez modifier votre mot de passe après votre première connexion.</small>',
null null,
$this->getData(['config', 'smtp', 'from']),
); );
} }
// Valeurs en sortie // Valeurs en sortie
@ -335,7 +336,8 @@ class user extends common
'Vous avez demandé à changer le mot de passe lié à votre compte. Vous trouverez ci-dessous un lien vous permettant de modifier celui-ci.<br><br>' . 'Vous avez demandé à changer le mot de passe lié à votre compte. Vous trouverez ci-dessous un lien vous permettant de modifier celui-ci.<br><br>' .
'<a href="' . helper::baseUrl() . 'user/reset/' . $userId . '/' . $uniqId . '" target="_blank">' . helper::baseUrl() . 'user/reset/' . $userId . '/' . $uniqId . '</a><br><br>' . '<a href="' . helper::baseUrl() . 'user/reset/' . $userId . '/' . $uniqId . '" target="_blank">' . helper::baseUrl() . 'user/reset/' . $userId . '/' . $uniqId . '</a><br><br>' .
'<small>Si nous n\'avez pas demandé à réinitialiser votre mot de passe, veuillez ignorer ce mail.</small>', '<small>Si nous n\'avez pas demandé à réinitialiser votre mot de passe, veuillez ignorer ce mail.</small>',
null null,
$this->getData(['config', 'smtp', 'from']),
); );
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -706,7 +708,9 @@ class user extends common
'Bonjour <strong>' . $item['prenom'] . ' ' . $item['nom'] . '</strong>,<br><br>' . 'Bonjour <strong>' . $item['prenom'] . ' ' . $item['nom'] . '</strong>,<br><br>' .
'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' . 'Un administrateur vous a créé un compte sur le site ' . $this->getData(['locale', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
'<strong>Identifiant du compte :</strong> ' . $userId . '<br>' . '<strong>Identifiant du compte :</strong> ' . $userId . '<br>' .
'<small>Un mot de passe provisoire vous été attribué, à la première connexion cliquez sur Mot de passe Oublié.</small>' '<small>Un mot de passe provisoire vous été attribué, à la première connexion cliquez sur Mot de passe Oublié.</small>',
null,
$this->getData(['config', 'smtp', 'from']),
); );
if ($sent === true) { if ($sent === true) {
// Mail envoyé changement de l'icône // Mail envoyé changement de l'icône

View File

@ -475,7 +475,8 @@ class form extends common {
$subject, $subject,
'Nouveau message en provenance de la page "' . $this->getData(['page', $this->getUrl(0), 'title']) . '" :<br><br>' . 'Nouveau message en provenance de la page "' . $this->getData(['page', $this->getUrl(0), 'title']) . '" :<br><br>' .
$content, $content,
$replyTo $replyTo,
$this->getData(['config', 'smtp', 'from']),
); );
} }
} }