Mise en place d'un layout propre pour les emails de La boîte à pain. Adaptation et tests des emails d'inscription, de contact, de demande de nouveau mot de passe et d'envoi de récap des commandes. Paramètrage de l'adresse email de contact admin (contact@laboiteapain.net).master
<?php | <?php | ||||
return [ | return [ | ||||
'adminEmail' => 'admin@example.com', | |||||
'adminEmail' => 'contact@laboiteapain.net', | |||||
]; | ]; |
'status' => User::STATUS_BOULANGER | 'status' => User::STATUS_BOULANGER | ||||
]) ; | ]) ; | ||||
$mail = Yii::$app->mailer->compose() | |||||
$mail = Yii::$app->mailer->compose( | |||||
[ | |||||
'html' => 'cronRecapCommandes-html', | |||||
'text' => 'cronRecapCommandes-text', | |||||
], | |||||
[ | |||||
'date' => $date, | |||||
'commandes' => $commandes | |||||
] | |||||
) | |||||
->setTo($user->email) | ->setTo($user->email) | ||||
->setFrom(['contact@laboiteapain.net' => 'La boîte à pain']) ; | |||||
->setFrom([Yii::$app->params['adminEmail'] => 'La boîte à pain']) ; | |||||
if(count($commandes)) | if(count($commandes)) | ||||
{ | { | ||||
]); | ]); | ||||
$mail->attach(Yii::getAlias('@app/web/pdf/Commandes-'.$date.'-'.$e['id'].'.pdf')) ; | $mail->attach(Yii::getAlias('@app/web/pdf/Commandes-'.$date.'-'.$e['id'].'.pdf')) ; | ||||
$message = 'Bonjour, | |||||
Voici en pièce jointe le récapitulatif des '.count($commandes).' commandes du '.date('d/m',strtotime($date)).'. | |||||
À bientôt, | |||||
La boîte à pain | |||||
' ; | |||||
} | } | ||||
else { | else { | ||||
$sujet = '[La boîte à pain] Aucune commande' ; | $sujet = '[La boîte à pain] Aucune commande' ; | ||||
$message = 'Bonjour, | |||||
Vous n\'avez aucune commande pour le '.date('d/m',strtotime($date)).'. | |||||
À bientôt, | |||||
La boîte à pain | |||||
' ; | |||||
} | } | ||||
$mail->setSubject($sujet) | $mail->setSubject($sujet) | ||||
->setTextBody($message) | |||||
->send(); | ->send(); | ||||
} | } |
<?php | <?php | ||||
return [ | return [ | ||||
'adminEmail' => 'guillaume.bourgeois13@laposte.net', | |||||
'supportEmail' => 'support@example.com', | |||||
'adminEmail' => 'contact@laboiteapain.net', | |||||
'supportEmail' => 'contact@laboiteapain.net', | |||||
'user.passwordResetTokenExpire' => 3600, | 'user.passwordResetTokenExpire' => 3600, | ||||
]; | ]; |
<?php | |||||
use yii\helpers\Html; | |||||
?> | |||||
<p>Message de <strong><?= Html::encode($nom) ?></strong> :</p> | |||||
<?= nl2br(Html::encode($content)); ?> |
Message de <?= $nom ?> : | |||||
<?= $content; ?> |
Identifiant : <strong><?= Html::encode($user->email); ?></strong><br /> | Identifiant : <strong><?= Html::encode($user->email); ?></strong><br /> | ||||
Mot de passe : <strong><?= $password ?></strong></p> | Mot de passe : <strong><?= $password ?></strong></p> | ||||
<p>Cordialement,<br /> | |||||
<em>La boîte à pain</em></p> | |||||
<p>À bientôt.</p> |
Identifiant : <?= $user->email; ?> | Identifiant : <?= $user->email; ?> | ||||
Mot de passe : <?= $password ?> | Mot de passe : <?= $password ?> | ||||
Cordialement, | |||||
La boîte à pain | |||||
À bientôt. |
<?php | |||||
if(count($commandes)): | |||||
?> | |||||
<p>Bonjour,</p> | |||||
<p>Voici en pièce jointe le récapitulatif des <?= count($commandes) ?> commandes du <?= date('d/m',strtotime($date)) ?>.</p> | |||||
<p>À bientôt.</p> | |||||
<?php else: ?> | |||||
<p>Bonjour,</p> | |||||
<p>Vous n'avez aucune commande pour le <?= date('d/m',strtotime($date)) ?>.</p> | |||||
<p>À bientôt.</p> | |||||
<?php endif; ?> |
<?php | |||||
if(count($commandes)): | |||||
?> | |||||
Bonjour, | |||||
Voici en pièce jointe le récapitulatif des <?= count($commandes) ?> commandes du <?= date('d/m',strtotime($date)) ?>. | |||||
À bientôt. | |||||
<?php else: ?> | |||||
Bonjour, | |||||
Vous n'avez aucune commande pour le <?= date('d/m',strtotime($date)) ?>. | |||||
À bientôt. | |||||
<?php endif; ?> |
<meta http-equiv="Content-Type" content="text/html; charset=<?= Yii::$app->charset ?>" /> | <meta http-equiv="Content-Type" content="text/html; charset=<?= Yii::$app->charset ?>" /> | ||||
<title><?= Html::encode($this->title) ?></title> | <title><?= Html::encode($this->title) ?></title> | ||||
<?php $this->head() ?> | <?php $this->head() ?> | ||||
<style type="text/css"> | |||||
body { | |||||
padding: 0px; | |||||
margin: 0px ; | |||||
font-family: Arial ; | |||||
font-size: 14px ; | |||||
background-color: white ; | |||||
} | |||||
a { | |||||
color: #BB8757 ; | |||||
} | |||||
#header { | |||||
background-color: #f8f1dd ; | |||||
border-bottom: 1px solid #e0e0e0 ; | |||||
height: 50px ; | |||||
text-align: center ; | |||||
} | |||||
#header .icon { | |||||
width: 70px ; | |||||
position: relative; | |||||
bottom: -17px ; | |||||
} | |||||
#content { | |||||
padding: 15px ; | |||||
background-color: white ; | |||||
} | |||||
#footer { | |||||
padding: 5px 15px ; | |||||
color: gray ; | |||||
border-top: dotted 1px #e0e0e0 ; | |||||
} | |||||
#link-boiteapain { | |||||
text-decoration: none ; | |||||
color: #BB8757 ; | |||||
} | |||||
</style> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<?php $this->beginBody() ?> | <?php $this->beginBody() ?> | ||||
<?= $content ?> | |||||
<div id="header"> | |||||
<img class="icon" src="http://www.laboiteapain.net/img/laboiteapain-mail2.png" alt="La boîte à pain" /> | |||||
</div> | |||||
<div id="content"> | |||||
<?= $content ?> | |||||
</div> | |||||
<div id="footer"> | |||||
<p><a id="link-boiteapain" href="http://www.laboiteapain.net/">La boîte à pain</a> • Plateforme de réservation de pain</p> | |||||
</div> | |||||
<?php $this->endBody() ?> | <?php $this->endBody() ?> | ||||
</body> | </body> | ||||
</html> | </html> |
<?php $this->beginPage() ?> | <?php $this->beginPage() ?> | ||||
<?php $this->beginBody() ?> | <?php $this->beginBody() ?> | ||||
<?= $content ?> | <?= $content ?> | ||||
-- | |||||
La boîte à pain / Plateforme de réservation de pain | |||||
http://www.laboiteapain.net/ | |||||
<?php $this->endBody() ?> | <?php $this->endBody() ?> | ||||
<?php $this->endPage() ?> | <?php $this->endPage() ?> |
<p><?= Html::a(Html::encode($resetLink), $resetLink) ?></p> | <p><?= Html::a(Html::encode($resetLink), $resetLink) ?></p> | ||||
<p>À bientôt,<br /> | |||||
La boîte à pain</p> | |||||
<p>À bientôt.</p> | |||||
</div> | </div> |
<?= $resetLink ?> | <?= $resetLink ?> | ||||
À bientôt, | |||||
La boîte à pain | |||||
À bientôt. |
<?php | |||||
use yii\helpers\Html; | |||||
use common\models\User ; | |||||
use common\helpers\Url ; | |||||
?> | |||||
<p>Bonjour <?= Html::encode($user->prenom) ?>,</p> | |||||
<p>Votre inscription sur <strong>La boîte à pain</strong> a bien été prise en compte.</p> | |||||
<p>Voici votre identifiant de connexion : <br /> | |||||
<strong><?= Html::encode($user->email) ?></strong></p> | |||||
<?php if($user->status == User::STATUS_BOULANGER): ?> | |||||
<p>Vous pouvez dès maintenant vous connecter à votre <a href="<?= Url::backend(); ?>">Espace boulanger</a> pour mettre | |||||
en place votre système de réservation.</p> | |||||
<?php else: ?> | |||||
<?php if(!is_null($etablissement)): ?> | |||||
<p>Vous pouvez maintenant <a href="<?= Url::frontend().'index.php?r=commande/create&id_etablissement='.$etablissement->id ?>">passer commande</a> dans votre boulangerie <strong><?= Html::encode($etablissement->nom); ?></strong>.</p> | |||||
<?php else: ?> | |||||
<p>Vous pouvez maintenant passer commande dans votre boulangerie.</p> | |||||
<?php endif; ?> | |||||
<?php endif; ?> | |||||
<p>À bientôt.</p> |
<?php | |||||
use common\models\User ; | |||||
use common\helpers\Url ; | |||||
?> | |||||
Bonjour <?= $user->prenom ?>, | |||||
Votre inscription sur La boîte à pain a bien été prise en compte. | |||||
Voici votre identifiant de connexion : | |||||
<?= $user->email ?> | |||||
<?php if($user->status == User::STATUS_BOULANGER): ?> | |||||
Vous pouvez dès maintenant vous connecter à votre Espace boulanger pour mettre en place votre système de réservation : | |||||
<?= Url::backend(); ?> | |||||
<?php else: ?> | |||||
<?php if(!is_null($etablissement)): ?> | |||||
Vous pouvez maintenant passer commande dans votre boulangerie "<?= $etablissement->nom ?>" : | |||||
<?= Url::frontend().'index.php?r=commande/create&id_etablissement='.$etablissement->id ?> | |||||
<?php else: ?> | |||||
Vous pouvez maintenant passer commande dans votre boulangerie. | |||||
<?php endif; ?> | |||||
<?php endif; ?> | |||||
À bientôt. |
<?php | <?php | ||||
return [ | return [ | ||||
'adminEmail' => 'admin@example.com', | |||||
'adminEmail' => 'contact@laboiteapain.net', | |||||
]; | ]; |
<?php | <?php | ||||
return [ | return [ | ||||
'adminEmail' => 'guillaume.bourgeois13@laposte.net', | |||||
'adminEmail' => 'contact@laboiteapain.net', | |||||
]; | ]; |
public function actionIndex() | public function actionIndex() | ||||
{ | { | ||||
// redirection de l'utilisateur vers le tableau de bord s'il est connecté | // redirection de l'utilisateur vers le tableau de bord s'il est connecté | ||||
if(!Yii::$app->user->isGuest) { | if(!Yii::$app->user->isGuest) { | ||||
return $this->redirect(['commande/index']) ; | return $this->redirect(['commande/index']) ; | ||||
$model = new ContactForm(); | $model = new ContactForm(); | ||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) { | if ($model->load(Yii::$app->request->post()) && $model->validate()) { | ||||
if ($model->sendEmail(Yii::$app->params['adminEmail'])) { | if ($model->sendEmail(Yii::$app->params['adminEmail'])) { | ||||
Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.'); | |||||
Yii::$app->session->setFlash('success', 'Votre message a bien été envoyé. Nous vous répondrons dès que possible.'); | |||||
} else { | } else { | ||||
Yii::$app->session->setFlash('error', 'There was an error sending email.'); | |||||
Yii::$app->session->setFlash('error', 'Il y a eu une erreur lors de l\'envoi de votre message.'); | |||||
} | } | ||||
return $this->refresh(); | return $this->refresh(); | ||||
if ($model->load(Yii::$app->request->post())) { | if ($model->load(Yii::$app->request->post())) { | ||||
if ($user = $model->signup()) { | if ($user = $model->signup()) { | ||||
if (Yii::$app->getUser()->login($user)) { | if (Yii::$app->getUser()->login($user)) { | ||||
//return $this->goHome(); | |||||
$etablissement = null ; | |||||
if($model->id_etablissement) | |||||
{ | |||||
$etablissement = Etablissement::findOne($model->id_etablissement) ; | |||||
} | |||||
Yii::$app->mailer->compose( | |||||
[ | |||||
'html' => 'signup-html', | |||||
'text' => 'signup-text' | |||||
], | |||||
[ | |||||
'user' => $user, | |||||
'etablissement' => $etablissement | |||||
]) | |||||
->setTo($user->email) | |||||
->setFrom([Yii::$app->params['adminEmail'] => 'La boîte à pain']) | |||||
->setSubject('[La boîte à pain] Inscription') | |||||
->send(); | |||||
$this->redirect(['commande/index']) ; | $this->redirect(['commande/index']) ; | ||||
} | } | ||||
} | } |
public function sendEmail($email) | public function sendEmail($email) | ||||
{ | { | ||||
return Yii::$app->mailer->compose() | |||||
return Yii::$app->mailer->compose([ | |||||
'html' => 'contact-html', | |||||
'text' => 'contact-text'], | |||||
[ 'content' => $this->body, | |||||
'nom' => $this->name | |||||
]) | |||||
->setTo($email) | ->setTo($email) | ||||
->setFrom([$this->email => $this->name]) | ->setFrom([$this->email => $this->name]) | ||||
->setSubject($this->subject) | |||||
->setTextBody($this->body) | |||||
->setSubject('[La boîte à pain] Contact : '.$this->subject) | |||||
->send(); | ->send(); | ||||
} | } | ||||
} | } |
$user->setPassword($this->password); | $user->setPassword($this->password); | ||||
$user->generateAuthKey(); | $user->generateAuthKey(); | ||||
if ($user->save()) { | if ($user->save()) { | ||||
// envoi d'un mail de confirmation | |||||
/*$message = "Bonjour, | |||||
Votre inscription sur le site de la boîte à pain a bien été prise en compte ! | |||||
Ce compte vous permet de passer vos commandes directement sur le site internet. | |||||
Si vous avez des questions, n'hésitez pas à me contacter. | |||||
À bientôt, | |||||
Guillaume" ; | |||||
Yii::$app->mailer->compose() | |||||
->setTo($user->email) | |||||
->setFrom(['contact@laboiteapain.net' => 'Guillaume Bourgeois']) | |||||
->setSubject("Votre inscription sur la boîte à pain") | |||||
->setTextBody($message) | |||||
->send();*/ | |||||
// on ajoute la boulangerie sélectionnée par l'user en favoris | // on ajoute la boulangerie sélectionnée par l'user en favoris | ||||
if($this->option_client_boulanger == 'client') | if($this->option_client_boulanger == 'client') |