$message->send(); | $message->send(); | ||||
} | } | ||||
public function sendAdmin(string $subject, string $view, array $params = []) | |||||
public function sendAdmin(string $subject, string $view, array $params = [], string $replyTo = null) | |||||
{ | { | ||||
$message = $this->composeBase(\Yii::$app->parameterBag->get('adminEmail'), $view, $params); | $message = $this->composeBase(\Yii::$app->parameterBag->get('adminEmail'), $view, $params); | ||||
if($replyTo) { | |||||
$message->setReplyTo($replyTo); | |||||
} | |||||
$this->initMessageFromSite($message, $subject); | $this->initMessageFromSite($message, $subject); | ||||
$message->send(); | $message->send(); | ||||
} | } |
return null; | return null; | ||||
} | } | ||||
public function isCurrentGuest(): bool | |||||
{ | |||||
return \Yii::$app->user->isGuest; | |||||
} | |||||
/** | /** | ||||
* Retourne si l'utilisateur courant est connecté ou non. | * Retourne si l'utilisateur courant est connecté ou non. | ||||
* | * |
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\helpers\Html; | |||||
?> | |||||
<p>Un nouvel avis vient d'être envoyé par <em><?= Html::encode($username) ?></em> :</p><br /> | |||||
<div> | |||||
<?= Html::encode($message) ?> | |||||
</div> | |||||
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\helpers\Html; | |||||
?> | |||||
Un nouvel avis vient d'être envoyé par <?= Html::encode($username) ?> : | |||||
<?= Html::encode($message) ?> | |||||
namespace frontend\controllers; | namespace frontend\controllers; | ||||
use common\helpers\GlobalParam; | use common\helpers\GlobalParam; | ||||
use frontend\forms\OpinionForm; | |||||
use frontend\forms\ProducerCodeForm; | use frontend\forms\ProducerCodeForm; | ||||
use GuzzleHttp\Client; | use GuzzleHttp\Client; | ||||
use Yii; | use Yii; | ||||
public function actionContact() | public function actionContact() | ||||
{ | { | ||||
$model = new ContactForm(); | $model = new ContactForm(); | ||||
$messageSent = false; | |||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) { | if ($model->load(Yii::$app->request->post()) && $model->validate()) { | ||||
if ($model->sendEmail(Yii::$app->parameterBag->get('adminEmail'))) { | |||||
$this->setFlash('success', 'Votre message a bien été envoyé. Nous vous répondrons dès que possible.'); | |||||
} | |||||
else { | |||||
$this->setFlash('error', 'Il y a eu une erreur lors de l\'envoi de votre message.'); | |||||
} | |||||
return $this->refresh(); | |||||
} | |||||
else { | |||||
return $this->render('contact', [ | |||||
'model' => $model, | |||||
]); | |||||
$model->sendEmail(Yii::$app->parameterBag->get('adminEmail')); | |||||
$messageSent = true; | |||||
} | } | ||||
return $this->render('contact', [ | |||||
'model' => $model, | |||||
'messageSent' => $messageSent, | |||||
]); | |||||
} | } | ||||
/** | /** | ||||
]); | ]); | ||||
} | } | ||||
public function actionOpinion() | |||||
{ | |||||
$userManager = $this->getUserManager(); | |||||
$userCurrent = $this->getUserCurrent(); | |||||
$model = new OpinionForm(); | |||||
$opinionSent = false; | |||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) { | |||||
// @TODO : placer l'envoi de l'email dans un service dédié | |||||
\Yii::$app->mailerService->sendAdmin( | |||||
'Nouvel avis', | |||||
'newOpinionAdmin', | |||||
[ | |||||
'username' => $userCurrent ? $userManager->getUsername($userCurrent) : $model->name, | |||||
'message' => $model->message, | |||||
], | |||||
$userCurrent ? $userCurrent->email : $model->email | |||||
); | |||||
$opinionSent = true; | |||||
} | |||||
return $this->render('opinion', [ | |||||
'model' => $model, | |||||
'opinionSent' => $opinionSent | |||||
]); | |||||
} | |||||
/** | /** | ||||
* Affiche les mentions légales. | * Affiche les mentions légales. | ||||
*/ | */ |
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
namespace frontend\forms; | |||||
use common\logic\User\User\Wrapper\UserManager; | |||||
use Yii; | |||||
use yii\base\Model; | |||||
/** | |||||
* ContactForm is the model behind the contact form. | |||||
*/ | |||||
class OpinionForm extends Model | |||||
{ | |||||
public $name; | |||||
public $email; | |||||
public $message; | |||||
public $verifyCode; | |||||
public $isTest; | |||||
/** | |||||
* @inheritdoc | |||||
*/ | |||||
public function rules() | |||||
{ | |||||
$userManager = UserManager::getInstance(); | |||||
return [ | |||||
[['message'], 'required', 'message' => 'Champs obligatoire'], | |||||
[['name', 'email'], 'required', 'message' => 'Champs obligatoire', 'when' => function($model) use($userManager) { | |||||
return $userManager->isCurrentGuest(); | |||||
}], | |||||
['email', 'email', 'message' => 'Email incorrect'], | |||||
['isTest', 'string'], | |||||
['verifyCode', 'captcha', 'message' => 'Veuillez recopier le code de vérification', 'when' => function($model) use($userManager) { | |||||
return $model->isTest != 'isTest' && $userManager->isCurrentGuest(); | |||||
}], | |||||
]; | |||||
} | |||||
/** | |||||
* @inheritdoc | |||||
*/ | |||||
public function attributeLabels() | |||||
{ | |||||
return [ | |||||
'name' => 'Nom', | |||||
'email' => 'Email', | |||||
'message' => 'Message', | |||||
'verifyCode' => 'Code de vérification', | |||||
]; | |||||
} | |||||
} |
<footer id="footer"> | <footer id="footer"> | ||||
<div class="container"> | <div class="container"> | ||||
<a href="<?php echo $this->getUrlManager()->createUrl('site/service'); ?>">Fonctionnalités, services & tarifs</a> <span class="bull">•</span> | <a href="<?php echo $this->getUrlManager()->createUrl('site/service'); ?>">Fonctionnalités, services & tarifs</a> <span class="bull">•</span> | ||||
<a href="<?php echo $this->getUrlManager()->createUrl('site/opinion'); ?>">Avis & suggestions</a> <span class="bull">•</span> | |||||
<a href="<?php echo $this->getUrlManager()->createUrl('site/mentions'); ?>">Mentions légales</a> <span class="bull">•</span> | <a href="<?php echo $this->getUrlManager()->createUrl('site/mentions'); ?>">Mentions légales</a> <span class="bull">•</span> | ||||
<a href="<?php echo $this->getUrlManager()->createUrl('site/cgv'); ?>">Conditions générales de service</a> <span class="bull">•</span> | <a href="<?php echo $this->getUrlManager()->createUrl('site/cgv'); ?>">Conditions générales de service</a> <span class="bull">•</span> | ||||
<a href="<?php echo $this->getUrlManager()->createUrl('site/source-code'); ?>">Code source</a> | <a href="<?php echo $this->getUrlManager()->createUrl('site/source-code'); ?>">Code source</a> |
$this->setTitle('Contact'); | $this->setTitle('Contact'); | ||||
$this->setIcon('envelope'); | $this->setIcon('envelope'); | ||||
$this->setMeta('description', 'Pour toute remarque ou demande d\'information, nous vous proposons d\'utiliser ce formulaire de contact.') ; | |||||
$this->setMeta('description', 'Pour toute demande d\'information, nous vous proposons d\'utiliser ce formulaire de contact.') ; | |||||
$this->params['breadcrumbs'][] = $this->title; | $this->params['breadcrumbs'][] = $this->title; | ||||
?> | ?> | ||||
<div class="site-contact"> | <div class="site-contact"> | ||||
<div class="row"> | <div class="row"> | ||||
<div class="col-lg-5"> | |||||
<div class="alert alert-info"> | |||||
Ce formulaire de contact vous permet de joindre le développeur de la plateforme Opendistrib. | |||||
Si vous souhaitez joindre un producteur, merci de le faire directement depuis son espace producteur. | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-body"> | |||||
<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?> | |||||
<?= $form->field($model, 'name') ?> | |||||
<?= $form->field($model, 'email') ?> | |||||
<?= $form->field($model, 'subject') ?> | |||||
<?= $form->field($model, 'body')->textArea(['rows' => 6]) ?> | |||||
<?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [ | |||||
'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>', | |||||
]) ?> | |||||
<?= $form->field($model, 'isTest')->hiddenInput() ?> | |||||
<div class="form-group submit"> | |||||
<?= Html::submitButton('Envoyer', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?> | |||||
<div class="col-lg-6"> | |||||
<?php if($messageSent): ?> | |||||
<div class="alert alert-success text-center"> | |||||
Merci pour votre message, je vous réponds dès que possible. | |||||
</div> | |||||
<?php else: ?> | |||||
<div class="alert alert-warning"> | |||||
Ce formulaire de contact vous permet de joindre le développeur de la plateforme Opendistrib. | |||||
Si vous souhaitez joindre un producteur, merci de le faire directement depuis son espace producteur. | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-body"> | |||||
<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?> | |||||
<?= $form->field($model, 'name') ?> | |||||
<?= $form->field($model, 'email') ?> | |||||
<?= $form->field($model, 'subject') ?> | |||||
<?= $form->field($model, 'body')->textArea(['rows' => 6]) ?> | |||||
<?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [ | |||||
'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>', | |||||
]) ?> | |||||
<?= $form->field($model, 'isTest')->hiddenInput() ?> | |||||
<div class="form-group submit"> | |||||
<?= Html::submitButton('Envoyer', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?> | |||||
</div> | |||||
<?php ActiveForm::end(); ?> | |||||
</div> | </div> | ||||
<?php ActiveForm::end(); ?> | |||||
</div> | </div> | ||||
</div> | |||||
<?php endif; ?> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\helpers\Html; | |||||
use yii\bootstrap\ActiveForm; | |||||
use yii\captcha\Captcha; | |||||
/* @var $this yii\web\View */ | |||||
/* @var $form yii\bootstrap\ActiveForm */ | |||||
$this->setTitle('Avis & suggestions'); | |||||
$this->setIcon('star'); | |||||
//$this->setMeta('description', '') ; | |||||
$this->params['breadcrumbs'][] = $this->title; | |||||
?> | |||||
<div class="site-opinion"> | |||||
<div class="row"> | |||||
<div class="col-lg-6"> | |||||
<?php if($opinionSent): ?> | |||||
<div class="alert alert-success text-center"> | |||||
Merci pour votre participation, je vous fais un retour dès que possible. | |||||
</div> | |||||
<?php else: ?> | |||||
<div class="alert alert-warning"> | |||||
Vous pouvez utiliser ce formulaire pour m'envoyer toutes vos remarques et suggestions d'amélioration. | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-body"> | |||||
<?php $form = ActiveForm::begin(['id' => 'opinion-form']); ?> | |||||
<?php if (Yii::$app->user->isGuest): ?> | |||||
<?= $form->field($model, 'name') ?> | |||||
<?= $form->field($model, 'email') ?> | |||||
<?php endif; ?> | |||||
<?= $form->field($model, 'message')->textArea(['rows' => 6]) ?> | |||||
<?php if (Yii::$app->user->isGuest): ?> | |||||
<?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [ | |||||
'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>', | |||||
]) ?> | |||||
<?php endif; ?> | |||||
<?= $form->field($model, 'isTest')->hiddenInput() ?> | |||||
<div class="form-group submit"> | |||||
<?= Html::submitButton('Envoyer', ['class' => 'btn btn-primary', 'name' => 'opinion-button']) ?> | |||||
</div> | |||||
<?php ActiveForm::end(); ?> | |||||
</div> | |||||
</div> | |||||
<?php endif; ?> | |||||
</div> | |||||
</div> | |||||
</div> |
} | } | ||||
/* line 1395, ../sass/screen.scss */ | /* line 1395, ../sass/screen.scss */ | ||||
.site-contact .col-lg-5 { | |||||
.site-contact .col-lg-6 { | |||||
margin: 0px auto; | margin: 0px auto; | ||||
float: none; | float: none; | ||||
} | } | ||||
text-align: center; | text-align: center; | ||||
} | } | ||||
/* line 1407, ../sass/screen.scss */ | |||||
/* line 1406, ../sass/screen.scss */ | |||||
.site-opinion .col-lg-6 { | |||||
margin: 0px auto; | |||||
float: none; | |||||
} | |||||
/* line 1411, ../sass/screen.scss */ | |||||
.site-opinion .field-opinionform-istest { | |||||
display: none; | |||||
} | |||||
/* line 1415, ../sass/screen.scss */ | |||||
.site-opinion .form-group.submit { | |||||
text-align: center; | |||||
} | |||||
/* line 1422, ../sass/screen.scss */ | |||||
#site-prices .panel p { | #site-prices .panel p { | ||||
padding-bottom: 0px; | padding-bottom: 0px; | ||||
} | } | ||||
/* line 1414, ../sass/screen.scss */ | |||||
/* line 1429, ../sass/screen.scss */ | |||||
#contact-form .field-contactform-istest { | #contact-form .field-contactform-istest { | ||||
display: none; | display: none; | ||||
} | } |
} | } | ||||
.site-contact { | .site-contact { | ||||
.col-lg-5 { | |||||
.col-lg-6 { | |||||
margin: 0px auto; | margin: 0px auto; | ||||
float: none; | float: none; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
.site-opinion { | |||||
.col-lg-6 { | |||||
margin: 0px auto; | |||||
float: none; | |||||
} | |||||
.field-opinionform-istest { | |||||
display: none; | |||||
} | |||||
.form-group.submit { | |||||
text-align: center; | |||||
} | |||||
} | |||||
#site-prices { | #site-prices { | ||||
.panel { | .panel { | ||||
p { | p { |
<footer id="footer" class="container"> | <footer id="footer" class="container"> | ||||
<div class="content"> | <div class="content"> | ||||
<a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index']); ?>">Opendistrib</a> • | <a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index']); ?>">Opendistrib</a> • | ||||
<a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/opinion']); ?>">Avis & suggestions</a> • | |||||
<a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/mentions']); ?>">Mentions | <a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/mentions']); ?>">Mentions | ||||
légales</a> • | légales</a> • | ||||
<a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/cgv']); ?>">CGS</a> • | <a href="<?php echo \Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/cgv']); ?>">CGS</a> • |