#958 - Активировать формы обратной связи на сайте.

parent 2e0d32c1
......@@ -119,16 +119,16 @@ class Bid extends \common\components\ActiveRecordModel
try
{
$session = null;
if(Yii::$app->session->has('Session'))
if(Yii::$app->session->has('SessionId'))
{
$session = Session::findOne(Yii::$app->session->get('Session'));
$session = Session::findOne(Yii::$app->session->get('SessionId'));
}
$email = Settings::getValue('bids-support-email');
$message = Yii::$app->controller->view->render('@common/modules/bids/views/bid/mail-all', [
'model' => $this,
'session' => $session
'session' => $session,
]);
$headers = "MIME-Version: 1.0\r\n".
......
......@@ -24,10 +24,28 @@ Email: <?=$model->email?><br>
Дата добавления заявки: <?=date('d.m.Y H:i:s', $model->created_at)?><br>
<?php if($session) : ?>
Реферер: <?=$session->referer?><br>
<hr>
<?php if($session->utmUrls) : ?>
<h2>UTM:</h2>
<?php foreach ($session->utmUrls as $url) :
$params = $url->parseUrl(); ?>
<p>
<strong>Дата посещения:</strong> <?=date('d.m.Y H:i:s', $url->created_at)?> <br>
<strong>Время пребывания на посадочной странице:</strong> <?=date('H:i:s', mktime(0, 0, $url->time))?> <br>
Источники: <?=$params['utm_source']?> <br>
Маркетинговые каналы: <?=$params['utm_medium']?> <br>
Ключевое слово в компании: <?=$params['utm_term']?> <br>
Компания : <?=$params['campaign_id']?> <br>
</p>
<?php endforeach; ?>
Заявка отправлена со страницы: <?=$session->url?><br>
<?php endif; ?>
<?php endif; ?>
\ No newline at end of file
......@@ -54,6 +54,7 @@ class DefaultController extends BaseController
$sUrl->session_id = $session->id;
$sUrl->url = $url;
$sUrl->referer = $referer;
$sUrl->utm = $sUrl->isUtm();
$sUrl->save();
......
......@@ -49,6 +49,9 @@ class SearchSession extends Session
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => [
'defaultOrder' => ['created_at' => SORT_DESC]
]
]);
$this->load($params);
......
......@@ -51,6 +51,9 @@ class SearchSessionUrl extends SessionUrl
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => [
'defaultOrder' => ['created_at' => SORT_DESC]
]
]);
$this->load($params);
......
......@@ -92,4 +92,12 @@ class Session extends \common\components\ActiveRecordModel
{
return $this->hasMany(SessionUrl::className(), ['session_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getUtmUrls()
{
return $this->hasMany(SessionUrl::className(), ['session_id' => 'id'])->where(['utm' => 1]);
}
}
......@@ -40,7 +40,7 @@ class SessionUrl extends \common\components\ActiveRecordModel
{
return [
[['session_id'], 'required'],
[['session_id', 'created_at', 'updated_at'], 'integer'],
[['session_id', 'created_at', 'updated_at', 'utm'], 'integer'],
[['url', 'referer'], 'string'],
[['session_id'], 'exist', 'skipOnError' => true, 'targetClass' => Session::className(), 'targetAttribute' => ['session_id' => 'id']],
];
......@@ -74,4 +74,23 @@ class SessionUrl extends \common\components\ActiveRecordModel
{
return $this->updated_at - $this->created_at;
}
public function parseUrl()
{
parse_str(parse_url($this->url, PHP_URL_QUERY), $params);
return $params;
}
public function isUtm()
{
$params = $this->parseUrl();
if(isset($params['utm_source']))
{
return 1;
}
return 0;
}
}
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160301_055203_fix_sessions extends Migration
{
// Use safeUp/safeDown to run migration code within a transaction
public function safeUp()
{
$this->addColumn('sessions_url', 'utm', Schema::TYPE_INTEGER.'(1) NOT NULL DEFAULT 0 AFTER referer');
}
public function safeDown()
{
$this->dropColumn('sessions_url', 'utm');
}
}
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