Integrate email to registration

parent 25bc7081
......@@ -6,6 +6,7 @@ use Yii;
use common\components\AdminController;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\web\UploadedFile;
use common\modules\school\models\Lessons;
use common\modules\school\models\SearchLessons;
......@@ -61,7 +62,19 @@ class LessonsAdminController extends AdminController
'Добавить урок'
];
if ($model->load(Yii::$app->request->post()) && $model->save()){
$model->load(Yii::$app->request->post());
$model->filesUpload = UploadedFile::getInstances($model, 'filesUpload');
if (Yii::$app->request->isPost && $model->validate())
{
if($model->filesUpload)
{
$model->upload();
$model->filesUpload = null;
}
$model->save();
return $this->redirect(['manage']);
}
else
......@@ -83,7 +96,24 @@ class LessonsAdminController extends AdminController
];
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->load(Yii::$app->request->post());
$model->filesUpload = UploadedFile::getInstances($model, 'filesUpload');
if (Yii::$app->request->isPost && $model->validate())
{
if($model->filesUpload)
{
if($model->files)
{
$model->deleteFiles();
}
$model->upload();
$model->filesUpload = null;
}
$model->save();
return $this->redirect(['manage']);
}
else
......
<?php
use yii\helpers\ArrayHelper;
use kartik\file\FileInput;
use common\modules\school\models\Courses;
$image = "<div class='file-widget'>".FileInput::widget([
'model' => $model,
'attribute' => 'filesUpload[]',
'language' => 'en',
'options' => ['multiple' => true],
'pluginOptions' => ['showUpload' => false,
'overwriteInitial'=>true]
])."</div>";
$elements = [
'title' => ['type' => 'text'],
'video_id' => ['type' => 'text'],
......@@ -12,6 +22,7 @@ $elements = [
'items' => ArrayHelper::map(Courses::find()->all(), 'id', 'title'),
],
'number' => ['type' => 'text'],
'image' => $image,
];
return [
......
......@@ -5,6 +5,7 @@ namespace common\modules\school\models;
use common\modules\school\components\Utilities;
use common\modules\school\models\Courses;
use common\modules\school\models\LessonImage;
/**
* This is the model class for table "testings_questions_image".
......@@ -60,6 +61,7 @@ class Lessons extends \common\components\ActiveRecordModel
'video_id' => 'Код видео',
'course_id' => 'Курс',
'number' => 'Номер урока',
'filesUpload' => 'Документы'
];
}
......@@ -128,7 +130,7 @@ class Lessons extends \common\components\ActiveRecordModel
$filename = date('dmYHis-') . uniqid() . '.' . $file->extension;
$file->saveAs($this->getPath() . $filename);
$image = new LessonImage;
$image = new LessonImage();
$image->lesson_id = $this->id;
$image->filename = $filename;
$image->save();
......
......@@ -4,6 +4,7 @@ namespace common\modules\users\controllers;
use Yii;
use common\modules\users\models\User;
use \common\modules\rbac\models\AuthAssignment;
use common\modules\messageTemplate\models\MessageTemplate;
class UserController extends \common\components\BaseController {
const ERROR_PASSWORD_RECOVER_AUTH = 'Вы не можете восстановить пароль будучи авторизованным!';
......@@ -130,13 +131,19 @@ class UserController extends \common\components\BaseController {
$assignment->user_id = $model->id;
$assignment->save();
$linkActivate = Yii::$app->params['frontUrl'].'/activate/'.$model->activate_code;
/*$linkActivate = Yii::$app->params['frontUrl'].'/activate/'.$model->activate_code;
$subject = 'Регистрация на сайте '.Yii::$app->params['frontUrl'];
Yii::$app->mailer->compose('activate', ['link' => Yii::$app->params['frontUrl'], 'linkActivate' => $linkActivate])
->setFrom(Yii::$app->params['adminEmail'])
->setTo($model->email)
->setSubject($subject)
->send();
->send(); */
$params = [];
$params['link_activate'] = Yii::$app->params['frontUrl'].'/activate/'.$model->activate_code;
$params['link'] = Yii::$app->params['frontUrl'];
$templateModel = MessageTemplate::findOne(['name' => 'Регистрация на сайте']);
echo '<pre>'; die(var_dump($templateModel->id)); echo '</pre>';
$model->afterRegistration($templateModel->id, $params);
echo json_encode(array('success'=>true));
}
......
......@@ -548,13 +548,13 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
/**
* @param $template_id
*/
public function afterRegistration($template_id){
public function afterRegistration($template_id, $params){
/** @var \DateTime $time_now */
$time_now=new \DateTime();
/** @var MessageTemplate $templateModel */
$templateModel = MessageTemplate::findOne($template_id);
/** @var Templates $template */
$template = new Templates($template_id, ['user_fio' => $this->fio]);
$template = new Templates($template_id, $params);
$email = $this->email;
$sender = new UnisenderAPI();
// Create the send list
......@@ -565,7 +565,7 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
// Subscribe user to new List
$sender->subscribe(['list_ids' => $newListId, 'fields[email]' => $email, 'double_optin' => 1]);
// Create new message
$newMessage=$sender->createEmailMessage($this->fio, $email, $templateModel->subject, $template->getTemplate(), $newListId);
$newMessage=$sender->createEmailMessage($this->name, $email, $templateModel->subject, $template->getTemplate(), $newListId);
// Decode result
$newMessageObject=Json::decode($newMessage);
if (array_key_exists('result', $newMessageObject) && array_key_exists('message_id', $newMessageObject['result'])) {
......
<?php
use yii\db\Migration;
class m160218_180232_add_registration_template extends Migration
{
public function safeUp()
{
$this->insert('message_template', [
'name' => 'Регистрация на сайте',
'template' => 'Вы получили это письмо, потому что ваш адрес был указан при регистрации нового логина на сайте {link}. Чтобы завершить регистрацию, пройдите по ссылке: <a href="{activate_link}"> {activate_link} </a>',
'subject' => 'Регистрация на сайте',
'created_at' =>date('Y-m-d H:i:s')
]);
}
public function safeDown()
{
$this->delete('message_template', ['name' => 'Регистрация на сайте']);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment